DIY box for adding shuffle to a Sync Signal
Dan Gendreau
gendreau at rochester.rr.com
Wed Dec 29 01:33:43 CET 1999
thegilmours at bigpond.com Wrote:
> Hi I have been racking my brain trying to think of how to make a sync
through
> box which would add swing to sync. It would be useful for making drum
machines
> without shuffle settings swing. It takes 6 triggers to make a drum
machine step
> to the next step. So I assume if I were to somehow split the signal so
> Sam Gilmour
I have been thinking about the same concept. Here is what I have come up
with so far...
By shuffle, I assume you mean 16th note shuffle. So every other 16th note is
either shorter or longer than the average tempo. DIN sync puts out 24ppq, or
6pulses/16th note. So for every 12 pulses, you want to be able to stretch
the first 6 and shoren the second 6.
I think the key is this: My drum machine (TR606) doesnt have resolution
higher than a 32nd note (i am ignoring triplets for now). Thats 3 pulses per
32nd note. The timing of those 3 pulses really doesnt matter, so we should
be able to convert a 24ppq signal into 8 3pulse bursts. eg:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Becomes
3 3 3 3 3 3 3 3
One possible way to acomplish this is to hook a 12 step (4 bit) counter to a
small EPROM. Every third byte is $01 which triggers a burst. I know that
sounds kindof rube goldberg-esque but its an inexpensive way to do it. To
select the shuffle amount, you use another couple of bits of the EPROM
address to select which part of the ERPOM you want and thus, what shuffle
timing you want.
So the Sync pulses could be converting into one of 3 shuffle patterns:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
This does not look like a lot of variety for shuffle options, but there are
ways to increase the resolution.
1) If you can assume the the SYNC signal has a 50% duty cycle (+ and - edges
are evenly spaced), you can trigger off both the + and - edges of the Sync
signal. This depends on your sync source. Most midi -> DIN boxes dont have
50% duty cycle because they are converting a 24ppq MIDI event. Most x0x gear
does produce a 50% duty cycle. In this case you would have a 24 step counter
and 6 shuffle settings.
eg:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
3 3 3 3 3 3 3 3
3 3 333 3 33
2) If you only want a minimum resolution of a 16th note (like the with a
TB303) you can change it to 4 bursts of 6 pulses and increase the number of
settings in the EPROM to 12.
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
6 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 6 6 6
6 66 6
One sticky issue that would have to be addressed is this: You can only
change the shuffle setting at the start of an 1/8th note(step 0). If you
change at any other time, you could add or drop extraneous sync pulses and
cause sync drift. A solution would be to use a 4 bit latch to waits for
pulse #0 before latching the shuffle setting.
Another is when the start signal comes in. We would want to preload the
counter to its highest value so it will trip over to 0 on the first incoming
pulse.
So there you have it(on paper anyway). A shuffle circuit using:
a (5bit or more) counter (with preload)
an EPROM
a 4bit latch
some glue logic to reset the counter at 12,24 or whatever. The same signal
would also trigger the 4 bit latch above.
Oh yeah, something to produce a 3 or 4 bit shuffle value. A hexadecimal
selector knob or a set of dip switches would probably work well.
Does anyone out there have experience with phase locked loops? If we could
convert the 24ppq sync signal into a 48 or 96ppq signal, this design could
be really useful!
-Dan Gendreau.
More information about the Synth-diy
mailing list