Open Source Midi Keyboard

broken image


TinyUSB is an open-source cross-platform USB Host/Device stack for embedded system, designed to be memory-safe with no dynamic allocation and thread-safe with all interrupt events are deferred then handled in the non-ISR task function. KeyStep is a new breed of portable musical tool combining the functionalities of a keyboard controller with a polyphonic step sequencer to control both analog and digital devices.

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. All pokemon in pc. 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 voice. So you should use only GS's defined voice and you should not use SC-55, SC-88, SC-88Pro, SC-8850 and so on's defined voice if you wish Windows 98/ME/2000/Vista/7/8/8.1/10 users to listen safely with 'Microsoft GS Wavetable Synth'.

For Windows Vista / Windows 7 users

In Windows Vista / 7, MIDI mapper is abolished, so you aren't 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. Additionaly, in Sekaiju, MIDITester, AutoDrum, MIDI device can be selected at an application level, so you don't need to use MIDI selector.

Open Source Midi Files

Open Source Midi Keyboard
Open Source Midi Keyboard

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 / Windows 10 users

Sekaiju, MIDITester, AutoDrum supports windows 8 / windows 8.1 / windows 10. In the other hand, in Windows 8 / 8.1 / 10, 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.

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.

Instrument Definition File of 'Sekaiju' and 'MIDITester'

In MIDI, the voice array, voice name and so on is different in each MIDI module or synthesizer. So you had better to have your module's instrument definition file (*.ins), which is described about these information. 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.

GroupNameMessage ArrayMeaning
Channel Voice MessageNote 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 MessageMIDI 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 MessageMIDI 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. Pubg on steam price.

TypeEvent Kind NameDescription
Meta EventSequence NumberSequence number (0 ~ 65535). This is seldom used.
TextArbitrary string (comment and so on).
CopyrightArbitrary string (copyright information). This is generally written in the time 0 position of the first srack.
Track NameArbitrary 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 NameArbitrary string (instrument name). A module name that creator used in this track like 'SC-88Pro' or 'MU-128'. This is often omitted.
LyricsArbitrary 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.
MarkerArbitrary string (marker). In the standard MIDI file format 1, this event is generally written in the first track.
Cue PointArbitrary string (cue point). In the standard MIDI file format 1, this event is generally written in the first track.
Program NameArbitrary string (Program name, the patch name you used in this track). This is often omitted.
Device NameArbitrary string (Device name, the port name you used in this track). This is often omitted.
Channel PrefixWrite 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 trackMust be written in the last of each track. This is used to detect end time. It is not allowed to omit this event.
TempoWrite 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 offsetWrite 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 SignatureWrite 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 SignatureWrite 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 SpecificWrite 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 EventNote OffRelease key. Write channel number (1 ~ 16), key number (0 ~ 127) and velocity (0 ~ 127).
Note OnPush 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 TouchUse 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 ChangeAdjust 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 changeChange 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 TouchUse 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 BendChange 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 EventSystem 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

Open Source Midi Keyboard

No.BinHexNote Key NameDrum Key Name (GS)No.BinHexNote Key NameDrum Key Name (GS)
0000000000x00C-2-64010000000x40E3Low Conga
1000000010x01C#-2=Db-2-65010000010x41F3High Timbale
2000000100x02D-2-66010000100x42F#3=Gb3Low Timbale
3000000110x03D#-2=Eb-2-66010000110x43G3High Agogo
4000001000x04E-2-68010001000x44G#3=Ab3Low Agogo
5000001010x05F-2-69010001010x45A3Cabasa
6000001100x06F#-2=Gb-2-70010001100x46A#3=Bb3Maracas
7000001110x07G-2-71010001110x47B3Short Hi Whistle
8000010000x08G#-2=Ab-2-72010010000x48C4Long Low Whistle
9000010010x09A-2-73010010010x49C#4=Db4Short Gurio
10000010100x0AA#-2=Bb2-74010010100x4AD4Long Guiro
11000010110x0BB-2-75010010110x4BD#4=Eb4Claves
12000011000x0CC-1-76010011000x4CE4High Wood Block
13000011010x0DC#-1=Db-1-77010011010x4DF4Low Wood Block
14000011100x0ED-1-78010011100x4EF#4=Gb4Mute Cuica
15000011110x0FD#-1=Eb-1-79010011110x4FG4Open Cuica
16000100000x10E-1-80010100000x50G#4=Ab4Mute Triangle
17000100010x11F-1-81010100010x51A4Open Triangle
18000100100x12F#-1=Gb-1-82010100100x52A#4=Bb4Shaker
19000100110x13G-1-83010100110x53B4Jingle Bell
20000101000x14G#-1=Ab-1-84010101000x54C5Bell Tree
21000101010x15A-1-85010101010x55C#5=Db5Castanets
22000101100x16A#-1=Bb-1-86010101100x56D5Mute Surdo
23000101110x17B-1-87010101110x57D#5=Eb5Open Surdo
24000110000x18C0-88010110000x58E5-
25000110010x19C#0=Db0Snare Roll89010110010x59F5-
26000110100x1AD0Finger Snap90010110100x5AF#5=Gb5-
27000110110x1BD#0=Eb0High Q91010110110x5BG5-
28000111000x1CE0Slap92010111000x5CG#5=Ab5-
29000111010x1DF0Scratch Push93010111010x5DA5-
30000111100x1EF#0=Gb0Scratch Pull94010111100x5EA#5=Bb5-
31000111110x1FG0Sticks95010111110x5FB5-
32001000000x20G#0=Ab0Square Click96011000000x60C6-
33001000010x21A0Metronome Click97011000010x61C#6=Db6-
34001000100x22A#0=Bb0Metronome Bell98011000100x62D6-
35001000110x23B0Standard Kick 299011000110x63D#6=Eb6-
36001001000x24C1Standard Kick 1100011001000x64E6-
37001001010x25C#1=Db1Side Stick101011001010x65F6-
38001001100x26D1Standard Snare 1102011001100x66F#6=Gb6-
39001001110x27D#1-Eb1Hand Clap103011001110x67G6-
40001010000x28E1Standard Snare 2104011010000x68G#6=Ab6-
41001010010x29F1Low Tom 2105011010010x69A6-
42001010100x2AF#1=Gb1Closed Hi-hat106011010100x6AA#6=Bb6-
43001010110x2BG1Low Tom 1107011010110x6BB6-
44001011000x2CG#1=Ab1Pedal Hi-hat108011011000x6CC7-
45001011010x2DA1Mid Tom 2109011011010x6DC#7=Db7-
46001011100x2EA#1=Bb1Open Hi-hat110011011100x6ED7-
47001011110x2FB1Mid Tom 1111011011110x6FD#7=Eb7-
48001100000x30C2High Tom 2112011100000x70E7-
49001100010x31C#2=Db2Crash Symbal 1113011100010x71F7-
50001100100x32D2High Tom 1114011100100x72F#7=Gb7-
51001100110x33D#2=Eb2Ride Symbal 1115011100110x73G7-
52001101000x34E2Chinese Cymbal116011101000x74G#7=Ab7-
53001101010x35F2Ride Bell117011101010x75A7-
54001101100x36F#2=Gb2Tambourine118011101100x76A#7=Bb7-
55001101110x37G2Splash Cymbal119011101110x77B7-
56001110000x38G#2=Ab2Cowbell120011110000x78C8-
57001110010x39A2Crash Cymbal 2121011110010x79C#8=Db8-
58001110100x3AA#2=Bb2Vibra-Snap122011110100x7AD8-
59001110110x3BB2Ride Cymbal 2123011110110x7BD#8=Eb8-
60001111000x3CC3High Bongo124011111000x7CE8-
61001111010x3DC#3=Db3Low Bongo125011111010x7DF8-
62001111100x3ED3Mute High Conga126011111100x7EF#8=Gb8-
63001111110x3FD#3=Eb3Open High Conga127011111110x7FG8-

Control Change List

No.BinHexControl Change NameNo.BinHexControl Change Name
0000000000x00Bank Select MSB64010000000x40Hold Pedal 1
1000000010x01Modulation MSB65010000010x41Portament Pedal
2000000100x02Breath Controller MSB66010000100x42Sostenuto Pedal
3000000110x03-66010000110x43Soft Pedal
4000001000x04Foot Controller MSB68010001000x44Legato Pedal
5000001010x05Portament Time MSB69010001010x45Hold Pedal 2
6000001100x06Data Entry MSB70010001100x46Sound Controller 1 (Sound Variation)
7000001110x07Channel Volume MSB71010001110x47Sound Controller 2 (Harmonic Contents)
8000010000x08Balance MSB72010010000x48Sound Controller 3 (Release Time)
9000010010x09-73010010010x49Sound Controller 4 (Attack Time)
10000010100x0APan MSB74010010100x4ASound Controller 5 (Brightness)
11000010110x0BExpression MSB75010010110x4BSound Controller 6 (Decay Time)
12000011000x0CEffect Control 1 MSB76010011000x4CSound Controller 7 (Vibrato rate)
13000011010x0DEffect Control 2 MSB77010011010x4DSound Controller 8 (Vibato depth)
14000011100x0E-78010011100x4ESound Controller 9 (Vibrato delay)
15000011110x0F-79010011110x4FSound Controller 10
16000100000x10-80010100000x50-
17000100010x11-81010100010x51-
18000100100x12-82010100100x52-
19000100110x13-83010100110x53-
20000101000x14-84010101000x54Portament Control
21000101010x15-85010101010x55-
22000101100x16-86010101100x56-
23000101110x17-87010101110x57-
24000110000x18-88010110000x58-
25000110010x19-89010110010x59-
26000110100x1A-90010110100x5A-
27000110110x1B-91010110110x5BEffect 1 Deapth (Reverb Send Level)
28000111000x1C-92010111000x5CEffect 2 Deapth
29000111010x1D-93010111010x5DEffect 3 Deapth (Chorus Send Level)
30000111100x1E-94010111100x5EEffect 4 Deapth (Delay Send Level)
31000111110x1F-95010111110x5FEffect 5 Deapth
32001000000x20Bank Select LSB96011000000x60Data Increment
33001000010x21Modulation LSB97011000010x61Data Decrement
34001000100x22Breath Controller LSB98011000100x62NRPN LSB
35001000110x23-99011000110x63NRPN MSB
36001001000x24Foot Controller LSB100011001000x64RPN LSB
37001001010x25Portament Time LSB101011001010x65RPN MSB
38001001100x26Data Entry LSB102011001100x66-
39001001110x27Channel Volume LSB103011001110x67-
40001010000x28Balance LSB104011010000x68-
41001010010x29-105011010010x69-
42001010100x2APan LSB106011010100x6A-
43001010110x2BExpression LSB107011010110x6B-
44001011000x2CEffect Control 1 LSB108011011000x6C-
45001011010x2DEffect Control 2 LSB109011011010x6D-
46001011100x2E-110011011100x6E-
47001011110x2F-111011011110x6F-
48001100000x30-112011100000x70-
49001100010x31-113011100010x71-
50001100100x32-114011100100x72-
51001100110x33-115011100110x73-
52001101000x34-116011101000x74-
53001101010x35-117011101010x75-
54001101100x36-118011101100x76-
55001101110x37-119011101110x77-
56001110000x38-120011110000x78All Sound Off
57001110010x39-121011110010x79Reset All Controller
58001110100x3A-122011110100x7ALocal Control
59001110110x3B-123011110110x7BAll Note Off
60001111000x3C-124011111000x7COmni Mode Off
61001111010x3D-125011111010x7DOmni Mode On
62001111100x3E-126011111100x7EMono Mode On
63001111110x3F-127011111110x7FMono Mode Off

Program Change List (Voice Name List) for GM module

No.BinHexProgram Change Name (GM)No.BinHexProgram Change Name (GM)
0000000000x00Acoustic Grand Piano64010000000x40Sporano Sax
1000000010x01Bright Acoustic Piano65010000010x41Alto Sax
2000000100x02Electric Grand Piano66010000100x42Tenor Sax
3000000110x03Honky-tonk Piano66010000110x43Baritone Sax
4000001000x04Electric Piano 168010001000x44Oboe
5000001010x05Electric Piano 269010001010x45English Horn
6000001100x06Harpsichord70010001100x46Basoon
7000001110x07Clavi71010001110x47Clarinet
8000010000x08Celesta72010010000x48Piccolo
9000010010x09Glockenspiel73010010010x49Flute
10000010100x0AMusic Box74010010100x4ARecorder
11000010110x0BVibraphone75010010110x4BPan Flute
12000011000x0CMarimba76010011000x4CBlown Bottle
13000011010x0DXylophone77010011010x4DShakuhachi
14000011100x0ETubular Bells78010011100x4EWhistle
15000011110x0FDulcimer79010011110x4FOcarina
16000100000x10Drawbar Organ80010100000x50Lead 1 (square)
17000100010x11Percussive Organ81010100010x51Lead 2 (saw tooth)
18000100100x12Rock Organ82010100100x52Lead 3 (calliope)
19000100110x13Church Organ83010100110x53Lead 4 (chiff)
20000101000x14Reed Organ84010101000x54Lead 5 (charang)
21000101010x15Accordion85010101010x55Lead 6 (voice)
22000101100x16Harmonica86010101100x56Lead 7 (fifths)
23000101110x17Tango Accordion87010101110x57Lead 8 (bass + lead)
24000110000x18Acoustic Guitar (nylon)88010110000x58Pad 1 (new age)
25000110010x19Acoustic Guitar (steel)89010110010x59Pad 2 (warm)
26000110100x1AElectric Guitar (jazz)90010110100x5APad 3 (polysynth)
27000110110x1BElectric Guitar (clean)91010110110x5BPad 4 (choir)
28000111000x1CElectric Guitar (muted)92010111000x5CPad 5 (bowed)
29000111010x1DOverdriven Guitar93010111010x5DPad 6 (metallic)
30000111100x1EDistortion Guitar94010111100x5EPad 7 (halo)
31000111110x1FGuitar Harmonics95010111110x5FPad 8 (sweep)
32001000000x20Acoustic Bass96011000000x60FX 1 (rain)
33001000010x21Electric Bass (finger)97011000010x61FX 2 (soundtrack)
34001000100x22Electric Bass (pick)98011000100x62FX 3 (crystal)
35001000110x23Fretless Bass99011000110x63FX 4 (atomosphere)
36001001000x24Slap Bass 1100011001000x64FX 5 (brightness)
37001001010x25Slap Bass 2101011001010x65FX 6 (goblins)
38001001100x26Synth Bass 1102011001100x66FX 7 (echoes)
39001001110x27Synth Bass 2103011001110x67FX 8 (sci-fi)
40001010000x28Violin104011010000x68Sitar
41001010010x29Viola105011010010x69Banjo
42001010100x2ACello106011010100x6AShamisen
43001010110x2BContrabass107011010110x6BKoto
44001011000x2CTremolo Strings108011011000x6CKalimba
45001011010x2DPizzicato Strings109011011010x6DBag pipe
46001011100x2EOrchestral Harp110011011100x6EFiddle
47001011110x2FTimpani111011011110x6FShanai
48001100000x30String Ensemble 1112011100000x70Tinkle Bell
49001100010x31String Ensemble 2113011100010x71Agogo
50001100100x32Synth Strings 1114011100100x72Steel Drums
51001100110x33Synth Strings 2115011100110x73Woodblock
52001101000x34Choir Aahs116011101000x74Taiko
53001101010x35Voice Oohs117011101010x75Melodic Tom
54001101100x36Synth Vox118011101100x76Synth Drum
55001101110x37Orchestra Hit119011101110x77Reverse Cymbal
56001110000x38Trumpet120011110000x78Guitar Fret Noise
57001110010x39Trombone121011110010x79Breath Noise
58001110100x3ATuba122011110100x7ASeashore
59001110110x3BMuted Trumpet123011110110x7BBird Tweet
60001111000x3CFrench Horn124011111000x7CTelephone Ring
61001111010x3DBrass Section125011111010x7DHelicopter
62001111100x3ESynth Brass 1126011111100x7EApplause
63001111110x3FSynth Brass 2127011111110x7FGunshot

(C)2002-2021 kuzu Mincraft on pc.





broken image