Home

About

Promote

Links


Quick start

Beginner's Guide

Illustrated Manual

Tutorials

XMPlay FAQ


Skins (146)

Visuals (115)

Input Plug-ins (35)

Output Plug-ins (5)

General Plug-ins (11)

Archive Reader (16)

Input Plug-ins (40)

DSP Plug-ins (10)

Tag Editing Plug-ins (6)

External Encoders (3)

External Add-ons (15)

XMPlay Archive (69)

Extra Tools
7.05 - xmp-midi
by Rich Nagel, 2012-08-14 14:53:00

(This is still a work in-progress...)


XMPlay MIDI Plugin

You can enjoy high-quality MIDI format music playback of your collection of MIDI files after installing the SoundFont compatable XMPlay MIDI Plugin. The XMPlay MIDI Plugin features:

  • Full multiple (as well as "stacked") SoundFont support for MIDI playback. Refer to the Freeware SoundFonts section below for a list of high-quality freeware SoundFonts that can be used with the XMPlay MIDI Plugin.
  • Ability to load custom SoundFonts for specific MIDI files (based upon MIDI file and SoundFont filename).
  • Supports playback of KAR/MID/MIDI/MUS/RMI/XMI MIDI file formats.
  • Display of embedded MIDI karaoke lyrics.
  • Display of all embedded MIDI comments, instruments, and markers.
  • Unlimited polyphony.
  • Supports 32-channel MIDI files.
  • Supports sinc interpolation for SoundFont MIDI synthesis.
  • Includes a 32-channel MIDI mixer.
  • Support for all common General MIDI (GM), General Standard (GS), and Yamaha Extended MIDI (XG) MIDI controllers, funtions, and System Exclusive messages (including Reverb and Chorus). Refer to the XMPlay MIDI Plugin MIDI Implementation Chart below for a complete list of MIDI controllers, functions, and System Exclusive messages that the XMPlay MIDI Plugin supports.
  • The XMPlay MIDI Plugin ZIP archive filesize is less than 32kb, and is an extremely small download.
  • The XMPlay MIDI Plugin is constantly being updated and supported by the author with new features, options, and bug fixes.
  • The best sounding SoundFont compatible software synthesizer, hands down... with the closest sounding MIDI playback to real E-mu SoundFont hardware available!

The SoundFont compatable XMPlay MIDI Plugin supports GM, GM2, GS, and XG reset System Exclusive messages; as well as the drum channel enabling features of GS and XG when switched into those modes.

The XMPlay MIDI Plugin also supports GS and XG reverb preset control messages (e.g. "Hall 1", "Plate", "Tunnel", etc...) for adjusting reverb time, reverb delay, reverb low-pass cut-off, reverb high-pass cut-off, and reverb level; as well as chorus preset control messages (e.g. "Chorus 1", "Celeste 1", "Flanger 1", etc...) for adjusting chrorus delay, chorus depth, chorus rate, chorus feedback, chorus level, and chorus to reverb send level.

Refer to the XMPlay MIDI Plugin MIDI Implementation Chart below for a complete list of MIDI controllers, functions, and System Exclusive messages that the XMPlay MIDI Plugin supports.


XMPlay MIDI Plugin Plugin DLL Location

XMPlay MIDI Plugin Options and Stuff Button

XMPlay MIDI Plugin Options and Stuff Panel

XMPlay MIDI Plugin SoundFont Configuration Panel

XMPlay MIDI Plugin Add SoundFont Dialog Box

XMPlay MIDI Plugin SoundFont Information Panel

XMPlay MIDI Plugin Mixer Panel

XMPlay MIDI Plugin SoundFont Samples Panel

XMPlay MIDI Plugin Lyrics_and Karaoke Panel


Freeware SoundFonts

The following is a list of high-quality General MIDI compatible freeware SoundFonts that can be used with the XMPlay MIDI Plugin (* = Useful for emulating various MIDI modules and sound cards):

"General MIDI" AWE32 ROM Dump SoundFont, by E-mu Systems (1.1 megabytes) *
http://heretics-hexens.ucoz.com/1mgm.sf2
http://connect.creativelabs.com/developer/SoundFont/SoundFont Librarian.zip (SFLib10c.zip)

"GS Sound Set (GM.dls)" Sound Canvas SoundFont, by Roland (3.5 megabytes) *
http://soundfonts.homemusician.net/collections_soundfonts/roland_gs_soundset.html

"Gravis Ultrasound Classic Patch Set v1.6b" Gravis Ultrasound SoundFont, by Arek Rak (5.9 megabytes) *
http://www.rarek.ceron.pl/gus.htm

"8MBGM E-mu Rev B (EmuAPS8.sf2/8MBGM.sf2)" SoundFont, by E-mu Systems (7.6 megabytes)
http://www.helpdrivers.com/sound/E-MU/Audio_Production_Studio_8mb_E-MU_GM_SoundFont_Bank/

"Roland SC-55 v1.1 (GM.dls)" Sound Canvas SoundFont, by DJ Tony (9.9 megabytes) *
http://www.mediafire.com/?a6qn1tc811b2ce1

"Chorium Revision A" SoundFont, by Open World (28.9 megabytes)
http://www.un4seen.com/download.php?extra/ChoriumRevA.rar

"General User GS" SoundFont, by Chris Collins (31.3 megabytes)
http://www.schristiancollins.com/generaluser.php

"¥Weeds¥ General MIDI SoundFont v3.0" SoundFont, by Rich ¥Weeds¥ Nagel (54.9 megabytes)
http://www.richnagel.net/#soundfonts
http://www.un4seen.com/download.php?extra/WeedsGM3.zip

"OPL-3 FM 128M" Sound Blaster 16 FM Synthesis SoundFont, by Zandro Reveille (135 megabytes) *
http://woolyss.com/chipmusic/chipmusic-soundfonts/OPL-3_FM_128M.zip
ftp://fm:fm@atomu.ath.cx:6872/OPL-3 FM 128M.sfpack

"Fluid R3 GM" SoundFont, by Frank Wen (148.4 megabytes)
http://soundfonts.homemusician.net/collections_soundfonts/fluid_release_3.html

"Arachno SoundFont v1.0" SoundFont, by Maxime Abbey (155.4 megabytes)
http://www.arachnosoft.com/main/download.php?id=soundfont

"SGM v2.01" SoundFont, by David Shan (247.4 megabytes)
http://www.geocities.jp/shansoundfont


XMPlay MIDI Plugin MIDI Implementation Chart and System Exclusive Messages

The following MIDI implementation chart details the MIDI controllers, functions, and System Exclusive messages that the XMPlay MIDI Plugin supports.

Note that all of the "XGEdit 95" Compatible parameters shown in the image below this chart that are 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 chart.

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).

XMPlay MIDI Plugin XGEdit 95 Compatibility

XMPlay MIDI Plugin XGEdit 95 Compatibility