Rhythm generator

WJ Bland pmykwjb at unix.ccc.nottingham.ac.uk
Wed Apr 14 12:46:03 CEST 1999


Hello,
    I am currently building a synth with a built-in drum machine.
So far I have 16 drum sounds that are triggered by a change from
a logic 0 to a logic 1 (i.e. a change from 0 to 5 volts).

I'm now designing a rhythm generator to trigger these drum sounds.
I don't want to simply program the rhythms beat-by-beat because I
want some degree of "real time control" in the construction of my
rhythms.

The first idea I had was:
Generate a square-wave (e.g. using a 555 timer) at frequency f.
Put this through a counter to generate square-waves at frequencies
f/2, f/4, f/8, f/16, etc.  8 bit counters are widely available, giving
me all frequencies from f to f/128.
Now for each drum sound, select some of these square-waves and
perform a logic AND on them.  Use the result as the trigger for that
drum sound.
e.g.  I select f, f/4 and f/16 for the bass drum.  Take the logical
AND of these three waves and use it for the trigger line of the bass
drum (If you're having trouble following this, try drawing a graph of
the function f AND f/4 AND f/16).  The bass drum triggers whenever
this function rises from logic 0 to logic 1.

The "real time control" I refered to earlier was that in this design
I can flip the switches to modify the rhythm for each drum sound while
it is playing.

I thought this idea was pretty good... but:  I have 16 drum sounds
and 8 frequencies.  This gives 16*8=128 switches to perform the
selections.  This would make my front panel pretty crowded!

My next idea was to replace the switches by latches (i.e.  chips
that can each store one 8-bit number).  Then I would just need 8
switches to select frequencies, and 16 "store" switches
to update the latch for each drum sound.

This is a lot better than before in one way:  the front panel looks a
lot better!  Unfortunately, I now need 128 chips to store the "virtual"
switch positions.

Now I'm thinking:  why can't I replace the 128 latches by 1 static
ram?  The problem with this is that with the latches, you can see all
128*8 outputs all at the same time.  If you use 1 static ram, you can
only see one latch output at a time.

Does anyone have any ideas that will help me simplify the design of
this rhythm generator?

Thanks very much in advance,
Bill.




More information about the Synth-diy mailing list