Skip to content
Tom M edited this page Sep 25, 2019 · 31 revisions

This is a list of MIDI events that fluidsynth handles by default. That "handling" is either given by the General MIDI standard or the SoundFont spec.

Note: In order to control even more aspects of the sound synthesis (e.g. ADSR, low pass filter cutoff & resonance, reverb & chorus amount) SoundFont modulators must be used.

MIDI Message Implementation Chart

MIDI Message Implementation Status
NOTE_OFF ✔️
NOTE_ON ✔️
CONTROL_CHANGE See related table below.
MIDI_SET_TEMPO ✔️
PROGRAM_CHANGE ✔️
CHANNEL_PRESSURE ✔️
KEY_PRESSURE ✔️
PITCH_BEND ✔️
MIDI_SYSTEM_RESET ✔️

MIDI Control Change Implementation Chart

MIDI CC Implementation Status
(000) BANK_SELECT ✔️ Interpretation of MSB and LSB depends on synth.midi-bank-select
(001) Modulation Wheel ✔️ SF2 default modulator
(002) Breath Controller ⚠️
(004) Foot Controller
(005) Portamento Time ✔️ See PolyMono documentation in /doc/polymono/FluidPolyMono-0004.pdf
(006) DATA_ENTRY ✔️ MSB and LSB.
(007) Channel Volume ✔️ SF2 default modulator
(008) Balance non-standard SF2 modulators.
(010) Pan ✔️ SF2 default modulator
(011) Expression ✔️ SF2 default modulator
(064) SUSTAIN_SWITCH ✔️ See documentation in /doc/FluidSostenuto-005.pdf
(065) PORTAMENTO_SWITCH ✔️ See PolyMono documentation in /doc/polymono/FluidPolyMono-0004.pdf
(066) SOSTENUTO_SWITCH ✔️ See documentation in /doc/FluidSostenuto-005.pdf
(068) LEGATO_SWITCH ✔️ see PolyMono documentation in /doc/polymono/FluidPolyMono-0004.pdf
(084) Portamento Control (PTC) ✔️ See PolyMono documentation in /doc/polymono/FluidPolyMono-0004.pdf
(091) Effects 1 Depth (Reverb Send Level) ✔️ SF2 default modulator
(093) Effects 3 Depth (Chorus Send Level) ✔️ SF2 default modulator
(098) NRPN_LSB See related table below
(099) NRPN_MSB See related table below
(100) RPN_LSB See related table below
(101) RPN_MSB See related table below
(120) ALL_SOUND_OFF ✔️
(121) ALL_CTRL_OFF ✔️
(123) ALL_NOTES_OFF ✔️
(124) Omni Mode Off ✔️ See PolyMono documentation in /doc/polymono/FluidPolyMono-0004.pdf
(125) Omni Mode On ✔️ See PolyMono documentation in /doc/polymono/FluidPolyMono-0004.pdf
(126) Mono Mode ✔️ See PolyMono documentation in /doc/polymono/FluidPolyMono-0004.pdf
(127) Poly Mode ✔️ See PolyMono documentation in /doc/polymono/FluidPolyMono-0004.pdf

RPN Control Change Implementation Chart

RPN CC Implementation Status
(000) RPN_PITCH_BEND_RANGE ✔️
(001) RPN_CHANNEL_FINE_TUNE ✔️
(002) RPN_CHANNEL_COARSE_TUNE ✔️

NRPN Control Change Implementation Chart

All SF2 generators can be altered with NRPN Control Change messages. See section 8.1.2 in the spec.