MIDI hardware timing devices

Marc-Julien Objois marc.objois at home.com
Tue Apr 20 01:43:05 CEST 1999


Hi there.  I'm new to the list.  I posted this message to a less 'tech'
mailing list and was informed of synth-diy.  I'm a recent Computer
Engineering graduate from the University of Alberta, and I enjoy making
a variety styles of Electronic music.  I'm interested in doing design
(I've come to love microcontroller programming in assembler and C as
well as UI design) for a living, but I haven't started dropping resumés
yet.  But enough about me...

I need to talk to some gurus...  I was just wondering how timing is
achieved in MIDI hardware.  For my step sequencer (microcontroller
project course) I used the PIT (programmable interval timer) built into
the MMC2001 microprocessor (based on Motorola's M.CORE RISC core).  The
rate of the timer was 8192 clock cycles per second.  I had it
interrupting at intervals of 32X per step, and decrementing "note off"
counters to provide a reference for turning notes off (so you can set a
gate time for a note, but the granularity is pretty big: 1/32 of a
step!)

I think that sucks...  There's got to be a better way of providing
timing.  The whole reason for using such a large granularity was because
the useful range of PIT speeds was limited.  For the faster bpm's, I was
setting the timer to values around 27, which give values like:

26: 147.7 bpm
27: 142.2 bpm
28: 137.1 bpm

So going from one PIT value to another would produce relatively large
jumps in bpm, and there was no way of setting it to accurate bpm
values.  So how is timing achieved in _real_ hardware?  What does the
A3k do to playback a sequence?  BTW, I never even _touched_ MIDI
timecode.  And active sensing?  Well, I threw that out the window before
it even got to my MIDI queue...  :)

Anyhow, anybody want to discuss this with me?  Thanks.



More information about the Synth-diy mailing list