[sdiy] variable midi shuffle?

WeAreAs1 at aol.com WeAreAs1 at aol.com
Tue Nov 1 03:28:58 CET 2005


In a message dated 10/31/05 5:36:26 PM, richard at skydancer.com writes:

<< Impossible. MIDI is 24 ppqn, so the only way to do it would be to do 
something bizarre like send tight groups of 12 clocks for on/off beats. And 
90% of MIDI hardware would be totally confused by that. >>

Not impossible in the strictest sense of the word, but probably impossible in 
a practical sense, which is what I think you mean.  You're right about how it 
might be done (sending clusters of clocks grouped close together, followed by 
"normal" clocks, followed by more clusters, etc.)  Many MIDI devices may not 
react so very well to this kind of schizophrenic data stream, even if it is in 
fact "legal MIDI".  It would be interesting, however, to try to implement 
such a thing with DIN Sync.  DIN Sync would likely be a lot more forgiving about 
an unsteady stream of clock pulses, at least on devices that use the clock 
pulses to directly increment hardware counters.

Even still, you certainly wouldn't have much resolution of variable swing 
adjustment, because you'd still be dealing with the rather coarse resolution of 
DIN Sync.  I mean, a 16th note triplet takes up 4 DIN Sync (or MIDI sync, for 
that matter) clock pulses and a straight 16th takes up 6 DIN/MIDI pulses, so 
you really don't have much room for variation in a 16th-based swing groove, such 
as is found in much hip-hop music.  1/8th swing (typical "jazz" swing) would 
give you a little more wiggle room for swing variation, since 1/8th triplets 
take up 8 clock pulses, and straight 1/8ths take up 12 pulses.

I'm still mulling over Mike Burnham's earlier question about getting swing 
out of a straight 1 pulse per note clock, such as we might use on a traditional 
analog sequencer (his post was titled "shuffle cmos", a few days ago).  I 
think it may actually be possible (using a non-square pulse wave and some logic 
and timing stuff), but I haven't yet worked out the electronic details.  Such a 
system would have the advantage of almost infinitely variable swing amount -- 
it could even swing ahead or behind the beat (up to a point), and you could 
adjust the swing on the fly, just like you might adjust VCO Pulse Width on the 
fly.  In fact, you would need to use a clock that had variable pulse width -- 
probably some kind of sawtooth-based VCO with a variable pulse 
comparator/waveshaper, such as is found in most synth VCO's.  But how to get two 
positive-going pulses out of each cycle?  That is, the first positive clock pulse happens 
at the positive onset of the cycle, and the second positive clock pulse 
happening at the negative-going edge of the pulse cycle...?

Mike B.




More information about the Synth-diy mailing list