The Anatomy of MIDI Telemetry: Notes, Velocity & Control Change
The Musical Instrument Digital Interface (MIDI) standard serializes musical performance data into high-speed digital command packets transmitted at 31,250 baud over 5-pin DIN or full-speed USB endpoints.
3-Byte MIDI Packet Structure
- Status Byte (Byte 1): Encodes the command type and MIDI channel (0–15). For example,
0x90denotes Note ON on Channel 1, while0xB0denotes Control Change (CC). - Data Byte 1 (Byte 2): Defines the note number (0–127, where 60 represents Middle C / C4) or the CC parameter ID (CC 1 = Modulation, CC 7 = Volume, CC 64 = Sustain Pedal).
- Data Byte 2 (Byte 3): Defines the strike velocity (0–127) or continuous parameter value. A Note ON with velocity 0 is treated as a Note OFF command.
Dual-Rubber Contact Keybed Mechanics
Unlike mechanical computer keyboards that use a single switch contact, velocity-sensitive MIDI keyboards (from Akai MPK, Novation Launchkey, Arturia KeyLab, and Native Instruments Komplete Kontrol) feature dual-height conductive rubber domes underneath each key. The onboard microcontroller measures the microsecond flight time between the upper contact closing and the lower contact bottoming out to calculate strike velocity.