Someone wrote...
Wired midi is
a balanced current loop running at 19.2kbps.
Not 19.2. It's high but not insanely high, somewhere in the low tens
of kbps I think. However, I'm quite sure it's not one of the usual
serial-port speeds, which rules out 19.2 kbaud.
Yeah, I didn't think it was
19.2k....
It's also *opto-isolated* current loop.
That
I remembered, from when I built my own 1-midi-in-8-midi-out box to plug
into my original creative labs soundblaster.
I've never liked MIDI, because it has no way to
send a bunch of
messages to set a bunch of notes up and then trigger them all at once.
You have to simply depend on its being fast enough that the ear can't
hear the delay....
Well, MIDI is really designed for real-time performance data,
not what you
describe. But what you are talking about isn't a fault of MIDI. It is a
fault of the midi instrument you are talking to. I can think of two ways to
accomplish what you mention.
1) If by "a bunch of notes" you mean a single chord, this is certainly
possible but it's a function of the instrument, not midi. For example, the
Oberheim Xk has a chord mode where you play a chord, then hit the chord
button which sets the notes in memory (and silences the chord). Then a
single keypress repeats that chord (and keys above/below play the chord
transposed the corresponding number of halfsteps). I do not know if the Xk
supports setting the notes in the chord via SysEx, but THAT is the way you
would do it. Set the chord via SysEX and then trigger via midi.
2) If by "a bunch of notes" you mean a sequence of notes and/or chords, sure
you can do this, if the midi device has a sequencer built in to it, many
synths with keyboard controllers do. They will take an external command via
SysEx or midi or several other methods to begin the playback sequence.
Blaming Midi for what you describe is somewhat like blaming TCP/IP for
communicating arithmetic precision errors the processor made to your telnet
session ;)
And with that, I will apologize for going so far off topic!
Jay West