本文主要列出 MIDI 控制器消息的类型。

博主博客

控制器消息由 3 个字节的数据组成。第一个字节是状态字节, 16 进制介于 0xB0 和 0xBF 之间。 状态字节的高半字节是 B,它告诉 MIDI 设备这是一个”控制器”信息。状态字节的低半字节介于 0 和 F(十进制值中的 0 和 15)之间,指向 16 个 MIDI 通道之一。两个字节跟在状态字节之后。状态字节之后的第一个字节的值介于 0x00 和 0x7F 之间(十进制值为 0 和 127)并标识应该受到影响的控制器(见下文)。例如,值 0x07 表示这是一个乐器音量控制器。状态字节后的第二个字节携带控制器应接收的值。该值的含义取决于 MIDI 设备。

比如
0xB6 0x07 0x10

状态字节 0xB6 表明这是通道 6 的控制器消息。控制器是 0x07,它是乐器音量控制器。此音量应设置为 0x10。

以下是定义的标准控制器的列表。最后一列显示这些控制器是否需要符合标准通用 MIDI 1 (GM1) 或通用 MIDI 2 (GM2)。“Coarse”和“fine”应解释为控制器值的最高有效位 (MSB) 和最低有效位 (LSB),它们可以成对发送以形成 14 位值,在每个控制器的最高位之后值字节被丢弃。

16 进制值 10 进制值 控制器 要求版本
0x00 0 Bank select (coarse) 0-127 GM2
0x01 1 Modulation wheel (coarse) 0-127 GM1, GM2
0x02 2 Breath controller (coarse) 0-127
0x04 4 Foot controller (coarse) 0-127
0x05 5 Portamento time (coarse) 0-127 GM2
0x06 6 Data entry (coarse) 0-127 GM1, GM2
0x07 7 Channel volume (coarse) (formerly main volume) 0-127 GM1, GM2
0x08 8 Balance (coarse) 0-127
0x0A 10 Pan (coarse) 0-127 GM1, GM2
0x0B 11 Expression (coarse) 0-127 GM1, GM2
0x0C 12 Effect control 1 (coarse) 0-127
0x0D 13 Effect control 2 (coarse) 0-127
0x10 16 General purpose controller 1 (coarse) 0-127
0x11 17 General purpose controller 2 (coarse) 0-127
0x12 18 General purpose controller 3 (coarse) 0-127
0x13 19 General purpose controller 4 (coarse) 0-127
0x20 32 Bank select (fine) 0-127 GM2
0x21 33 Modulation wheel (fine) 0-127
0x22 34 Breath controller (fine) 0-127
0x24 36 Foot controller (fine) 0-127
0x25 37 Portamento time (fine) 0-127
0x26 38 Data entry (fine) 0-127 GM1, GM2
0x27 39 Channel volume (fine) (formerly main volume) 0-127
0x28 40 Balance (fine) 0-127
0x2A 42 Pan (fine) 0-127
0x2B 43 Expression (fine) 0-127
0x2C 44 Effect control 1 (fine) 0-127
0x2D 45 Effect control 2 (fine) 0-127
0x40 64 Hold (damper, sustain) pedal 1 (on/off) = 64 is on GM1, GM2
0x41 65 Portamento pedal (on/off) = 64 is on GM2
0x42 66 Sostenuto pedal (on/off) = 64 is on GM2
0x43 67 Soft pedal (on/off) = 64 is on GM2
0x44 68 legato pedal (on/off) = 64 is on
0x45 69 Hold pedal 2 (on//off) = 64 is on
0x46 70 Sound controller 1 (default is sound variation) 0-127
0x47 71 Sound controller 2 (default is timbre / harmonic intensity / filter resonance) 0-127 GM2
0x48 72 Sound controller 3 (default is release time) 0-127 GM2
0x49 73 Sound controller 4 (default is attack time) 0-127 GM2
0x4A 74 Sound controller 5 (default is brightness or cutoff frequency) 0-127 GM2
0x4B 75 Sound controller 6 (default is decay time) 0-127 GM2
0x4C 76 Sound controller 7 (default is vibrato rate) 0-127 GM2
0x4D 77 Sound controller 8 (default is vibrato depth) 0-127 GM2
0x4E 78 Sound controller 9 (default is vibrato delay) 0-127 GM2
0x4F 79 Sound controller 10 (default is undefined) 0-127
0x50 80 General purpose controller 5 0-127
0x51 81 General purpose controller 6 0-127
0x52 82 General purpose controller 7 0-127
0x53 83 General purpose controller 8 0-127
0x54 84 Portamento control 0-127
0x58 88 High resolution velocity prefix 0-127
0x5B 91 Effect 1 depth (default is reverb send level, formerly external effect depth) 0-127 GM2
0x5C 92 Effect 2 depth (formerly tremolo depth) 0-127
0x5D 93 Effect 3 depth (default is chorus send level, formerly chorus depth) 0-127 GM2
0x5E 94 Effect 4 depth (formerly celeste depth) 0-127
0x5F 95 Effect 5 depth (formerly phaser level) 0-127
0x60 96 Data button increment
0x61 97 Data button decrement
0x62 98 Non-registered parameter (coarse) 0-127
0x63 99 Non-registered parameter (fine) 0-127
0x64 100 Registered parameter (coarse) 0-127 GM1, GM2
0x65 101 Registered parameter (fine) 0-127 GM1, GM2
0x78 120 All sound off 0
0x79 121 All controllers off 0 GM1, GM2
0x7A 122 Local control (on/off) 0 off, 127 on
0x7B 123 All notes off 0 GM1, GM2
0x7C 124 Omni mode off 0
0x7D 125 Omni mode on 0
0x7E 126 Mono operation and all notes off
0x7F 127 Poly operation and all notes off 0

参考资料

MIDI Controller message