[sdiy] Top Octave Generator (was Chinese MG-1s??!?)
Veronica Merryfield
veronica.merryfield at shaw.ca
Wed Apr 30 23:08:36 CEST 2008
On 30-Apr-08, at 10:57 AM, Eric Brombaugh wrote:
> Veronica Merryfield wrote:
>
>> The way to make this work is not to have 12 dividers but to use a
>> rolling scheduler.
>
> Very nice approach.
>
>> A little intelligence will be needed to handle events that come
>> close together.
>
> You said a mouthful there. Traversing the queue to schedule the next
> instance of the current edge, then fetching the top of the queue to
> set the timer for the next event is probably going to eat up enough
> time to make event crowding a very real issue. A fun problem for
> someone. :)
Since the event set is limited, or perhaps I should say very well
defined, and although I know there will be occasions where thing will
get congested, I think it would work, The queue is a simpler problem
than most queues, again it is limited and well defined, and I think
there are a number of optimization opportunities.
Also, the description queue here does not mean a linked list. For
instance, if the event structures had an extra field that is a next
index, the events could be an array of structures and a single
'next_index' variable. The rejigging of the queue is about changing
the times, the next index fields and the next_index. At the times
where it gets congested, the event edges might be off by a few clocks
but that should be no real issue and could add to the character or
effect :) If you wanted to ensure the errors didn't accumulate, you
can correct for delayed events, again, that happens in ECUs.
More information about the Synth-diy
mailing list