From: David Olofson <david(a)olofson.net>
These issues seem orthogonal to me. Addressing
individual notes is just a
matter of providing some more information. You could think of it as MIDI
using
note pitch as an "implicit" note/voice ID. NoteOff uses pitch to
"address"
notes - and so does Poly Pressure, BTW!
Not exactly note-pitch. That's a common simplification/myth.
MIDI uses 'key-number'. E.g. key number 12 is *usually* tuned to C0, but is
easily re-tuned to C1, two keys can be tuned to the same pitch yet still be
addressed independently.
It's a common shortcut to say MIDI-key-number 'is the pitch', it's
actually
an index into a table of pitches. Synths can switch that tuning table to
handle other scales.
A MIDI note-on causes a synth to allocate a physical voice. That physical
voice is temporarily mapped to that MIDI-key-number so that subsequent note
control is directed to that voice. The mapping is temporary. Once the note
is done the mapping is erased. Playing the same key later will likely
allocate a different physical voice.
The MIDI-key-number is therefore an 'ID' mapping a control-source to a
physical-voice.
Anyway, what I do in that aforementioned prototyping
thing is pretty much
what
was once discussed for the XAP plugin API; I'm using explicit "virtual
voice
IDs", rather than (ab)using pitch or some other control values to keep
track of notes.
I agree that addressing notes unambiguously regardless of pitch (or any
other arbitrary property) is the ideal. I wish more sequencers were not
locked into a narrow 'western pop music' mode of operation.
But many MIDI alternatives have been proposed without looking deeply
enough to realise that MIDI already supports very flexible note control.
MIDI's significant flaw is it's grossly outdated 7-bit resolution, the
underlying voice model is sound.
Virtual voices are used by the "sender" to
define and
address contexts, whereas the actual management of physical voices is done
on the receiving end.
You have re-invented MIDI with different nomenclature ;-).
Best Regards,
Jeff McClintock