An XG-compatible tone generator, in your DAW
Version 1.0.0 · Need a hand? support@demix.me
MUXG2K is a modern recreation of the classic XG-era tone generator — a 64-part multitimbral rompler (four 16-channel MIDI ports) with 1,608 voices, 114 drum kits and 200 performances, GM- and XG-compatible, so General MIDI and XG arrangements play back in that unmistakable style. Run it as a plug-in on an instrument track, or as the Standalone app driven from a MIDI keyboard.
MUXG2K recreates the classic XG tone-generator experience. It is:
It reads and responds to standard MIDI; you supply the notes (from a sequence, a controller, or the on-screen keyboard) and MUXG2K makes the sound.
Run the installer for your platform and follow the prompts. On Windows the installer is signed; a brand-new release may show a Microsoft SmartScreen “unrecognised app” notice until the download reputation builds — this is normal for a newly-signed installer.
Formats: VST3, AU (macOS), LV2 (Linux), AAX, CLAP and a Standalone application, on Windows, macOS and Linux.
Licensing. MUXG2K uses the same licensing as the rest of the demix.me family:
| Edition | Formats included | Notes |
|---|---|---|
| Free | Standalone application only | Unlocks via a short email verification. Plug-in formats are not included, and the library is limited to the GM / XG voices and drum kit — premium voices, Performances (PERF) and the A/D audio input are paid. |
| Paid | VST3 · AU · AAX · CLAP · LV2 · Standalone | Up to 3 machines you own or control. Periodic internet check. |
While unlicensed, MUXG2K shows a full-window activation panel and produces no audio. Enter the email and activation key from your purchase and click Activate.
MUXG2K accepts MIDI and produces audio. It makes sound only while it is receiving MIDI and the host is passing audio — in a DAW, keep the track selected/armed and the transport running when you expect to hear it.
For a multi-part GM/XG sequence, route the whole sequence to one MUXG2K instance; it responds across all 64 parts over four MIDI ports (A = parts 1–16, B = 17–32, C = 33–48, D = 49–64), one per channel (see §7).
The Standalone starts from a fresh XG reset (Grand Piano on channel 1) each launch — it does not restore the previous session. To keep a setup, use Save Synth (§11).
The paid MUXG2K exposes, alongside the main stereo mix, 32 stereo “Part N” direct-out buses — one for each of Parts 1–32 (Ports A/B) — so 64 direct-out channels (66 including the main mix). Assign a part to its own bus with the MIXER → OUTPUT control (Part 1 → outputs 3/4, Part 2 → 5/6, and so on), then route that bus to a track/channel in your host. Direct outs cover Parts 1–32; Parts 33–64 (Ports C/D) always play to the main mix. Per-part direct outs are a paid-plug-in feature; the free Standalone plays the main stereo mix.
The window is a fixed size. From top to bottom:
GM · GM2 · GS), the type toggles (VOICE · PERF · USER), the MUXG2K logo, and a RESET button.PB · MW · CAT · PAT · AC1 · AC2) and live per-part sliders on the right (VOL · CUT · RES · REV · CHO · VAR).Click the MUXG2K logo at any time to open the in-plug-in quick manual.
The manual overlay (opened from the logo) has a Settings tab with engine and workflow options:
Beta builds add developer diagnostics here too — a debug-log pane, a raw-MIDI dump, per-element Sample Bands on the keyboard, and a Send debug report button — to help us track down issues during the beta.
The voice browser lists every voice, drum kit and performance. Narrow it with:
XG voices by the MU model they debuted on: All, XG Level 1, MU80, MU90, MU100, MU128 or MU(1)2000 (the MU1000/2000/2000EX share one voice set).GM (General MIDI Level 1), GM2 (General MIDI 2), and GS — the MU2000's Roland-GS-compatible TG300B mode, which shows the TG300B drum kits and is off by default (their upper range is imperfectly captured). SFX voices are part of XG and appear alongside the XG voices — there's no separate SFX toggle.VOICE (melodic voices), PERF (the 200 factory performances/combis), and USER (your saved content). Shift-click combines them; a plain click is exclusive.msb=, lsb=, pc=, or an MSB/LSB/PC triplet).The library holds 1,608 voices, 114 drum kits and 200 performances (1,922 in all).
Click a row to load that voice on the current part. An incoming MIDI program-change (with bank select) also selects the matching voice and scrolls the browser to it, clearing filters if needed so you can see what's playing.
A performance is a multi-part combi patch: up to four layers, each a voice over a key/velocity split with its own transpose, detune, level, pan and effect sends, all played by the same incoming MIDI. Performances are ideal for splits (bass left / piano right) and layers (piano + strings).
MUXG2K is always 64-part multitimbral across four MIDI ports (A = parts 1–16, B = 17–32, C = 33–48, D = 49–64), like the MU2000 over USB. On each port, MIDI channel N plays that port's part N, whatever part the editor is showing. The part selector (1–64, four port pages) only changes:
So a General MIDI or XG file with drums on channel 10 and instruments across the other channels plays back correctly with no setup — select each part to tweak its voice, level, pan or effects. Songs that use several ports are handled automatically: a loaded Standard MIDI File routes each track to its port (A–D) from its MIDI-Port meta events or A…–D… track names, so parts such as drums on A10 and B10 stay separate.
Each parameter tab is a panel of value chips; click a chip to make it the target of the big master slider, then drag to set the value. Hover any chip for a plain-language description (with the MIDI CC it corresponds to) in the help bar. The main per-part tabs:
Global tabs: Effects (§10), Multi EQ (a master 5-band EQ with Flat/Jazz/Pops/Rock/Concert presets), and System (master volume, tune, transpose, plus Save/Load Synth).
Velocity response. Like the original hardware, voices react to how hard you play: velocity opens the filter, so soft notes sound mellower and harder notes brighter — tuned per voice from the real tone-generator behaviour. It's automatic (no control to set), and it's a good thing to A/B against an MU unit.
The envelope editors sit in the edit area, each drawn as points on a timeline that scrubs with the notes you play. Editors whose names start with i (“internal”) show the tone generator’s own baked-in behaviour and are read-only — they let you see what a voice does under the hood, alongside the parameters you can edit:
Drag a point on an editable envelope (AEG / PEG / iFEG) to shape the sound; the change maps to the corresponding XG parameter. The read-only i views (iPEG / iPTG) are there for reference and A/B comparison against the original hardware.
MUXG2K carries the XG effect structure of the original hardware, in three blocks plus insertion effects:
The reverb, chorus, variation and insertion effects run a hardware-matched engine modelled on the original's DSP and A/B-matched to it, so the effect types, parameters and send/return levels track the classic XG behaviour closely.
Click a TYPE chip in the Effects tab to open its type list; clicking a type (or the current one) selects it and opens its parameter editor — reverb time, diffusion, initial delay, HPF/LPF, dry/wet, feedback, etc. The panel dims the editor; the keyboard stays playable underneath; click outside or press Escape to close. Routing chips (Return, To Reverb, To Chorus, Conn for system-vs-insertion, Part for the insertion target) control how each block is wired.
Like the MU-series hardware's A/D INPUT, MUXG2K can take an external stereo audio signal and run it through the tone generator's output stage and effects — process a guitar, vocal or any line source through the same reverb, chorus and variation effects as the synth parts. The A/D input is a paid-plug-in feature.
Open the A/D INPUT tab to treat the input as a part: Volume, Dry Level (how much dry reaches the mix, independent of the sends — lower it to run fully wet), Pan, and Reverb / Chorus / Variation send levels. The sends start at 0 (dry) — raise them to route the audio through the effects; in Variation Insertion mode the input is passed through the insertion effect. Like the hardware's A/D part, the input feeds the main stereo mix (with its effects) rather than the individual part outputs. A/D settings are saved with your project and with whole-synth presets.
MUXG2K implements the XG MIDI set:
The on-screen keyboard and wheels generate the same MIDI on the selected part's channel.
MUXG2K exposes the musical controls of all 64 parts (ports A–D) as automatable parameters, named P1 … P64 (the host labels carry each part's A/B/C/D port letter): Volume, Pan, Expression, Cutoff, Resonance, Reverb, Chorus, Variation, Mod, Attack, Decay, Release and Vibrato Rate / Depth / Delay, plus per-part Program and Bank MSB / LSB for full voice-select automation. The global Master Volume, Attenuator, Transpose and Tune, and every effect parameter, are automatable too. Automate them from the host like any plug-in parameter. They share the same path as the matching MIDI CC, so the last change wins (a later MIDI CC overrides automation and vice-versa), and moving one of the on-screen wheels writes to its parameter so it can be recorded.
For the complete list of every message, controller, RPN, NRPN and XG SysEx address MUXG2K responds to, see the MIDI implementation chart in Appendix A.
No sound. MUXG2K only sounds while it receives MIDI and audio is flowing. In a DAW, arm/select the track and run the transport; confirm the part's channel matches your MIDI. If unlicensed, activate first — the engine is silent until then.
Only two channels of output. That's the main stereo mix. In the paid plug-in you can also use the per-part direct outs — assign parts to Part-N buses via Mixer → Output and route those buses in your host (§3). The free Standalone plays the main stereo mix.
A voice won't appear in the browser. Clear the search box and check the toggles: a melodic voice needs VOICE on and its bank enabled (GM/GM2/GS, or it's XG), and any selected family must match. Drum kits and Model Exclusive voices show only when their family button is selected; the GS(TG300B) drum kits also need the GS toggle on. RESET clears everything back to the default view.
Some XG SysEx from my sequence isn't taking effect. XG extends MIDI with System Exclusive (SysEx) messages to reach parameters beyond the standard controllers — many part, effect, drum-setup and system settings. On the original hardware you send that SysEx down the MIDI cable and it all applies. As a plug-in, whether your host forwards SysEx to an instrument — and how completely — depends on the host and the plug-in format, not on MUXG2K (which does read XG SysEx when the host delivers it). Practical guidance:
Standalone forgot my setup. The Standalone starts fresh each launch — use Save Synth to keep a setup.
Which build am I running? The build id is shown in the corner of the window (e.g. v1.0.0b (3)). Include it in any support report.
MUXG2K is developed by demix.me.
When reporting an issue, include the build id from the corner of the window so we know exactly which binary you're running.
MUXG2K is an independent, XG-compatible tone generator, made for interoperability and preservation. Yamaha, XG, MU1000 and MU2000 are trademarks of Yamaha Corporation, used here only to describe format compatibility; demix.me is not affiliated with, endorsed by, or sponsored by Yamaha.
MUXG2K is 64-part multitimbral over four MIDI ports: on each port, MIDI channel N plays that port's part N (A = parts 1–16, B = 17–32, C = 33–48, D = 49–64). Everything below is what the engine actually responds to. All values default to 64 = no offset for the sound-shaping CCs, and every message type can be enabled or disabled per part via the Receive switches (see the last table).
| Message | Response |
|---|---|
| Note On / Off | Plays / releases the part's voice. Note On velocity 0 = Note Off. Honours the part's note & velocity limits, mono/poly mode and release (Lift) velocity. |
| Poly Aftertouch | Per-note pressure, routed through the part's PAT assign (pitch / filter / amp / LFO). |
| Channel Aftertouch | Channel pressure, routed through the CAT assign (default = vibrato depth). |
| Pitch Bend | ±range set by RPN 0,0 (default ±2 semitones). |
| Program Change | Selects the voice, committing the staged Bank Select. |
| Bank Select (CC#0 MSB + CC#32 LSB) | Staged; takes effect on the next Program Change (XG CC#0 → CC#32 → PC order). |
| CC# | Function | CC# | Function |
|---|---|---|---|
| 0 | Bank Select MSB (staged) | 71 | Harmonic content / resonance |
| 1 | Modulation | 72 | Release time |
| 5 | Portamento time | 73 | Attack time |
| 6 / 38 | Data Entry MSB / LSB | 74 | Brightness / cutoff |
| 7 | Volume | 75 | Decay time |
| 10 | Pan | 76 / 77 / 78 | Vibrato rate / depth / delay |
| 11 | Expression | 84 | Portamento control |
| 32 | Bank Select LSB (staged) | 91 | Reverb send |
| 64 | Sustain (Hold 1) | 93 | Chorus send |
| 65 | Portamento on/off | 94 | Variation send |
| 66 | Sostenuto | 96 / 97 | Data increment / decrement (RPN) |
| 67 | Soft pedal | 98 / 99 | NRPN LSB / MSB |
| — | AC1 / AC2 (assignable, default CC#16 / #17) | 100 / 101 | RPN LSB / MSB |
| 120 | All Sound Off | 121 | Reset All Controllers |
| 123 | All Notes Off | 126 / 127 | Mono / Poly mode |
| RPN (MSB, LSB) | Parameter |
|---|---|
| 0, 0 | Pitch-bend range (0–24 semitones) |
| 0, 1 | Master fine tune (±100 cents) |
| 0, 2 | Master coarse tune (±24 semitones) |
Sound-shaping (MSB 01): vibrato rate/depth/delay, filter cutoff & resonance, HPF cutoff, EQ bass/treble gain & frequency, EG attack/decay/release — the same targets as CC#71–78.
Drum (MSB 14–1F, LSB = drum note): per-note filter cutoff/resonance, attack/decay, pitch coarse/fine, level, pan, and reverb/chorus/variation send.
| Message | Response |
|---|---|
| GM / GM2 System On, XG System On | Full XG reset |
| Identity Request | Replies as a demix.me MUXG2K |
| Universal Master Volume / Fine / Coarse Tuning | Global volume & tuning |
| XG Parameter Change | System (tune/volume/attenuator/transpose), System effects (reverb / chorus / variation), Multi EQ, Insertion effects 1–4, Drum Setup 1 & 2, and full per-part Multi-Part parameters (bank/program, tuning, pan, sends, filter, EG, EQ, controllers, scale tune, receive switches). Multi-byte packets are auto-split into per-address writes. |
Each part can individually enable or disable receipt of: Note, Pitch Bend, Channel Aftertouch, Poly Aftertouch, Program Change, Control Change (master), Bank Select, RPN, NRPN, Modulation, Volume, Pan, Expression, Hold 1, Portamento, Sostenuto, Soft Pedal. A message whose switch is off is ignored for that part.
Current known issues and recent fixes for MUXG2K, updated as development progresses.
Loading…