Skip to content

MIDI Implementation

miotislucifugis edited this page May 8, 2022 · 29 revisions

MiniDexed recognises the following MIDI commands (taken from the source file: https://github.com/probonopd/MiniDexed/blob/main/src/mididevice.cpp).

MIDI Channel Voice Messages

All channel voice messages will act on a specific MIDI channel and will thus apply to any Tone Generators (TGs) listening on that specific MIDI channel and any TGs in MIDI OMNI Mode.

MIDI Command Hex Values Notes
Note Off 0x80 0..127
Note On 0x90 0..127
Control Change 0xB0 Various See table below
Program Change 0xC0 0..127 Only if MIDIRXProgramChange=1 in minidexed.ini
Pitch Bend 0xE0 tbd

MIDI Channel Control Change Messages

All channel control change messages will act on a specific MIDI channel and will thus apply to any Tone Generators (TGs) listening on that specific MIDI channel and any TGs in MIDI OMNI Mode.

MIDI CC Decimal Hex Values Notes
Bank Select (MSB) CC#00 0x00 0..127 Recognised, but not used
Modulation CC#01 0x01 0..127
Channel Volume CC#07 0x07 0..127 Local volume for a specific MIDI channel
Pan CC#10 0x0A 0..127
Bank Select (LSB) CC#32 0x20 0..127 Changes the voice bank in use. Currently up to 128 banks are supported (see Voice Data Syx Files)
Sustain CC#64 0x40 0..127 <=63 = OFF; >=64 = ON
Sound Controller 2 CC#71 0x47 0..127 Filter resonance
Sound Controller 5 CC#74 0x4A 0..127 Filter cut-off
Effects 1 Depth CC#91 0x5B 0..127 Reverb level
Effects 4 Depth CC#94 0x5E 0..127 Detune
All sound off CC#120 0x78 0
All notes off CC#123 0x7B 0

MIDI System Messages

tbd

MIDI System Real-time Messages

tbd

Clone this wiki locally