OpenMIDIProject

Home | News | Forums | Documentations | FAQ | Links | Contributors | Author

Japanese | English | Chinese


Documentation of software and libraries

Documentation of each software and libraries is included in the "docs" folder of each zip file you've downloaded as a pdf file or html file. But MIDITester and MIDISelector's documentation is written in readme.txt. There are some documentation's copy on the Internet, but you should not see them because they may be old version or incfected virus. Also, about frequently asked questions, please see FAQ's page.

Source code of software and libraries

Source code of each software and libraries is included in the root folder or "src" and "res" folder of each zip file you've downloaded. Each source code can be seen by using your text editor. Also you can open mdp file with Microsoft Visual C++ 4.0, and open sln file with Microsoft Visual Studio 2008 (Sekaiju requires standard edition or higher). There are some source code's copy on the Internet, but you should not see them because they may be old version or including virus.

For Windows XP users

"Microsoft GS Wavetable SW Synth" included in Windows XP is programmed to sound at all bank. But "Microsoft GS Wavetable Synth" included in Windows 98/ME/2000/Vista/7 is programmed only to sound at GS's defined tone. So you should use only GS's defined tone and you should not use SC-55, SC-88, SC-88Pro, SC-8850 and so on's defined tone if you wish Windows 98/ME/2000/Vista/7 users to listen safely.

For Windows Vista / Windows 7 users

In Windows Vista / 7, MIDI mapper is abolished, so it is not allowed to select default MIDI device and only allowed to use "Microsoft GS Wavetalbe Synth (MSGS)". But MIDISelector enables you to select any MIDI device. In Sekaiju, MIDITester, AutoDrum, MIDI device can be selected at an application level, so you don't need to use MIDI selector.

It is blocked to save configuration file (*.ini) in the c:\program files, c:\program files(x86), c:\windows folder by windows User Account Control (UAC) feature. Please put the program in the other folder.

For Windows 8 / Windows 8.1 users

Sekaiju, MIDITester, AutoDrum supports windows 8 / windows 8.1. In the other hand, in Windows 8 / 8.1, MIDI mapper is deleted completely, so MIDISelector does not works at all.

It is blocked to save configuration file (*.ini) in the c:\program files, c:\program files(x86), c:\windows folder by windows User Acount Control (UAC) feature. Please put the program in the other folder.

For Windows 10 users

In Windows 10, it is not allowed to open Microsoft GS Wavetable Synth in console application. Also, it is not allowed to open Microsoft GS Wavetable Synth twice in window application, so we need to restart program when using Microsoft GS Wavetable Synth again (midiOutOpen returns 1 (Unexpected Error)).

Instrument Definition File of "Sekaiju" and "MIDITester"

Sekaiju and MIDITester 's instrument definition file is compatible with Cakewalk instrument definition file(*.ins). These softwares are shipped with instrument definition files for GM1/GM2, YAMAHA MU-1000/2000, Roland SC-8850, Microsoft GS Wavetable Synth, and KORG KROME. If you use other instruments, please google "Cakewalk instrument definition file" and you will find suitable instrument definition file.

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 sound 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 sound 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 tone. However, at channel 10 (n=9), it is used to select drum set. Tone array is depend on MIDI module, but in case of GM / GM2 / GS / XG MIDI module, tone array is strictly defined. By using program change, you can select from one of 128 tones. But by using bank select MSB (CC#0) and bank select LSB (CC#32) previously, you can select from one of 2097152 tones, 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.
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 tone (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 tones, 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.
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 00000000 0x00 C-2 - 64 01000000 0x40 E3 Low Conga
1 00000001 0x01 C#-2=Db-2 - 65 01000001 0x41 F3 High Timbale
2 00000010 0x02 D-2 - 66 01000010 0x42 F#3=Gb3 Low Timbale
3 00000011 0x03 D#-2=Eb-2 - 66 01000011 0x43 G3 High Agogo
4 00000100 0x04 E-2 - 68 01000100 0x44 G#3=Ab3 Low Agogo
5 00000101 0x05 F-2 - 69 01000101 0x45 A3 Cabasa
6 00000110 0x06 F#-2=Gb-2 - 70 01000110 0x46 A#3=Bb3 Maracas
7 00000111 0x07 G-2 - 71 01000111 0x47 B3 Short Hi Whistle
8 00001000 0x08 G#-2=Ab-2 - 72 01001000 0x48 C4 Long Low Whistle
9 00001001 0x09 A-2 - 73 01001001 0x49 C#4=Db4 Short Gurio
10 00001010 0x0A A#-2=Bb2 - 74 01001010 0x4A D4 Long Guiro
11 00001011 0x0B B-2 - 75 01001011 0x4B D#4=Eb4 Claves
12 00001100 0x0C C-1 - 76 01001100 0x4C E4 High Wood Block
13 00001101 0x0D C#-1=Db-1 - 77 01001101 0x4D F4 Low Wood Block
14 00001110 0x0E D-1 - 78 01001110 0x4E F#4=Gb4 Mute Cuica
15 00001111 0x0F D#-1=Eb-1 - 79 01001111 0x4F G4 Open Cuica
16 00010000 0x10 E-1 - 80 01010000 0x50 G#4=Ab4 Mute Triangle
17 00010001 0x11 F-1 - 81 01010001 0x51 A4 Open Triangle
18 00010010 0x12 F#-1=Gb-1 - 82 01010010 0x52 A#4=Bb4 Shaker
19 00010011 0x13 G-1 - 83 01010011 0x53 B4 Jingle Bell
20 00010100 0x14 G#-1=Ab-1 - 84 01010100 0x54 C5 Bell Tree
21 00010101 0x15 A-1 - 85 01010101 0x55 C#5=Db5 Castanets
22 00010110 0x16 A#-1=Bb-1 - 86 01010110 0x56 D5 Mute Surdo
23 00010111 0x17 B-1 - 87 01010111 0x57 D#5=Eb5 Open Surdo
24 00011000 0x18 C0 - 88 01011000 0x58 E5 -
25 00011001 0x19 C#0=Db0 Snare Roll 89 01011001 0x59 F5 -
26 00011010 0x1A D0 Finger Snap 90 01011010 0x5A F#5=Gb5 -
27 00011011 0x1B D#0=Eb0 High Q 91 01011011 0x5B G5 -
28 00011100 0x1C E0 Slap 92 01011100 0x5C G#5=Ab5 -
29 00011101 0x1D F0 Scratch Push 93 01011101 0x5D A5 -
30 00011110 0x1E F#0=Gb0 Scratch Pull 94 01011110 0x5E A#5=Bb5 -
31 00011111 0x1F G0 Sticks 95 01011111 0x5F B5 -
32 00100000 0x20 G#0=Ab0 Square Click 96 01100000 0x60 C6 -
33 00100001 0x21 A0 Metronome Click 97 01100001 0x61 C#6=Db6 -
34 00100010 0x22 A#0=Bb0 Metronome Bell 98 01100010 0x62 D6 -
35 00100011 0x23 B0 Standard Kick 2 99 01100011 0x63 D#6=Eb6 -
36 00100100 0x24 C1 Standard Kick 1 100 01100100 0x64 E6 -
37 00100101 0x25 C#1=Db1 Side Stick 101 01100101 0x65 F6 -
38 00100110 0x26 D1 Standard Snare 1 102 01100110 0x66 F#6=Gb6 -
39 00100111 0x27 D#1-Eb1 Hand Clap 103 01100111 0x67 G6 -
40 00101000 0x28 E1 Standard Snare 2 104 01101000 0x68 G#6=Ab6 -
41 00101001 0x29 F1 Low Tom 2 105 01101001 0x69 A6 -
42 00101010 0x2A F#1=Gb1 Closed Hi-hat 106 01101010 0x6A A#6=Bb6 -
43 00101011 0x2B G1 Low Tom 1 107 01101011 0x6B B6 -
44 00101100 0x2C G#1=Ab1 Pedal Hi-hat 108 01101100 0x6C C7 -
45 00101101 0x2D A1 Mid Tom 2 109 01101101 0x6D C#7=Db7 -
46 00101110 0x2E A#1=Bb1 Open Hi-hat 110 01101110 0x6E D7 -
47 00101111 0x2F B1 Mid Tom 1 111 01101111 0x6F D#7=Eb7 -
48 00110000 0x30 C2 High Tom 2 112 01110000 0x70 E7 -
49 00110001 0x31 C#2=Db2 Crash Symbal 1 113 01110001 0x71 F7 -
50 00110010 0x32 D2 High Tom 1 114 01110010 0x72 F#7=Gb7 -
51 00110011 0x33 D#2=Eb2 Ride Symbal 1 115 01110011 0x73 G7 -
52 00110100 0x34 E2 Chinese Cymbal 116 01110100 0x74 G#7=Ab7 -
53 00110101 0x35 F2 Ride Bell 117 01110101 0x75 A7 -
54 00110110 0x36 F#2=Gb2 Tambourine 118 01110110 0x76 A#7=Bb7 -
55 00110111 0x37 G2 Splash Cymbal 119 01110111 0x77 B7 -
56 00111000 0x38 G#2=Ab2 Cowbell 120 01111000 0x78 C8 -
57 00111001 0x39 A2 Crash Cymbal 2 121 01111001 0x79 C#8=Db8 -
58 00111010 0x3A A#2=Bb2 Vibra-Snap 122 01111010 0x7A D8 -
59 00111011 0x3B B2 Ride Cymbal 2 123 01111011 0x7B D#8=Eb8 -
60 00111100 0x3C C3 High Bongo 124 01111100 0x7C E8 -
61 00111101 0x3D C#3=Db3 Low Bongo 125 01111101 0x7D F8 -
62 00111110 0x3E D3 Mute High Conga 126 01111110 0x7E F#8=Gb8 -
63 00111111 0x3F D#3=Eb3 Open High Conga 127 01111111 0x7F G8 -

Control Change List

No. Bin Hex Control Change Name No. Bin Hex Control Change Name
0 00000000 0x00 Bank Select MSB 64 01000000 0x40 Hold Pedal 1
1 00000001 0x01 Modulation MSB 65 01000001 0x41 Portament Pedal
2 00000010 0x02 Breath Controller MSB 66 01000010 0x42 Sostenuto Pedal
3 00000011 0x03 - 66 01000011 0x43 Soft Pedal
4 00000100 0x04 Foot Controller MSB 68 01000100 0x44 Legato Pedal
5 00000101 0x05 Portament Time MSB 69 01000101 0x45 Hold Pedal 2
6 00000110 0x06 Data Entry MSB 70 01000110 0x46 Sound Controller 1 (Sound Variation)
7 00000111 0x07 Channel Volume MSB 71 01000111 0x47 Sound Controller 2 (Harmonic Contents)
8 00001000 0x08 Balance MSB 72 01001000 0x48 Sound Controller 3 (Release Time)
9 00001001 0x09 - 73 01001001 0x49 Sound Controller 4 (Attack Time)
10 00001010 0x0A Pan MSB 74 01001010 0x4A Sound Controller 5 (Brightness)
11 00001011 0x0B Expression MSB 75 01001011 0x4B Sound Controller 6 (Decay Time)
12 00001100 0x0C Effect Control 1 MSB 76 01001100 0x4C Sound Controller 7 (Vibrato rate)
13 00001101 0x0D Effect Control 2 MSB 77 01001101 0x4D Sound Controller 8 (Vibato depth)
14 00001110 0x0E - 78 01001110 0x4E Sound Controller 9 (Vibrato delay)
15 00001111 0x0F - 79 01001111 0x4F Sound Controller 10
16 00010000 0x10 - 80 01010000 0x50 -
17 00010001 0x11 - 81 01010001 0x51 -
18 00010010 0x12 - 82 01010010 0x52 -
19 00010011 0x13 - 83 01010011 0x53 -
20 00010100 0x14 - 84 01010100 0x54 Portament Control
21 00010101 0x15 - 85 01010101 0x55 -
22 00010110 0x16 - 86 01010110 0x56 -
23 00010111 0x17 - 87 01010111 0x57 -
24 00011000 0x18 - 88 01011000 0x58 -
25 00011001 0x19 - 89 01011001 0x59 -
26 00011010 0x1A - 90 01011010 0x5A -
27 00011011 0x1B - 91 01011011 0x5B Effect 1 Deapth (Reverb Send Level)
28 00011100 0x1C - 92 01011100 0x5C Effect 2 Deapth
29 00011101 0x1D - 93 01011101 0x5D Effect 3 Deapth (Chorus Send Level)
30 00011110 0x1E - 94 01011110 0x5E Effect 4 Deapth (Delay Send Level)
31 00011111 0x1F - 95 01011111 0x5F Effect 5 Deapth
32 00100000 0x20 Bank Select LSB 96 01100000 0x60 Data Increment
33 00100001 0x21 Modulation LSB 97 01100001 0x61 Data Decrement
34 00100010 0x22 Breath Controller LSB 98 01100010 0x62 NRPN LSB
35 00100011 0x23 - 99 01100011 0x63 NRPN MSB
36 00100100 0x24 Foot Controller LSB 100 01100100 0x64 RPN LSB
37 00100101 0x25 Portament Time LSB 101 01100101 0x65 RPN MSB
38 00100110 0x26 Data Entry LSB 102 01100110 0x66 -
39 00100111 0x27 Channel Volume LSB 103 01100111 0x67 -
40 00101000 0x28 Balance LSB 104 01101000 0x68 -
41 00101001 0x29 - 105 01101001 0x69 -
42 00101010 0x2A Pan LSB 106 01101010 0x6A -
43 00101011 0x2B Expression LSB 107 01101011 0x6B -
44 00101100 0x2C Effect Control 1 LSB 108 01101100 0x6C -
45 00101101 0x2D Effect Control 2 LSB 109 01101101 0x6D -
46 00101110 0x2E - 110 01101110 0x6E -
47 00101111 0x2F - 111 01101111 0x6F -
48 00110000 0x30 - 112 01110000 0x70 -
49 00110001 0x31 - 113 01110001 0x71 -
50 00110010 0x32 - 114 01110010 0x72 -
51 00110011 0x33 - 115 01110011 0x73 -
52 00110100 0x34 - 116 01110100 0x74 -
53 00110101 0x35 - 117 01110101 0x75 -
54 00110110 0x36 - 118 01110110 0x76 -
55 00110111 0x37 - 119 01110111 0x77 -
56 00111000 0x38 - 120 01111000 0x78 All Sound Off
57 00111001 0x39 - 121 01111001 0x79 Reset All Controller
58 00111010 0x3A - 122 01111010 0x7A Local Control
59 00111011 0x3B - 123 01111011 0x7B All Note Off
60 00111100 0x3C - 124 01111100 0x7C Omni Mode Off
61 00111101 0x3D - 125 01111101 0x7D Omni Mode On
62 00111110 0x3E - 126 01111110 0x7E Mono Mode On
63 00111111 0x3F - 127 01111111 0x7F Mono Mode Off

Program Change (GM) List

No. Bin Hex Program Change Name (GM) No. Bin Hex Program Change Name (GM)
0 00000000 0x00 Acoustic Grand Piano 64 01000000 0x40 Sporano Sax
1 00000001 0x01 Bright Acoustic Piano 65 01000001 0x41 Alto Sax
2 00000010 0x02 Electric Grand Piano 66 01000010 0x42 Tenor Sax
3 00000011 0x03 Honky-tonk Piano 66 01000011 0x43 Baritone Sax
4 00000100 0x04 Electric Piano 1 68 01000100 0x44 Oboe
5 00000101 0x05 Electric Piano 2 69 01000101 0x45 English Horn
6 00000110 0x06 Harpsichord 70 01000110 0x46 Basoon
7 00000111 0x07 Clavi 71 01000111 0x47 Clarinet
8 00001000 0x08 Celesta 72 01001000 0x48 Piccolo
9 00001001 0x09 Glockenspiel 73 01001001 0x49 Flute
10 00001010 0x0A Music Box 74 01001010 0x4A Recorder
11 00001011 0x0B Vibraphone 75 01001011 0x4B Pan Flute
12 00001100 0x0C Marimba 76 01001100 0x4C Blown Bottle
13 00001101 0x0D Xylophone 77 01001101 0x4D Shakuhachi
14 00001110 0x0E Tubular Bells 78 01001110 0x4E Whistle
15 00001111 0x0F Dulcimer 79 01001111 0x4F Ocarina
16 00010000 0x10 Drawbar Organ 80 01010000 0x50 Lead 1 (square)
17 00010001 0x11 Percussive Organ 81 01010001 0x51 Lead 2 (saw tooth)
18 00010010 0x12 Rock Organ 82 01010010 0x52 Lead 3 (calliope)
19 00010011 0x13 Church Organ 83 01010011 0x53 Lead 4 (chiff)
20 00010100 0x14 Reed Organ 84 01010100 0x54 Lead 5 (charang)
21 00010101 0x15 Accordion 85 01010101 0x55 Lead 6 (voice)
22 00010110 0x16 Harmonica 86 01010110 0x56 Lead 7 (fifths)
23 00010111 0x17 Tango Accordion 87 01010111 0x57 Lead 8 (bass + lead)
24 00011000 0x18 Acoustic Guitar (nylon) 88 01011000 0x58 Pad 1 (new age)
25 00011001 0x19 Acoustic Guitar (steel) 89 01011001 0x59 Pad 2 (warm)
26 00011010 0x1A Electric Guitar (jazz) 90 01011010 0x5A Pad 3 (polysynth)
27 00011011 0x1B Electric Guitar (clean) 91 01011011 0x5B Pad 4 (choir)
28 00011100 0x1C Electric Guitar (muted) 92 01011100 0x5C Pad 5 (bowed)
29 00011101 0x1D Overdriven Guitar 93 01011101 0x5D Pad 6 (metallic)
30 00011110 0x1E Distortion Guitar 94 01011110 0x5E Pad 7 (halo)
31 00011111 0x1F Guitar Harmonics 95 01011111 0x5F Pad 8 (sweep)
32 00100000 0x20 Acoustic Bass 96 01100000 0x60 FX 1 (rain)
33 00100001 0x21 Electric Bass (finger) 97 01100001 0x61 FX 2 (soundtrack)
34 00100010 0x22 Electric Bass (pick) 98 01100010 0x62 FX 3 (crystal)
35 00100011 0x23 Fretless Bass 99 01100011 0x63 FX 4 (atomosphere)
36 00100100 0x24 Slap Bass 1 100 01100100 0x64 FX 5 (brightness)
37 00100101 0x25 Slap Bass 2 101 01100101 0x65 FX 6 (goblins)
38 00100110 0x26 Synth Bass 1 102 01100110 0x66 FX 7 (echoes)
39 00100111 0x27 Synth Bass 2 103 01100111 0x67 FX 8 (sci-fi)
40 00101000 0x28 Violin 104 01101000 0x68 Sitar
41 00101001 0x29 Viola 105 01101001 0x69 Banjo
42 00101010 0x2A Cello 106 01101010 0x6A Shamisen
43 00101011 0x2B Contrabass 107 01101011 0x6B Koto
44 00101100 0x2C Tremolo Strings 108 01101100 0x6C Kalimba
45 00101101 0x2D Pizzicato Strings 109 01101101 0x6D Bag pipe
46 00101110 0x2E Orchestral Harp 110 01101110 0x6E Fiddle
47 00101111 0x2F Timpani 111 01101111 0x6F Shanai
48 00110000 0x30 String Ensemble 1 112 01110000 0x70 Tinkle Bell
49 00110001 0x31 String Ensemble 2 113 01110001 0x71 Agogo
50 00110010 0x32 Synth Strings 1 114 01110010 0x72 Steel Drums
51 00110011 0x33 Synth Strings 2 115 01110011 0x73 Woodblock
52 00110100 0x34 Choir Aahs 116 01110100 0x74 Taiko
53 00110101 0x35 Voice Oohs 117 01110101 0x75 Melodic Tom
54 00110110 0x36 Synth Vox 118 01110110 0x76 Synth Drum
55 00110111 0x37 Orchestra Hit 119 01110111 0x77 Reverse Cymbal
56 00111000 0x38 Trumpet 120 01111000 0x78 Guitar Fret Noise
57 00111001 0x39 Trombone 121 01111001 0x79 Breath Noise
58 00111010 0x3A Tuba 122 01111010 0x7A Seashore
59 00111011 0x3B Muted Trumpet 123 01111011 0x7B Bird Tweet
60 00111100 0x3C French Horn 124 01111100 0x7C Telephone Ring
61 00111101 0x3D Brass Section 125 01111101 0x7D Helicopter
62 00111110 0x3E Synth Brass 1 126 01111110 0x7E Applause
63 00111111 0x3F Synth Brass 2 127 01111111 0x7F Gunshot


(C)2002-2018 kuzu / openmidiproject OSDN