ODP: Rhythm generator
Roman Sowa
rsowa at WizjaTV.pl
Wed Apr 14 16:06:09 CEST 1999
What you refer to is not for me a 'real time control'
But anyway...Let's assume you have 8 switches for pattern
and 16 for sounds playing that pattern.
Let the memory run through 256 steps (address from 8 bit counter).
If the address ANDed through those 8 switches gives 1, write
the contents of 16 sound switches to the memory. If it gives 0,
just read the memory. The simplest way is to use two cheap RAMs
to acheive 16 bits, or use clever approach (latch and some logic)
with only one 8-bit RAM.
If it's not clear enough, mail me.
btw, by use of only div-by-2 addresses (1/2, 1/4, 1/8) you getting rid
of triplets (is it how it's called?) when 3 beats measure a quarter note.
My idea of real-time-controlled drum machine is to have a 'tap button'
for each sound, and tap it when the sound is wanted - the rythm
is playing all the time, of course. Should you want more details, don't
hesitate to ask me.
Roman
> -----Oryginalna wiadomość-----
> Od: WJ Bland [SMTP:pmykwjb at unix.ccc.nottingham.ac.uk]
> Wysłano: 14 kwietnia 1999 12:46
> Do: synth-diy
> Temat: Rhythm generator
>
>
> 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