MIDI

About MIDI

MIDI


MIDI Overview
MIDI only contaions playing information (e.g. press C key), and not contains any audio information. So you need a MIDI module or synthesizer to play MIDI data. Since Windows contains "Microsoft GS Wavetable Synth", you may use this. Additionally, the actual sound or sound quality is different in each MIDI module or synthesizer.


MIDI Message List
Here is a list of messages streaming in the MIDI cable (recently maybe the USB cable instead) which is connected between MIDI devices.

Group Name Message Array Meaning
Channel Voice Message Note Off {0x8n, 0xkk, 0xvv}
n = Channel Number (0~F)
kk = Key (00~7F)
vv = Velocity of Releasing Key (00~7F)
This message is used to stop voice of specified key. For example, when you release the key of center "C" (key=60) at velocity 100, the message {0x80, 0x60, 0x64} is sent from the keyboard to the MIDI module. If the MIDI devices which is not implemented release velocity, this event isn't used, instead of, note on with velocity 0 is used.
Note On {0x9n, 0xkk, 0xvv}
n = Channel Number (0~F)
kk = Key(00~7F)
vv = Velocity of Pressing Key (00~7F)
This message is used to start voice of specified key. However if the velocity is 0, this message means note off. For example, if you press the key of center "C" (key=60) at velocity 100, the message {0x90, 0x36, 0x64} is sent from the keyboard to the MIDI module.
Key Aftertouch {0xAn, 0xkk, 0xvv}
n = Channel Number (0~F)
kk = Key(00~7F)
vv = Pressure(00~7F)
This message is used when the pressure of the pressing key is changed after pressing the key. And this message may cause the key's volume change or brightness change, in some of MIDI module.
Control Change {0xBn, 0xNN, 0xvv}
n = Channel Number (0~F)
NN = Control Change Number (00~7F)
vv = value (00~7F)
This message is used to change Modulation(CC#1), Volume(CC#7), Pan(CC#10), Expression(CC#11), Sustin Pedal(CC#64), Reverb(CC#91), Chorus(CC#93), Delay(CC#94) and so on. Following is famous control change number and the meaning. Available control change number is depend on MIDI module, for detail, see MIDI module's documenatation.

CC#0 : Bank Select MSB
CC#1 : Modulation
CC#6 : Data Entry
CC#7 : Volume
CC#10 : Pan
CC#11 : Expression
CC#32 : Bank Select LSB
CC#64 : Hold Pedal 1
CC#91 : Reverb Send Level
CC#93 : Chorus Send Level
CC#94 : Delay Send Level
CC#98 : NRPN LSB
CC#99 : NRPN MSB
CC#100 : RPN LSB
CC#101 : RPN MSB

NRPN and RPN is used to select item to adjust when CC#6 is used. For example, to set pitch bend sensitivity 12 (+/- 1 octave), three control changes must be used, which is, CC#100 = 0, CC#101 = 0 and CC#6 = 12. Available value of NRPN and RPN is depend on MIDI module, for datail, see MIDI module's documentation.
Program Change {0xCn, 0xNN}
n = Channel Number (0~F)
NN = Program Change Number (00~7F)
This message is used to select voice (eg, piano, strings). However, at channel 10 (n=9), it may be used to select drum set. The voice list is depend on MIDI module, but in case of GM / GM2 / GS / XG MIDI module, the voice list is strictly defined. By using program change, you can select from one of 128 voices. But by using bank select MSB (CC#0) and bank select LSB (CC#32) previously, you can select from one of 2097152 voices, which is, CC#0 = MSB value, CC#32 = LSB value, and program change = NN. Available bank select MSB, bank select LSB, and program number is listed in MIDI module's documentation (Voice Name List).
Channel Aftertouch {0xDn, 0xNN}
n = Channel Number (0~F)
vv = Velocity (00~7F)
This message is sent when the pressure of the pressing key is changed after pressing the key. And this message may cause the channel's volume change or brightness change, in some of MIDI module.
Pitch Bend {0xEn, 0xMM, 0xLL}
n = Chunnel Number (0~F)
MM = Value (00~7F)
LL = Value (00~7F)
It is used to change tone frequency . The value is 0 to 8192 to 16383. But on the MIDI sequencer it is shown as -8192 to 0 to 8192. The lowest value is {0xEn, 0x00, 0x00}, the center value is {0xEn, 0x40, 0x00}, and the highest value is {0xEn, 0x7F, 0x7F}. The range of changing frequency is defined by pitch bend sensitivity. When the pitch bend sensitivity is 12 [half key], the range becomes +/- 1 octave.
System Exclusive Message   {0xF0, 0xaa, ... , 0xF7}
aa = (00~7F)
This message is used to setup MIDI module. The first byte is 0xF0 and the last byte is 0xF7, and between these bytes is filled with 0x00 to 0x07. The second byte (or the second to the fourth byte) is used as a production maker's ID. System exclusive message's meaning is depend on the MIDI module, so this message is not compatible. Following are famous system exclusive message, For datail, see each MIDI module's documentation.

GM System Off : {0xF0, 0x7E, 0x7F, 0x09, 0x02, 0xF7}
GM System On : {0xF0, 0x7E, 0x7F, 0x09, 0x01, 0xF7}
GM2 System On : {0xF0, 0x7E, 0x7F, 0x09, 0x03, 0xF7}
GS Reset : {0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x00, 0x7F, 0x00, 0x41, 0xF7}
XG Reset : {0xF0, 0x43, 0x10, 0x4C, 0x00 0x,00, 0x7E, 0x00, 0xF7}
Master Volume : {0xF0, 0x7F, 0x7F, 0x04, 0x01, 0x00, value, 0xF7}
System Common Message MIDI Time code quarter frame {0xF1, 0xaa}
aa = a value which means a segment and a part of time value (00~7F)
This message is used synchronize by SMPTE/MTC. This message means a time [hour : minute: second: frame] by 8 messages. Assuming that the value is 0abcdefg in binary, in case abc is 0, defg means lower 4 bit of frame count, in case abc is 1, defg means higher 4 bit of frame count, in case abc is 2, defg means lower 4 bit of second, in case abc is 3, defg means higher 4 bit of second, in case abc is 4, defg means lower 4 bit of minute, in case abc is 5, defg means higher 4 bit of minute, in case abc is 6, defg means lower 4 bit of hour, and in case abc is 7, d is 0, ef means frame rate (00=24fps, 01=25fps, 02=29.97fps, 03=30fps), and g means higher 1 bit of hour.
Song Position Selector {0xF2, 0xLL, 0xMM}
LL = lower 7bit (00~7F)
MM = higher 7bit (00~7F)
It is used to specify playing position. The value is 0 to 16383, and the value 1 means 6 MIDI timing clocks, which is semiquaver note.
Song Number {0xF3, 0xNN}
NN = sequence number (00~7F)
This message is used to select sequence number or drum pattern number.
Tune Request {0xF6} This message is used to tuning of analog synthesizer. This message is seldom used.
System Real Time Message MIDI Clock {0xF8} This message is used to synchronize by MIDI timing clock. The interval of this message is depend on the current tempo, and this message is streamed 24 times per quarter note.
Start {0xFA} This message is used to start or stop playing of the MIDI sequencer. Start means to play from the beginning of the MIDI data. Stop means to stop playing. Continue means to play from current position.
Continue {0xFB}
Stop {0xFC}
Active Sensing {0xFE} This message is streamed about 300 msec interval to check the MIDI cable is connected normally.
System reset {0xFF} This message is used to initialize the MIDI module. This message is seldom used.

MIDI Event List in the MIDI file
Here is a list of MIDI Event in the MIDI File. Each event belongs to a MIDI track, and each event has a time stamp.

Type Event Kind Name Description
Meta Event Sequence Number Sequence number (0 ~ 65535). This is seldom used.
Text Arbitrary string (comment and so on).
Copyright Arbitrary string (copyright information). This is generally written in the time 0 position of the first srack.
Track Name Arbitrary string (track name)。This event is generally written in the time 0 position of each track. In the standard MIDI file format 0, or in the first track of standard MIDI file format1, this event means sequence name.
Instrument Name Arbitrary string (instrument name). A module name that creator used in this track like "SC-88Pro" or "MU-128". This is often omitted.
Lyrics Arbitrary string (lyrics). Lyrics is written for each note. This event affects to the view only, and not affects to performance, even if your module has an ability to pronounce.
Marker Arbitrary string (marker). In the standard MIDI file format 1, this event is generally written in the first track.
Cue Point Arbitrary string (cue point). In the standard MIDI file format 1, this event is generally written in the first track.
Program Name Arbitrary string (Program name, the patch name you used in this track). This is often omitted.
Device Name Arbitrary string (Device name, the port name you used in this track). This is often omitted.
Channel Prefix Write channel number which channel to output this track's non MIDI channel event. Thi is often omitted.
Port Prefix (* Unofficial in the standard MIDI file) Write port number which port to output this track's MIDI channel event or System exclusive event. If you use only one module, this is omitted. If you use multiple modules, this is used to specify port number.
End of track Must be written in the last of each track. This is used to detect end time. It is not allowed to omit this event.
Tempo Write tempo. In the standard MIDI file, the unit of tempo is saved in [microsec per quarter note], which is calculated by 60000000 / Tempo [BPM]. In the standard MIDI file format 1, this event must be written in the first track. If this event is omitted, the tempo is recognaized as 120 [BPM].
SMPTE offset Write to specify offset of MIDI time and SMPTE time in hour : minute : second : frame : subframe. If you doesn't use SMPTE or if smpte offset is 0, this is omitted.
Time Signature Write time signature like 4/4. This event has four parameters, which are numerator, denominator, a number of clocks per quarter note (always 24), and a number of demisemiquarver note per quarter note (always 8). This event affects to only view, not affect to performance. In the standard MIDI file, denominator is saved in the power of 2. In the standard MIDI file format 1, this event must be written in the first Track. If this event is omitted, it is recognized as 4/4.
Key Signature Write key signature like 3#major. This event has two parameter, which are a number of sharp or flat and major / minor. The first parameter, if sharp, write a number of sharp in the positive. If flat, write a number of flat in negative. The second parameter, if major, write 0, if minor, write 1. This event affects to only view, not affect to performance. In the standard MIDI file format 1, this event must be written in the first Track. If this event is omitted, it is recognized as 0#major (Cmajor).
Sequencer Specific Write sequencer original meta event. The first byte or 3bytes is ID to identify sequencer's manufacturer. And following, write binary data specified by the manufacturer.
MIDI Channel Event Note Off Release key. Write channel number (1 ~ 16), key number (0 ~ 127) and velocity (0 ~ 127).
Note On Push key. Write channel number (1 ~ 16), key number (0 ~ 127) and velocity (0 ~ 127). If velocity is 0, it is recognized as Note Off. The duration is until appearing next note off event whose channel and key is correspondent to this note on's in the same track.
Key After Touch Use when the pressure is changed to press key after pushing key. Write channel number (1~16), key number (0 ~ 127) and pressure value (0 ~ 127). In some MIDI module, the tone will change, and the others, nothing will change.
Control Change Adjust various parameter like volume and pan. Write channel number (1 ~ 16), control number (0 ~ 127), and value (0 ~ 127). Control number is often signed CC#. Here is some example.

CC#0 : Bank Select MSB
CC#1 : Modulation
CC#6 : Data Entry
CC#7 : Volume
CC#10 : Pan
CC#11 : Expression
CC#32 : Bank Select LSB
CC#64 : Hold Pedal
CC#91 : Reverb Send Level
CC#93 : Chorus Send Level
CC#94 : Deleay Send Level
CC#98 : NRPN LSB
CC#99 : NRPN MSB
CC#100 : RPN LSB
CC#101 : RPN MSB

NRPN and RPN are used to select adjust parameter by CC#6. For example, when you want to set pitch bend sensitivity 12 (plus or minus 1 octave), three control changes must be used, which are CC#100=0, CC#101=0, CC#6=0. Each event must be sent this sequence, so each event must be written with about 5 tick interval. Available NRPN and RPN are depend on a MIDI module, see also your module's manual.
Program change Change the voice (Piano, guitar, strings, and so on). Write channel number (1 ~ 16) and program number (1 ~ 127). If the MIDI module that has more than 128 voices, use CC#0 (Bank Select MSB) and CC#32 (Bank Select LSB) with this event. For example, CC#0=0, CC#32=2, Program Change=48. Each event must be sent this sequence, so each event must be written with about 5 tick interval. Available tone's Bank Select MSB or LSB are depend on a MIDI module, see also your module's manual (Voice Name List).
Channel After Touch Use when the pressure to press key is changed after pushing key. Write channel number (1~16) and pressure velue (0 ~ 127). In some MIDI module, the tone will change, and the others, nothing will change.
Pitch Bend Change the frequency. Write channel number (1 ~ 16) and value (-8192 ~ +8191, 0 is center). The changing width of frequency is depend on pitch bend sencitivity, if its value is 12, the width is plus or minus 1 octave. Pitch bend sencitivity can be set by using CC#101, CC#100 and CC#6.
System Exclusive Event System Exclusive (normal) Use to send module original command. System exclusive data begins 0xF0, and ends 0xF7 and during data's value must be 0x00~0x7F. Here is some example.

GM System Off : {0xF0, 0x7E, 0x7F, 0x09, 0x02, 0xF7}
GM System On : {0xF0, 0x7E, 0x7F, 0x09, 0x01, 0xF7}
GM2 System On : {0xF0, 0x7E, 0x7F, 0x09, 0x03, 0xF7}
GS Reset : {0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x00, 0x7F, 0x00, 0x41, 0xF7}
XG Reset : {0xF0, 0x43, 0x10, 0x4C, 0x00 0x,00, 0x7E, 0x00, 0xF7}
Master Volume : {0xF0, 0x7F, 0x7F, 0x04, 0x01, 0x00, value, 0xF7}
System Exclusive (arbitrary) Use to send module original command separately, generally to send a command longer than 128 bytes which takes long time to send. Therefore, it is allowed the first byte is not 0xF0 or the last byte is not 0xF7, but duraing data' value must be 0x00~0x7F.

Note Key Name and Drum Key (GS) Name List

No. Bin Hex Note Key Name Drum Key Name (GS) No. Bin Hex Note Key Name Drum Key Name (GS)
0 0 0x00 C-2 - 64 1000000 0x40 E3 Low Conga
1 1 0x01 C#-2=Db-2 - 65 1000001 0x41 F3 High Timbale
2 10 0x02 D-2 - 66 1000010 0x42 F#3=Gb3 Low Timbale
3 11 0x03 D#-2=Eb-2 - 66 1000011 0x43 G3 High Agogo
4 100 0x04 E-2 - 68 1000100 0x44 G#3=Ab3 Low Agogo
5 101 0x05 F-2 - 69 1000101 0x45 A3 Cabasa
6 110 0x06 F#-2=Gb-2 - 70 1000110 0x46 A#3=Bb3 Maracas
7 111 0x07 G-2 - 71 1000111 0x47 B3 Short Hi Whistle
8 1000 0x08 G#-2=Ab-2 - 72 1001000 0x48 C4 Long Low Whistle
9 1001 0x09 A-2 - 73 1001001 0x49 C#4=Db4 Short Gurio
10 1010 0x0A A#-2=Bb2 - 74 1001010 0x4A D4 Long Guiro
11 1011 0x0B B-2 - 75 1001011 0x4B D#4=Eb4 Claves
12 1100 0x0C C-1 - 76 1001100 0x4C E4 High Wood Block
13 1101 0x0D C#-1=Db-1 - 77 1001101 0x4D F4 Low Wood Block
14 1110 0x0E D-1 - 78 1001110 0x4E F#4=Gb4 Mute Cuica
15 1111 0x0F D#-1=Eb-1 - 79 1001111 0x4F G4 Open Cuica
16 10000 0x10 E-1 - 80 1010000 0x50 G#4=Ab4 Mute Triangle
17 10001 0x11 F-1 - 81 1010001 0x51 A4 Open Triangle
18 10010 0x12 F#-1=Gb-1 - 82 1010010 0x52 A#4=Bb4 Shaker
19 10011 0x13 G-1 - 83 1010011 0x53 B4 Jingle Bell
20 10100 0x14 G#-1=Ab-1 - 84 1010100 0x54 C5 Bell Tree
21 10101 0x15 A-1 - 85 1010101 0x55 C#5=Db5 Castanets
22 10110 0x16 A#-1=Bb-1 - 86 1010110 0x56 D5 Mute Surdo
23 10111 0x17 B-1 - 87 1010111 0x57 D#5=Eb5 Open Surdo
24 11000 0x18 C0 - 88 1011000 0x58 E5 -
25 11001 0x19 C#0=Db0 Snare Roll 89 1011001 0x59 F5 -
26 11010 0x1A D0 Finger Snap 90 1011010 0x5A F#5=Gb5 -
27 11011 0x1B D#0=Eb0 High Q 91 1011011 0x5B G5 -
28 11100 0x1C E0 Slap 92 1011100 0x5C G#5=Ab5 -
29 11101 0x1D F0 Scratch Push 93 1011101 0x5D A5 -
30 11110 0x1E F#0=Gb0 Scratch Pull 94 1011110 0x5E A#5=Bb5 -
31 11111 0x1F G0 Sticks 95 1011111 0x5F B5 -
32 100000 0x20 G#0=Ab0 Square Click 96 1100000 0x60 C6 -
33 100001 0x21 A0 Metronome Click 97 1100001 0x61 C#6=Db6 -
34 100010 0x22 A#0=Bb0 Metronome Bell 98 1100010 0x62 D6 -
35 100011 0x23 B0 Standard Kick 2 99 1100011 0x63 D#6=Eb6 -
36 100100 0x24 C1 Standard Kick 1 100 1100100 0x64 E6 -
37 100101 0x25 C#1=Db1 Side Stick 101 1100101 0x65 F6 -
38 100110 0x26 D1 Standard Snare 1 102 1100110 0x66 F#6=Gb6 -
39 100111 0x27 D#1-Eb1 Hand Clap 103 1100111 0x67 G6 -
40 101000 0x28 E1 Standard Snare 2 104 1101000 0x68 G#6=Ab6 -
41 101001 0x29 F1 Low Tom 2 105 1101001 0x69 A6 -
42 101010 0x2A F#1=Gb1 Closed Hi-hat 106 1101010 0x6A A#6=Bb6 -
43 101011 0x2B G1 Low Tom 1 107 1101011 0x6B B6 -
44 101100 0x2C G#1=Ab1 Pedal Hi-hat 108 1101100 0x6C C7 -
45 101101 0x2D A1 Mid Tom 2 109 1101101 0x6D C#7=Db7 -
46 101110 0x2E A#1=Bb1 Open Hi-hat 110 1101110 0x6E D7 -
47 101111 0x2F B1 Mid Tom 1 111 1101111 0x6F D#7=Eb7 -
48 110000 0x30 C2 High Tom 2 112 1110000 0x70 E7 -
49 110001 0x31 C#2=Db2 Crash Symbal 1 113 1110001 0x71 F7 -
50 110010 0x32 D2 High Tom 1 114 1110010 0x72 F#7=Gb7 -
51 110011 0x33 D#2=Eb2 Ride Symbal 1 115 1110011 0x73 G7 -
52 110100 0x34 E2 Chinese Cymbal 116 1110100 0x74 G#7=Ab7 -
53 110101 0x35 F2 Ride Bell 117 1110101 0x75 A7 -
54 110110 0x36 F#2=Gb2 Tambourine 118 1110110 0x76 A#7=Bb7 -
55 110111 0x37 G2 Splash Cymbal 119 1110111 0x77 B7 -
56 111000 0x38 G#2=Ab2 Cowbell 120 1111000 0x78 C8 -
57 111001 0x39 A2 Crash Cymbal 2 121 1111001 0x79 C#8=Db8 -
58 111010 0x3A A#2=Bb2 Vibra-Snap 122 1111010 0x7A D8 -
59 111011 0x3B B2 Ride Cymbal 2 123 1111011 0x7B D#8=Eb8 -
60 111100 0x3C C3 High Bongo 124 1111100 0x7C E8 -
61 111101 0x3D C#3=Db3 Low Bongo 125 1111101 0x7D F8 -
62 111110 0x3E D3 Mute High Conga 126 1111110 0x7E F#8=Gb8 -
63 111111 0x3F D#3=Eb3 Open High Conga 127 1111111 0x7F G8 -

Control Change List

No. Bin Hex Program Change Name (GM) No. Bin Hex Program Change Name (GM)
0 0 0x00 Bank Select MSB 64 1000000 0x40 Hold Pedal 1
1 1 0x01 Modulation MSB 65 1000001 0x41 Portament Pedal
2 10 0x02 Breath Controller MSB 66 1000010 0x42 Sostenuto Pedal
3 11 0x03 - 66 1000011 0x43 Soft Pedal
4 100 0x04 Foot Controller MSB 68 1000100 0x44 Legato Pedal
5 101 0x05 Portament Time MSB 69 1000101 0x45 Hold Pedal 2
6 110 0x06 Data Entry MSB 70 1000110 0x46 Sound Controller 1 (Sound Variation)
7 111 0x07 Channel Volume MSB 71 1000111 0x47 Sound Controller 2 (Harmonic Contents)
8 1000 0x08 Balance MSB 72 1001000 0x48 Sound Controller 3 (Release Time)
9 1001 0x09 - 73 1001001 0x49 Sound Controller 4 (Attack Time)
10 1010 0x0A Pan MSB 74 1001010 0x4A Sound Controller 5 (Brightness)
11 1011 0x0B Expression MSB 75 1001011 0x4B Sound Controller 6 (Decay Time)
12 1100 0x0C Effect Control 1 MSB 76 1001100 0x4C Sound Controller 7 (Vibrato rate)
13 1101 0x0D Effect Control 2 MSB 77 1001101 0x4D Sound Controller 8 (Vibato depth)
14 1110 0x0E - 78 1001110 0x4E Sound Controller 9 (Vibrato delay)
15 1111 0x0F - 79 1001111 0x4F Sound Controller 10
16 10000 0x10 - 80 1010000 0x50 -
17 10001 0x11 - 81 1010001 0x51 -
18 10010 0x12 - 82 1010010 0x52 -
19 10011 0x13 - 83 1010011 0x53 -
20 10100 0x14 - 84 1010100 0x54 Portament Control
21 10101 0x15 - 85 1010101 0x55 -
22 10110 0x16 - 86 1010110 0x56 -
23 10111 0x17 - 87 1010111 0x57 -
24 11000 0x18 - 88 1011000 0x58 -
25 11001 0x19 - 89 1011001 0x59 -
26 11010 0x1A - 90 1011010 0x5A -
27 11011 0x1B - 91 1011011 0x5B Effect 1 Deapth (Reverb Send Level)
28 11100 0x1C - 92 1011100 0x5C Effect 2 Deapth
29 11101 0x1D - 93 1011101 0x5D Effect 3 Deapth (Chorus Send Level)
30 11110 0x1E - 94 1011110 0x5E Effect 4 Deapth (Delay Send Level)
31 11111 0x1F - 95 1011111 0x5F Effect 5 Deapth
32 100000 0x20 Bank Select LSB 96 1100000 0x60 Data Increment
33 100001 0x21 Modulation LSB 97 1100001 0x61 Data Decrement
34 100010 0x22 Breath Controller LSB 98 1100010 0x62 NRPN LSB
35 100011 0x23 - 99 1100011 0x63 NRPN MSB
36 100100 0x24 Foot Controller LSB 100 1100100 0x64 RPN LSB
37 100101 0x25 Portament Time LSB 101 1100101 0x65 RPN MSB
38 100110 0x26 Data Entry LSB 102 1100110 0x66 -
39 100111 0x27 Channel Volume LSB 103 1100111 0x67 -
40 101000 0x28 Balance LSB 104 1101000 0x68 -
41 101001 0x29 - 105 1101001 0x69 -
42 101010 0x2A Pan LSB 106 1101010 0x6A -
43 101011 0x2B Expression LSB 107 1101011 0x6B -
44 101100 0x2C Effect Control 1 LSB 108 1101100 0x6C -
45 101101 0x2D Effect Control 2 LSB 109 1101101 0x6D -
46 101110 0x2E - 110 1101110 0x6E -
47 101111 0x2F - 111 1101111 0x6F -
48 110000 0x30 - 112 1110000 0x70 -
49 110001 0x31 - 113 1110001 0x71 -
50 110010 0x32 - 114 1110010 0x72 -
51 110011 0x33 - 115 1110011 0x73 -
52 110100 0x34 - 116 1110100 0x74 -
53 110101 0x35 - 117 1110101 0x75 -
54 110110 0x36 - 118 1110110 0x76 -
55 110111 0x37 - 119 1110111 0x77 -
56 111000 0x38 - 120 1111000 0x78 All Sound Off
57 111001 0x39 - 121 1111001 0x79 Reset All Controller
58 111010 0x3A - 122 1111010 0x7A Local Control
59 111011 0x3B - 123 1111011 0x7B All Note Off
60 111100 0x3C - 124 1111100 0x7C Omni Mode Off
61 111101 0x3D - 125 1111101 0x7D Omni Mode On
62 111110 0x3E - 126 1111110 0x7E Mono Mode On
63 111111 0x3F - 127 1111111 0x7F Mono Mode Off

Program Change List (Voice Name List) for GM module

No. Bin Hex Program Change Name (GM) No. Bin Hex Program Change Name (GM)
0 0 0x00 Acoustic Grand Piano 64 1000000 0x40 Sporano Sax
1 1 0x01 Bright Acoustic Piano 65 1000001 0x41 Alto Sax
2 10 0x02 Electric Grand Piano 66 1000010 0x42 Tenor Sax
3 11 0x03 Honky-tonk Piano 66 1000011 0x43 Baritone Sax
4 100 0x04 Electric Piano 1 68 1000100 0x44 Oboe
5 101 0x05 Electric Piano 2 69 1000101 0x45 English Horn
6 110 0x06 Harpsichord 70 1000110 0x46 Basoon
7 111 0x07 Clavi 71 1000111 0x47 Clarinet
8 1000 0x08 Celesta 72 1001000 0x48 Piccolo
9 1001 0x09 Glockenspiel 73 1001001 0x49 Flute
10 1010 0x0A Music Box 74 1001010 0x4A Recorder
11 1011 0x0B Vibraphone 75 1001011 0x4B Pan Flute
12 1100 0x0C Marimba 76 1001100 0x4C Blown Bottle
13 1101 0x0D Xylophone 77 1001101 0x4D Shakuhachi
14 1110 0x0E Tubular Bells 78 1001110 0x4E Whistle
15 1111 0x0F Dulcimer 79 1001111 0x4F Ocarina
16 10000 0x10 Drawbar Organ 80 1010000 0x50 Lead 1 (square)
17 10001 0x11 Percussive Organ 81 1010001 0x51 Lead 2 (saw tooth)
18 10010 0x12 Rock Organ 82 1010010 0x52 Lead 3 (calliope)
19 10011 0x13 Church Organ 83 1010011 0x53 Lead 4 (chiff)
20 10100 0x14 Reed Organ 84 1010100 0x54 Lead 5 (charang)
21 10101 0x15 Accordion 85 1010101 0x55 Lead 6 (voice)
22 10110 0x16 Harmonica 86 1010110 0x56 Lead 7 (fifths)
23 10111 0x17 Tango Accordion 87 1010111 0x57 Lead 8 (bass + lead)
24 11000 0x18 Acoustic Guitar (nylon) 88 1011000 0x58 Pad 1 (new age)
25 11001 0x19 Acoustic Guitar (steel) 89 1011001 0x59 Pad 2 (warm)
26 11010 0x1A Electric Guitar (jazz) 90 1011010 0x5A Pad 3 (polysynth)
27 11011 0x1B Electric Guitar (clean) 91 1011011 0x5B Pad 4 (choir)
28 11100 0x1C Electric Guitar (muted) 92 1011100 0x5C Pad 5 (bowed)
29 11101 0x1D Overdriven Guitar 93 1011101 0x5D Pad 6 (metallic)
30 11110 0x1E Distortion Guitar 94 1011110 0x5E Pad 7 (halo)
31 11111 0x1F Guitar Harmonics 95 1011111 0x5F Pad 8 (sweep)
32 100000 0x20 Acoustic Bass 96 1100000 0x60 FX 1 (rain)
33 100001 0x21 Electric Bass (finger) 97 1100001 0x61 FX 2 (soundtrack)
34 100010 0x22 Electric Bass (pick) 98 1100010 0x62 FX 3 (crystal)
35 100011 0x23 Fretless Bass 99 1100011 0x63 FX 4 (atomosphere)
36 100100 0x24 Slap Bass 1 100 1100100 0x64 FX 5 (brightness)
37 100101 0x25 Slap Bass 2 101 1100101 0x65 FX 6 (goblins)
38 100110 0x26 Synth Bass 1 102 1100110 0x66 FX 7 (echoes)
39 100111 0x27 Synth Bass 2 103 1100111 0x67 FX 8 (sci-fi)
40 101000 0x28 Violin 104 1101000 0x68 Sitar
41 101001 0x29 Viola 105 1101001 0x69 Banjo
42 101010 0x2A Cello 106 1101010 0x6A Shamisen
43 101011 0x2B Contrabass 107 1101011 0x6B Koto
44 101100 0x2C Tremolo Strings 108 1101100 0x6C Kalimba
45 101101 0x2D Pizzicato Strings 109 1101101 0x6D Bag pipe
46 101110 0x2E Orchestral Harp 110 1101110 0x6E Fiddle
47 101111 0x2F Timpani 111 1101111 0x6F Shanai
48 110000 0x30 String Ensemble 1 112 1110000 0x70 Tinkle Bell
49 110001 0x31 String Ensemble 2 113 1110001 0x71 Agogo
50 110010 0x32 Synth Strings 1 114 1110010 0x72 Steel Drums
51 110011 0x33 Synth Strings 2 115 1110011 0x73 Woodblock
52 110100 0x34 Choir Aahs 116 1110100 0x74 Taiko
53 110101 0x35 Voice Oohs 117 1110101 0x75 Melodic Tom
54 110110 0x36 Synth Vox 118 1110110 0x76 Synth Drum
55 110111 0x37 Orchestra Hit 119 1110111 0x77 Reverse Cymbal
56 111000 0x38 Trumpet 120 1111000 0x78 Guitar Fret Noise
57 111001 0x39 Trombone 121 1111001 0x79 Breath Noise
58 111010 0x3A Tuba 122 1111010 0x7A Seashore
59 111011 0x3B Muted Trumpet 123 1111011 0x7B Bird Tweet
60 111100 0x3C French Horn 124 1111100 0x7C Telephone Ring
61 111101 0x3D Brass Section 125 1111101 0x7D Helicopter
62 111110 0x3E Synth Brass 1 126 1111110 0x7E Applause
63 111111 0x3F Synth Brass 2 127 1111111 0x7F Gunshot