BASSMIDI SoundFont Compatible MIDI Synthesizer Driver
MIDI Implementation Chart and System Exclusive Messages

MIDI Implementation Chart | RPN Controllers | NRPN Controllers | Setup Events Sysex | Scale Tuning Sysex
Reverb Types Sysex | Reverb Parameters Sysex | Chorus Types Sysex | Chorus Parameters Sysex

The following MIDI implementation chart details the MIDI controllers, functions, and System Exclusive messages that the freeware BASSMIDI SoundFont Compatible MIDI Synthesizer Driver for Windows supports. The BASSMIDI Driver utilizes Un4seen Developments' BASSMIDI Audio Library (BASSMIDI.dll) for it's SoundFont synthesis engine, hence the MIDI implementation chart is applicable for the BASSMIDI Audio Library (or any program that utilizes it) as well.

Note that all of the XGEdit 95 Compatible parameters shown in this image displayed in bright green are standard GM/GS MIDI controllers and System Exclusive messages, while all of the parameters shown in the image displayed in bright yellow are special XG MIDI controllers and System Exclusive messages directly referenced by this document.

MIDI Implementation Chart

Function Transmitted Received Description / Remarks
Basic Channel No Yes 1..16
Note Number No Yes 0..127
Velocity No Yes Note On
Aftertouch No Yes Channel
Pitch Bend No Yes -8192..0..+8192
Program Change No Yes 0..127
Controller Change 0 No Yes Bank Select
1 No Yes Modulation
5 No Yes Portamento Time
6 No Yes Data entry MSB
7 No Yes Volume
10 No Yes Panning
11 No Yes Expression
38 No Yes Data Entry LSB
64 No Yes Sustain Pedal
65 No Yes Portamento
67 No Yes Soft Pedal
71 No Yes Low-Pass Filter Resonance
(XGEdit 95 Compatible: RES)
72 No Yes Release Time
(XGEdit 95 Compatible: AMP EG)
73 No Yes Attack Time
(XGEdit 95 Compatible: AMP EG)
74 No Yes Low-Pass Filter Cutoff
(XGEdit 95 Compatible: CUTOFF)
84 No Yes Portamento Control
91 No Yes Reverb Depth
93 No Yes Chorus Depth
98, 99 No Yes NRPN LSB, MSB
100, 101 No Yes RPN LSB, MSB
120 No Yes All Sounds Off
121 No Yes Reset All Controllers
123 No Yes All Notes Off
126, 127 No Yes Polyphonic Mode (0 = Poly, 1 = Mono)
System Exclusive Messages No Yes
GM/GS/XG Mode Reset
(refer to Setup Events below)
Scale Tuning (GS/XG)
(refer to Scale Tuning below)
Instrument/Drums Channel Switch (GS)
Master Volume (GS)
Reverb Type (XG)
(refer to Reverb Types below)
Reverb Level (XG)
(refer to Reverb Parameters below)
Reverb Time (XG)
(refer to Reverb Parameters below)
Reverb Initial Delay (XG)
(refer to Reverb Parameters below)
Reverb High-Pass Cutoff (XG)
(refer to Reverb Parameters below)
Reverb Low-Pass Cutoff (XG)
(refer to Reverb Parameters below)
Chorus Type (XG)
(refer to Chorus Types below)
Chorus Level (XG)
(refer to Chorus Parameters below)
Chorus Send to Reverb (XG)
(refer to Chorus Parameters below)
Chorus Modulation Frequency (XG)
(refer to Chorus Parameters below)
Chorus Modulation Depth (XG)
(refer to Chorus Parameters below)
Chorus Feedback Level (XG)
(refer to Chorus Parameters below)
Chorus Modulation Delay Offset (XG)
(refer to Chorus Parameters below)

RPN Controllers

RPN Data entry MSB Description / Remarks
MSB: 0
LSB: 0
0..127 Pitch Bend Sensitivity
(Data entry MSB: 0..127 semitones), Initial Value = 2 (2 semitones)
MSB: 0
LSB: 1
0..64..127 Master Fine Tuning
(Data entry MSB: -100..0..+99.99 cents), Initial Value = 64 (0 cent)
MSB: 0
LSB: 2
0..64..127 Master Coarse Tuning
(Data entry MSB: -64..0..+63), Initial Value = 64 (0 semitones)

NRPN Controllers

NRPN Data entry MSB Description / Remarks
MSB: 1
LSB: 32
0..64..127 Cutoff Frequency (relative change)
(Data entry MSB: -64..0..+63)
MSB: 1
LSB: 33
0..64..127 Resonance Frequency (relative change)
(Data entry MSB: -64..0..+63)
MSB: 20
LSB: 0..127
0..64..127 Low-Pass Filter Cutoff of drum instrument (relative change on specified drum instrument)
NRPN LSB: key number of drum instrument
(Data entry MSB: -64..0..+63 semitones)
MSB: 21
LSB: 0..127
0..64..127 Low-Pass Filter Resonance of drum instrument (relative change on specified drum
instrument)
NRPN LSB: key number of drum instrument
(Data entry MSB: -64..0..+63 semitones)
MSB: 24
LSB: 0..127
0..64..127 Coarse tuning (pitch) of drum instrument (relative change on specified drum instrument)
NRPN LSB: key number of drum instrument
(Data entry MSB: -64..0..+63 semitones)
MSB: 25
LSB: 0..127
0..64..127 Fine tuning of drum instrument (relative change on specified drum instrument)
NRPN LSB: key number of drum instrument
(Data entry MSB: -100..0..+100 semitones)
MSB: 26
LSB: 0..127
0..127 Key volume level of drum instrument (absolute change on specified drum instrument)
NRPN LSB: key number of drum instrument
(Data entry MSB: zero-normal/full)
MSB: 28
LSB: 0..127
0..64..127 Panpot of drum instrument (absolute change on specified drum instrument)
NRPN LSB: key number of drum instrument
(Data entry MSB: Left-Center-Right)
MSB: 29
LSB: 0..127
0..127 Reverb send level of drum instrument (absolute change on specified drum instrument)
NRPN LSB: key number of drum instrument
(Data entry MSB: zero-maximum)
MSB: 30
LSB: 0..127
0..127 Chorus send level of drum instrument (absolute change on specified drum instrument)
NRPN LSB: key number of drum instrument
(Data entry MSB: zero-maximum)

Setup Events System Exclusive Messages

Mode System Exclusive Data Description / Remarks
GM Mode On F0 7E 7F 09 01 F7 Enables General MIDI mode
GS Mode Reset F0 41 10 42 12 40 00 7F 00 41 F7 Resets all General Standard mode parameters
XG Mode On F0 43 10 4C 00 00 7E 00 F7 Enables Yamaha Extended MIDI mode

GS/XG Scale Tuning System Exclusive Messages

Scale Tuning Key
(XGEdit 95 Compatible:
TUNE
)
System Exclusive Data
(Hex)
MIDI Channel
(Hex) | (Decimal)
Cents Offset
(Hex) | (Decimal)
Scale Tuning C F0 43 10 4C 08 Channel 41 Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning C# F0 43 10 4C 08 Channel 42 Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning D F0 43 10 4C 08 Channel 43 Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning D# F0 43 10 4C 08 Channel 43 Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning E F0 43 10 4C 08 Channel 45 Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning F F0 43 10 4C 08 Channel 46 Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning F# F0 43 10 4C 08 Channel 47 Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning G F0 43 10 4C 08 Channel 48 Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning G# F0 43 10 4C 08 Channel 49 Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning A F0 43 10 4C 08 Channel 4A Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning A# F0 43 10 4C 08 Channel 4B Cents F7 00..0F 00..15 00..40..7F -64..00..+63
Scale Tuning B F0 43 10 4C 08 Channel 4C Cents F7 00..0F 00..15 00..40..7F -64..00..+63

XG Reverb Effect Types System Exclusive Messages (MIDI Controller 91)

Effect Type
(XGEdit 95 Compatible:
EFFECT NAME
)
System Exclusive Data Description / Remarks
Hall 1 F0 43 10 4C 02 01 00 01 00 F7 Reverb simulating the resonance of a hall
Hall 2 F0 43 10 4C 02 01 00 01 01 F7 Reverb simulating the resonance of a hall
Room 1 F0 43 10 4C 02 01 00 02 00 F7 Reverb simulating the resonance of a room
Room 2 F0 43 10 4C 02 01 00 02 01 F7 Reverb simulating the resonance of a room
Room 3 F0 43 10 4C 02 01 00 02 02 F7 Reverb simulating the resonance of a room
Stage 1 F0 43 10 4C 02 01 00 03 00 F7 Reverb simulating the resonance of a stage
Stage 2 F0 43 10 4C 02 01 00 03 01 F7 Reverb simulating the resonance of a stage
Plate F0 43 10 4C 02 01 00 04 00 F7 Reverb simulating a metal-plate reverb unit
White Room F0 43 10 4C 02 01 00 10 00 F7 Unique short reverb with a bit of initial delay
Tunnel F0 43 10 4C 02 01 00 11 00 F7 Reverb simulating a tunnel (expanding to left and right)
Basement F0 43 10 4C 02 01 00 13 00 F7 Reverb simulating a basement (initial delay, followed
by reverb with unique resonance)
No Effect F0 43 10 4C 02 01 00 00 00 F7 Reverb effect deactivated

XG Reverb Effect Parameters System Exclusive Messages (MIDI Controller 91)

Parameter Type
(XGEdit 95 Compatible)
System Exclusive Data
(Hex)
Range
(Hex)
Range
(Decimal)
Reverb Level (LEVEL) F0 43 10 4C 02 01 0C 40 F7 00..7F 000..127
Reverb Time (TIME) F0 43 10 4C 02 01 02 12 F7 00..45 000..069
Reverb Initial Delay (I.DEL) F0 43 10 4C 02 01 04 08 F7 00..3F 000..063
Reverb High-Pass Cutoff (HPF) F0 43 10 4C 02 01 05 0D F7 00..34 000..052
Reverb Low-Pass Cutoff (LPF) F0 43 10 4C 02 01 06 31 F7 22..3C 034..060

Note: The example data bytes shown in the chart above are the default parameters for the "Hall 1" reverb effect type (refer to Reverb Types above).

XG Chorus Effect Types System Exclusive Messages (MIDI Controller 93)

Effect Type
(XGEdit 95 Compatible:
EFFECT NAME
)
System Exclusive Data Description / Remarks
Chorus 1 F0 43 10 4C 02 01 20 41 00 F7 Conventional chorus effect that adds natural spaciousness
Chorus 2 F0 43 10 4C 02 01 20 41 01 F7 Conventional chorus effect that adds natural spaciousness
Chorus 3 F0 43 10 4C 02 01 20 41 02 F7 Conventional chorus effect that adds natural spaciousness
Chorus 4 F0 43 10 4C 02 01 20 41 08 F7 Chorus with stereo input (using MIDI channel panning setting)
Celeste 1 F0 43 10 4C 02 01 20 42 00 F7 3-phase LFO that adds modulation and spaciousness
Celeste 2 F0 43 10 4C 02 01 20 42 01 F7 3-phase LFO that adds modulation and spaciousness
Celeste 3 F0 43 10 4C 02 01 20 42 02 F7 3-phase LFO that adds modulation and spaciousness
Celeste 4 F0 43 10 4C 02 01 20 42 08 F7 Celeste with stereo input (using MIDI channel panning setting)
Flanger 1 F0 43 10 4C 02 01 20 43 00 F7 Conventional flanger effect that adds a jet-engine effect
Flanger 2 F0 43 10 4C 02 01 20 43 01 F7 Conventional flanger effect that adds a jet-engine effect
Flanger 3 F0 43 10 4C 02 01 20 43 08 F7 Conventional flanger effect that adds a jet-engine effect
No Effect F0 43 10 4C 02 01 20 00 00 F7 Chorus effect deactivated

XG Chorus Effect Parameters System Exclusive Messages (MIDI Controller 93)

Parameter Type
(XGEdit 95 Compatible)
System Exclusive Data
(Hex)
Range
(Hex)
Range
(Decimal)
Chorus Level (LEVEL) F0 43 10 4C 02 01 2C 40 F7 00..7F 000..127
Chorus Send to Reverb (ToREV) F0 43 10 4C 02 01 2E 40 F7 00..7F 000..127
Chorus Modulation Frequency (FREQ) F0 43 10 4C 02 01 22 06 F7 00..7F 000..127
Chorus Modulation Depth (DEPTH) F0 43 10 4C 02 01 23 36 F7 00..7F 000..127
Chorus Feedback Level (FB) F0 43 10 4C 02 01 24 4D F7 01..7F 001..127
Chorus Modulation Delay Offset (DELAY) F0 43 10 4C 02 01 25 6A F7 00..7F 000..127

Note: The example data bytes shown in the chart above are the default parameters for the "Chorus 1" chorus effect type (refer to Chorus Types above).


Rich „Weeds„ Nagel
[email protected]
http://www.richnagel.net

August 2, 2012
(Rev. 3.1)