MIDI Protocol Guide

Last updated: 04 April 2000



Contents

 


MIDI Messages

Byte Structure

The MIDI Interface operates at 31.25 k Baud (+1%) using an asynchronous serial data byte comprising 1 Start bit, 8 Data bits (0 to 7) and 1 Stop bit. This makes a total of 10 bits per serial byte with a period of 320 microseconds.

Message Structure

MIDI messages comprise a STATUS byte (bit 7 = 1) followed by DATA bytes (Bit 7 = 0). Messages are divided into two main categories: Channel and System. Channel messages contain a four bit channel number encoded into the Status byte which addresses the message specifically to one of sixteen channels. System messages are not encoded with channel numbers and are divided into three main types:System Common, System Real Time and System Exclusive.

Priority

System Real Time messages are all single bytes and may be interleaved between any other messages (including System Exclusive). Any Status byte except System Real Time may terminate a System Exclusive Block.

Running Status

For Channel messages only, the Status byte may be omitted if it would otherwise repeat the last Status byte sent. This is commonly used to reduce the length of Note On / Note Off sequences (where Note On with zero velocity is used for Note Off) or Continuous Controller movements.

Channel Messages:

Channel number
n = 0 to F
= Channels 1 to 16
Note Off 8n, kk, vv Key number, kk = 00 to 7F
3C = middle c
Note On 9n, kk, vv Velocity, vv = 01 to 7F
40 = no velocity; 00 = note off
Polyphonic Aftertouch An, kk, vv
Control Change Bn, cc, vv Control number, cc = 00 to 65
Mode Change Bn, cc, vv Control number, cc = 79 to 7F
Program Change Cn, pp Program number, pp = 00 to 7F
Channel Aftertouch Dn, vv Pressure value, vv = 00 to 7F
Pitchbend En, ll, hh ll = lsb, hh = msb
Centre = 2000h = En, 00, 40

System Common Messages:

System Exclusive Start F0, ID, ... see table for manufacturers' IDs
Quarter Frame F1, dd MIDI Time Code message dd = data
Song Position Pointer F2, ll, hh ll = lsb, hh = msb
hhll = 14 bit counter
1 count = 6 timing clocks
Song Select F3, ss Song number, ss = 00 to 7F
(undefined) F4
(undefined) F5
Tune Request F6
System Exclusive End F7 "EOX"

System Real Time Messages:

Timing Clock F8 24 clocks = 1 crotchet
Timing Tick F9 1 tick = 10 milliseconds
Start FA
Continue FB
Stop FC
(undefined) FD
Active Sensing FE
System Reset FF


MIDI Manufacturers' ID Numbers:

(* indicates that the manufacturer has ceased trading, but products using their ID exist.)

USA:

Hex Decimal Manufacturer
01 1 Sequential Circuits*
02 2 IDP
03 3 Voyetra/Octave Plateau
04 4 Moog Music
05 5 Passport Designs
06 6 Lexicon
07 7 Kurzweil
08 8 Fender
09 9 Gulbransen
0A 10 AKG Acoustics
0B 11 Voyce Music
0C 12 Waveframe *
0D 13 ADA
0E 14 Garfield Electronics *
0F 15 Ensoniq
10 16 Oberheim
11 17 Apple Computer
12 18 Grey Matter
13 19 Digidesign
14 20 Palm Tree Instruments
15 21 J L Cooper
16 22 Lowrey
17 23 Adams-Smith
18 24 E-mu Systems
19 25 Harmony Systems
1A 26 ART
1B 27 Baldwin
1C 28 Eventide
1D 29 Inventronics
1E 30 Key Concepts
1F 31 Clarity *
Hex Extended Manufacturer
00, 00, 01 Warner New Media
00, 00, 07 Digital Music Corporation
00, 00, 08 IOTA Systems
00, 00, 09 New England Digital *
00, 00, 0A Artisyn
00, 00, 0B IVL Technologies
00, 00, 0C Southern Music Systems
00, 00, 0D Lake Butler Sound Company
00, 00, 0E Alesis
00, 00, 10 DOD Electronics
00, 00, 11 Studer-Editech
00, 00, 14 Perfect Fretworks
00, 00, 15 KAT
00, 00, 16 Opcode
00, 00, 17 Rane Corporation
00, 00, 18 Spatial Sound/Anadi Inc
00, 00, 19 KMX
00, 00, 1A Allen & Heath Brenell
00, 00, 1B Peavey Electronics
00, 00, 1C 360 Systems
00, 00, 1D Spectrum Design & Development
00, 00, 1E Marquis Musi
00, 00, 1F Zeta Systems
00, 00, 20 Axxes
00, 00, 21 Orban
00, 00, 24 KTI
00, 00, 25 Breakaway Technologies
00, 00, 26 CAE
00, 00, 29 Rocktron Corp.
00, 00, 2A PianoDisc
00, 00, 2B Cannon Research Corporation
00, 00, 2D Rogers Instrument Corp.
00, 00, 2E Blue Sky Logic
00, 00, 2F Encore Electronics
00, 00, 30 Uptown
00, 00, 31 Voce
00, 00, 32 CTI Audio
00, 00, 33 S&S Research
00, 00, 34 Broderbund Software
00, 00, 35 Allen Organ Co.
00, 00, 37 Music Quest
00, 00, 38 Aphex
00, 00, 39 Gallien Krueger
00, 00, 3A IBM
00, 00, 3C Hotz Instruments Technologies
00, 00, 3D ETA Lighting
00, 00, 3E NSI Corporation
00, 00, 3F Ad Lib
00, 00, 40 Richmond Sound Design
00, 00, 41 Microsoft
00, 00, 42 The Software Toolworks
00, 00, 43 RJMG/Niche
00, 00, 44 Intone
00, 00, 47 GT Electronics/Groove Tubes
00, 00, 4E Euphonix
00, 00, 4F InterMIDI
00, 00, 55 Lone Wolf
00, 00, 64 Musonix
00, 00, 74 Ta Horng Musical Inst.
00, 00, 75 eTek (formerly Forte)
00, 00, 76 Electrovoice
00, 00, 77 Midisoft
00, 00, 78 Q-Sound Labs
00, 00, 79 Westrex
00, 00, 7A NVidia
00, 00, 7B ESS Technology
00, 00, 7C MediaTrix Peripherals
00, 00, 7D Brooktree
00, 00, 7E Otari
00, 00, 7F Key Electronics
00, 01, 01 Crystalake Multimedia
00, 01, 02 Crystal Semiconductor
00, 01, 03 Rockwell Semiconductor
00, 01, 04 Silicon Graphics
00, 01, 05 Midiman
00, 01, 06 PreSonus
00, 01, 08 Topaz Enterprises
00, 01, 09 Cast Lighting
00, 01, 0A Microsoft Consumer Division
00, 01, 0C Fast Forward Designs
00, 01, 0D Headspace (Igor's Labs)
00, 01, 0E Van Koevering Company
00, 01, 0F Altech Systems
00, 01, 10 S & S Research
00, 01, 11 VLSI Technology
00, 01, 12 Chromatic Research
00, 01, 13 Sapphire
00, 01, 14 IDRC
00, 01, 15 Justonic Tuning
00, 01, 16 TorComp Researc, Inc
00, 01, 17 Newtek Inc
00, 01, 18 Sound Sculpture
00, 01, 19 Walker Technical
00, 01, 1A PAVO
00, 01, 1B InVision Interactive
00, 01, 1C T-Square Design
00, 01, 1D, Nemesys Music Technology
00, 01, 1E, DBX Professional
00, 01, 1F, Syndyne Corporation
00, 01, 20, Bitheadz
00, 01, 21, Cakewalk Music Software
00, 01, 22, Staccato Systems
00, 01, 23, National Semiconductor
00, 01, 24, Boom Theory / Adinolfi Alternative Percussion
00, 01, 25, Virtual DSP Corporation
00, 01, 26, Antares Systems
00, 01, 27, Angel Software
00, 01, 28, St Louis Music
00, 01, 29, Lyrrus dba G-VOX

Europe:

Hex Decimal Manufacturer
20 32 Passac
21 33 SIEL
22 34 Synthaxe *
23 35 Stepp *
24 36 Hohner
25 37 Twister *
26 38 Solton
27 39 Jellinghaus *
28 40 Southworth
29 41 PPG *
2A 42 JEN
2B 43 Solid State Logic
2C 44 Audio Veritrieb
2D 45 Hinton Instruments
2E 46 Soundtracs
2F 47 Elka
30 48 Dynacord
33 51 Clavia Digital Instruments
34 52 Audio Architecture *
39 57 Soundcraft Electronics
3B 59 Wersi
3C 60 Avab Electronik
3D 61 Digigram
3E 62 Waldorf Electronics
3F 63 Quasimidi
Hex Extended Manufacturer
00, 20, 00 Dream
00, 20, 01 Strand Lighting
00, 20, 02 AMEK Systems & Controls
00, 20, 04 Dr.Bohm/Musician International
00, 20, 06 Trident
00, 20, 07 Real World Design *
00, 20, 09 Yes Technology
00, 20, 0A Audiomatica
00, 20, 0B Bontempi/Farfisa
00, 20, 0C F.B.T. Electronica
00, 20, 0D MIDITEMP
00, 20, 0E Larking Audio
00, 20, 0F Zero 88 Lighting
00, 20, 10 Micon Audio Electronics
00, 20, 11 Forefront Technology
00, 20, 13 Kenton Electronics
00, 20, 15 ADB
00, 20, 16 Jim Marshall Products
00, 20, 17 DDA
00, 20, 18 BSS Audio
00, 20, 1F TC Electronic
00, 20, 2B Medeli Electronics Co
00, 20, 2C Charlie Lab SRL
00, 20, 2D Blue Chip Music Technology
00, 20, 2E BEE OH
00, 20, 2F LG Semiconductor
00, 20, 30 TESI
00, 20, 31 Emagic
00, 20, 32 Behringer
00, 20, 33 Access
00, 20, 34 Synoptic
00, 20, 35 Hanmesoft
00, 20, 36 Terratec Electronic
00, 20, 37 Proel SpA
00, 20, 38 IBK MIDI

Japan:

Hex Decimal Manufacturer
40 64 Kawai
41 65 Roland UK | Roland US
42 66 Korg
43 67 Yamaha UK | Yamaha Japan
44 68 Casio
45 69 Moridaira
46 70 Kamiya
47 71 Akai
48 72 Japan Victor
49 73 Meisosha
4A 74 Hoshino Gakki
4B 75 Fujitsu Electric
4C 76 Sony
4D 77 Nishin Onpa
4E 78 TEAC
50 80 Matsushita Electric
51 81 Fostex
52 82 Zoom
53 83 Midori Electronics
54 84 Matsushita Communication Industrial
55 85 Suzuki Musical Instrument Mfg.
56 86 Fuji Sound Corporation Ltd.
57 87 Acoustic Technical Laboratory,Inc

Universal:

Hex Decimal Use
7D 125 Non-Commercial
7E 126 Non Real Time
7F 127 Real Time


System Exclusive Structure

Commercial F0, ID, data, F7 Manufacturer ID must be registered and data published
Non-Commercial F0, 7D, data, F7 Private use where unlikely to clash with other private use
Universal
Non-Real Time
F0, 7E, nn, sub-ID, data, F7 nn = channel number, 00 to 7F
sub-IDs:
01 = Sample Dump header
02 = Sample Dump packet
03 = Dump Request
04 = MIDI Time Code Setup
05 = Sample Dump extensions
06 = Inquiry Message
07 = File Dump
08 = MIDI Tuning Standard
09 = General MIDI Message
7B = End of File
7C = Wait
7D = Cancel
7E = NAK
7F = Ack
Universal
Real Time
F0, 7F, nn, sub-ID, data, F7 nn = channel number, 00 to 7F,
7F = global
sub-IDs:
01 = Long Form MTC
02 = MIDI Show Control
03 = Notation Information
04 = Device Control
05 = Real Time MTC Cueing
06 = MIDI Machine Control Command
07 = MIDI Machine Control Response
08 = Single Note Retune


MIDI Controller Numbers

Controllers 0 to 31 are the msb of an optionally 14 bit resolution controller, with the lsb transmitted as Controllers 32 to 63 respectively. Controllers 0 and 32 have been defined as a Bank Select that qualifies Program Changes [sic.] and both messages must always be transmitted together.

Hex Decimal Controller
00 0 Bank Select
01 1 Modulation Wheel
02 2 Breath Controller
03 3 (undefined)
04 4 Foot Controller
05 5 Portamento Time
06 6 Data Entry
07 7 Volume
08 8 Balance
09 9 (undefined)
0A 10 Pan
0B 11 Expression
0C 12 Effect Control 1
0D 13 Effect Control 2
0E 14 (undefined)
0F 15 (undefined)
10 16 General Purpose #1
11 17 General Purpose #2
12 18 General Purpose #3
13 19 General Purpose #4
14 - 1F 20 - 31 (undefined)

Controllers 64 to 95, originally defined as switches, may now also be used as 7 bit resolution controllers.

Hex Decimal Controller
40 64 Hold 1 (Sustain)
41 65 Portamento On/Off
42 66 Sostenuto
43 67 Soft Pedal
44 68 Legato Footswitch
45 69 Hold 2
46 70 Sound Controller 1 / Sound Variation
47 71 Sound Controller 2 / Timbre Content
48 72 Sound Controller 3 / Release Time
49 73 Sound Controller 4 / Attack Time
4A 74 Sound Controller 5 / Brightness
4B 75 Sound Controller 6
4C 76 Sound Controller 7
4D 77 Sound Controller 8
4E 78 Sound Controller 9
4F 79 Sound Controller 10
50 80 General Purpose #5
51 81 General Purpose #6
52 82 General Purpose #7
53 83 General Purpose #8
54 84 Portamento Control
55 - 5A 85 - 90 (undefined)
5B 91 Effect 1 / External Effects Depth
5C 92 Effect 2 / Tremelo Depth
5D 93 Effect 3 / Chorus Depth
5E 94 Effect 4 / Detune (Celeste)
5F 95 Effect 5 / Phaser Depth
60 96 Data Increment
61 97 Data Decrement
62 98 Non-Registered Parameter lsb
63 99 Non-Registered Parameter msb
64 100 Registered Parameter lsb
65 101 Registered Parameter msb
65 - 77 102 - 119 (undefined)

Channel Mode Messages

Hex Decimal
78 120 All Sound Off
data = 00
79 121 Reset All Controllers
data = 00
7A 122 Local Control
data = 00 for off, 7F for on
7B 123 All Notes Off
data = 00
7C 124 Omni Mode Off
data = 00
7D 125 Omni Mode On
data = 00
7E 126 Mono Mode On
data = number of channels
7F 127 Poly Mode On
data = 00

Mode change messages are only received on the Base Channel that an equipment is set to. Messages 124 to 127 also act as an All Notes Off message. When Omni Mode is set to on the receiver responds to all Channel Voice messages, ignoring the Channel Number.

All material on this page Copyright ©1996-1999 Hinton Instruments.
MIDIC, MIDIX, MIDIY, MIDIZ, MIDIP, VCA+ and MIDI Recall are trademarks of Hinton Instruments.
All other manufacturers' trademarks are acknowledged.