On Fri, Jan 18, 2008 at 02:25:07PM +0100, t_w_(a)freenet.de wrote:
Fons Adriaensen wrote:
Seriously, there are three things that I
profoundly dislike in MIDI.
1. The limited precision of almost all values, 7 bits or 14 with a
kludge (but even this kludge is not available in any standard
way for e.g. individual note frequencies).
2. Note events are identified by their frequency.
3. The only thing that can actually refer back to a note on event
is it's corresponding 'note off' message. It's not possible to
send a controller value that refers to a previous note-on event.
I'm quite sure many of us would like to see this limitations go away,
including Dave. Being able to work with MIDI hardware is reason
enough to have MIDI sequencing. That doesn't rule out to have
something else, additionaly.
How about you work out a proposal? Or better yet a draft
implementation, as we all have seen how far one gets with talking ...
I guess you have the technical and musical expertise and maybe
the motivation thanks to your specific interests. Once you have
completed something, perhaps someone steps up to crticise it.
Or how about OSC?
Just to play devil's advocate, note events are identified by a note
number, and though there is a standard mapping of note numbers to
frequency, there is nothing preventing anyone from interpreting them any
other way. My drumkit performs MIDI IO quite hapily, and it's not even a
pitched instrument.
Aftertouch events can also refer to previous note on events. At least
Roland drum controllers use this to encode events such as choking a
cymbal.
Ultimately, one must consider MIDI for what it was designed to be: a
simple protocol for a keyboard to interface with a synthesiser. This it
does quite well. I'm reminded of the story of the king and the toaster:
http://www.cs.bgu.ac.il/~omri/Humor/SoftEng.html
If we were to replace MIDI with something more general and complex, it's
likely I wouldn't be able to build hardware to decode it with a PIC that
costs less than a dollar. I think interoperability would suffer, because
the functionality offered would be so vast that no device would
implement it all.
In fact, there are several "standards" for overcoming limitations such
as the 7 bit resolution of control values. I believe the reason none of
them have seen wide adoption is because there are so many ways it could
be done. For example, do you want relative values (increase cutoff
frequency by 5 Hz) or absolute values (set cutoff to 1028 Hz)? Different
devices have good reasons doing it either way. For some aplications, 14
bits is enough. For others, 4 bits would do. MIDI's simple vocabulary is
good enough only 80% of the time, but by being so simple, it also
becomes universal, and thus ultimately useful.