I think you know the
Wikipedia MIDI page?
There is a lot of information. Maybe too much and partially too technical.
Some numbers are written hexadecimal, you can convert them with an
online tool.
Basics:
MIDI knows three event types with
3-digit syntax (Channel/Number/Value):
| Channel | Number | Value | (Example) |
---|
Note | 1-16 | 0-127 | 0-127 | (1 61 23) Channel 1, Note C#3, Velocity 23. |
Control Change | 1-16 | 0-127 | 0-127 | (5 2 46) Channel 5, Number 2, Value 46. |
Polyphonic Aftertouch | 1-16 | 0-127 | 0-127 | (1 61 77) Channel 1, Aftertouch for Note C#3, Value 77. |
And three event types with
2-digit syntax (Channel/Value):
| Channel | Value | (Example) |
---|
Program Change | 1-16 | 0-127 | (1 22) Channel 1, Program 22. |
Pitch Bend | 1-16 | 0-127 | (5 89) Channel 5, Pitchbend 89 (value 64 is neutral = no bend). |
Channel Aftertouch | 1-16 | 0-127 | (1 77) Aftertouch for all notes on Channel 1, Value 77. |
Note: The Logic MIDI Environment knows an additional proprietary event called "Fader". It exists only in Logic, is used for internal processing and control, and has the same syntax as Control Change.
With software you can transform one message into another. For messages with the same syntax this is easy, if you transform to a different syntax you lose one number or have to create one number.
RPN (Registered Parameter Number) and
NRPN (Non Registered Parameter Number) are special messages and combinations of CCs to address a large range of parameters in soft- and hardware.
Another speciality is
System Exclusive. A SysEx message is a row of numbers which can be quite long. The first digit (number 240) and the last digit (number 247) are necessary and tell start and end of the SysEx message. The numbers in between are up to the developer.
—
When you deal with MIDI, you should have the valuable Snoize
MIDI Monitor.
It shows you all events to, in and from your computer.
Some software for MIDI processing:
Logic MIDI Environment
Subtlesoft
MidiPipe (freeware to convert, filter and generate MIDI)
Plogue
Bidule (graphical programming environment for MIDI and audio)
Cycling '74
Max (graphical programming environment for MIDI, audio and video)
—
Hope this helps for a good start.