VOGONS


Yamaha XG emulation at last

Topic actions

Reply 280 of 298, by Falcosoft

User metadata
Rank l33t
Rank
l33t
zaphod77 wrote on 2026-09-23, 20:26:
Very interesting. the syxg70 that came with ff7 was the 2 mb version as near as I can tell, and it sounds significantly differen […]
Show full quote

Very interesting. the syxg70 that came with ff7 was the 2 mb version as near as I can tell, and it sounds significantly different. you are correct that it does NOT do the bad sound. i found a video reference. https://www.youtube.com/watch?v=LSkuTPRanuk

however, did you test the wdm driver with the 4 meg bank, or was it with the 2 meg? because your sample sure sounds like the 2 meg bank.

There are two versions of the wdm driver from microsoft, the 2 meg and the 4 meg.

I also have distinct memories of phaze1.mid playing back differently on the sy70xg compared to everything else, with the intro wacky wave having a lot more portamento all over the place, where there's nearly none on everything els ei tried it.

It's the 4MB version and both the VSTi and WDM driver version's output frequency were set to 44100 Hz so it can be considered an 'apple to apple' comparison.

The attachment wdmsettings.jpg is no longer available

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 281 of 298, by zaphod77

User metadata
Rank Member
Rank
Member

Well, this confirms the fault in the vsti itself, then. Which needs to be resolved by decompiling it, and then fixing the bug.

I've heard many rumors of other bugs, and the rom swap confirms that ones still exists unrelated to the changed samples.

My current theory is that the vsti is taking a few shortcuts to improve performance with low latency. these shortcuts are not present in the other synths, which have considerably more latency..

Reply 282 of 298, by hockinsk

User metadata
Rank Newbie
Rank
Newbie
Manners wrote on 2026-09-23, 01:45:

If you could isolate the instrument that's screwy that would be helpful

The 2MB version of S-YXG50 is kind of it's own beast. All the voices are 1 element only, so a lot of it sounds very different. Still uses some 16 bit waveforms though

It supports two elements

Fully layered (all 128 keys have 2 elements) — ~35 programs, heavily concentrated in the synth range:
Program 5 (Electric Piano 2), 18, 21, 23, 39, 62 (Synth Brass), and a big contiguous block 76–103 (Bottle/Shakuhachi through the entire Synth Lead / Synth Pad / Synth Effects GM range 81–103), plus 123. These are the classic dual-oscillator/pad patches — a body layer + a second detuned or attack layer across the whole keyboard.

Partially layered (only some keys get a 2nd element) — key/region-split voices:
prog 50 (23 notes), 51 (20), 60 (20), 109 (58), 112 (121), 122 (21). Here the second element only fires over part of the range — typically a key-split where certain zones add a layer.
Single element — the other 86 melodic programs (pianos, most acoustic instruments) are one element per note.

Drum kits (bank 127): 0 use two elements
All 9 captured kits are single-element per note — each drum note is one sample, as expected.

SYXG50 really is a 2 element (AWM2 layers) DSP-equivalent of the hardware, it's just hardware supports 16-bit/12-bit/8-bit DPCM, SXG50 is only 8/16-bit so especially 12-bit elements in hardware sound a little grittier if they were bumped down to 8-bit for the SYXG50 or 16-bit bumped down to 8-bit.

Reply 283 of 298, by RetroGamer4Ever

User metadata
Rank Oldbie
Rank
Oldbie

So, since we've been blessed with this sudden bounty of magnificent MIDI mods and upgrades, what are the chances of any of it making it's way to Linux users? STEAM OS is taking off and this would be a real boon to the Linux gaming community, as well as those who use Linux to make music. Between this MIDI stuff and the just released revamped Sierra Creative Interpreter stuff, we could see an explosion in HQ classic-style games with authentic MIDI sound available to everyone, not to mention a huge boom in game music soundtracks.

Reply 284 of 298, by Trelokk

User metadata
Rank Member
Rank
Member
Falcosoft wrote on 2026-09-23, 09:39:
[...] BTW, the S-YXG50 WinXP WDM driver version does not produce the problematic harsh sound when the Midi file is played and so […]
Show full quote

[...]
BTW, the S-YXG50 WinXP WDM driver version does not produce the problematic harsh sound when the Midi file is played and sounds somewhat different even when played alone:

The attachment SYXG50_WinXP_WDM.mp3 is no longer available

Maybe it's an aliasing problem in the VSTi version. It changes the sound noticeably when you change the playback frequency. At 22050 Hz is sounds good even with the VSTi version.

But that doesn't mean now one should reduce playback frequency for the S-YXG50 to 44kHz or even just 22kHz in general for more "accurate" playback, right?

Reply 285 of 298, by zaphod77

User metadata
Rank Member
Rank
Member

No we don't want to reduce the frequency. we want s-y50xg to sound more like a mu50 or mu80, not less. 😀

manners stated that the 2 meg version of s-yxg50 is the one that only includes one element per instrument, while the 4mb version does have two for some.

regardless i simply with to have the highest quality s-yxg50 that5 sounds most like a mu50 or mu80. 😀

Reply 286 of 298, by zaphod77

User metadata
Rank Member
Rank
Member

So, to sum up we have the following

0) S-yxg50. what everyone has been using as soon as it showed up. close, but not identical to a mu50. Known to have a few bugs, but there's no list of what they are. Been out for ages.
1) mame. innacurate for most things, though it's probably improving now. Out.
2) s-mu2000, which in full emulation mode is incredibly accurate, but only for mu2000ex. Native mode is a work in progress. Out, but you must compile yourself.
3) rom importer for x-yxg50. this improves s-yxg50's output quality, but doesn't quite make it 1:1 with hardware. it's pretty darn close though. Out.
4) ymf 754 HiEnd. this has fake better samples, but in theory it could have real better samples from the mu50 or mu80. It should be able to accept the full mu80 rom with no cutting off the pads. Out
5) muxg2k fully native project. wip, unreleased. primarily for DAW use, but free standalone will exist. Not out
6) possibly reversed s-yxg50 that loads mu 50 and mu80 roms, also almost certainly free if it comes out. Not out.

Have i missed anything?

Last edited by zaphod77 on 2026-09-25, 01:46. Edited 1 time in total.

Reply 288 of 298, by hockinsk

User metadata
Rank Newbie
Rank
Newbie

I tested a few DosBox games with MUXG2K.exe over the weekend using the default Windows midi loopback that will come in October from Microsoft. I just set DosBox and MUXG2K to the loopback device, all worked fine. So I'll look at stripping MUXG2K right back to a lean XG Level 1 or 2 version for gaming. I've also build for Linux ARM64 now so that opens up devices like Raspberry PI and all that side of things too.

Reply 289 of 298, by zaphod77

User metadata
Rank Member
Rank
Member

Be sure to test final fantasy vii xg midi soundtrack as well. 😀

It's a very good test suite that revealed many bugs in MAME's mu2000ex.

If this soundtrack sounds right, then the "can we use this for gaming" test can probably be considered passed.

These midis use many xg features and instruments.

Reply 290 of 298, by Trelokk

User metadata
Rank Member
Rank
Member

The S-MU2000 is definitely overkill for gaming purposes the way it is now, mostly because of its high CPU load (even though it got better lately). Since today there's even OnjLouis' MU2026-Hybrid which adds more overhead on top of everything.

So yeah, a lightweight gamer edition would definitely be appreciated. I would however need a VST2 version to use with Falcosoft's VST MIDI Driver.

Reply 291 of 298, by zaphod77

User metadata
Rank Member
Rank
Member

Don't need vst midi driver if you have a working loopback cable. I can recommend miniyoke ng. cable messages go through it just fine.

Reply 292 of 298, by gerwin

User metadata
Rank l33t
Rank
l33t

S-MU2000's live,exe is the simplest example that serves its purpose for gaming and listening to midi. You cannot see the midi track level meters (unfortunately) or adjust settings with sliders, but the sound is the same. A bit CPU heavy indeed...
https://github.com/Gerwin2k/S-MU2000-XPmod/releases
Official Fluidsynth.exe is also simple like that.
https://github.com/FluidSynth/fluidsynth/releases
I also XP-modded that one, but put it on my website instead https://www.gb-homepage.nl

Loopmidi or midiyoke or Yamaha virtual midi cable required.

--> ISA Soundcard Overview // Doom MBF 2.04 // SetMul

Reply 293 of 298, by zaphod77

User metadata
Rank Member
Rank
Member

Where is this Yamaha Virtual Midi Cable?

Reply 294 of 298, by gerwin

User metadata
Rank l33t
Rank
l33t
zaphod77 wrote on Yesterday, 19:48:

Where is this Yamaha Virtual Midi Cable?

Other then "on my Disk" I don't know where to get it. This is what I know about it:

ATS-MA7-SMAF-I160-e.zip
YVMIDIInstaller.exe / YVMIDI.sys
Copyright (c) 2004 YAMAHA CORPORATION
Creates four ports: "YAMAHA Virtual MIDI Device 0" + 1, 2 and 3.
Works for Windows 2000 and XP

--> ISA Soundcard Overview // Doom MBF 2.04 // SetMul

Reply 295 of 298, by Manners

User metadata
Rank Newbie
Rank
Newbie

Starting to build tables for the "Vampire" and GS mode works after all! I think the creators just never finished putting a GS map together, all the hidden GS banks point to copies of the same piano voice over and over

'Vampire' XG Engine Table format for version VampireXG_14_Nov_2021 […]
Show full quote

'Vampire' XG Engine Table format
for version VampireXG_14_Nov_2021

* A modified S-YXG50 table format with the following changes / upgrades:
1. WaveData offsets, External Drum Voice offsets, and Program map offsets upgraded from 16 to 32 bits
...Unlike similar 32-bit tables in the MU100+, these offsets are *1, not *2
3. Wavedata indexes from 8 bits to 16 bits, elements from 78 to 79 bytes to fit the new MSB at +78
4. Drumvoice table changed somewhat and external drum voice ID is now 16 bits LE
5. WaveData table modified to use 24 bit sample offsets + 32 bit loop address (*2) (all still BE)

* All program map & external drum voice offsets start in VoicesA
* VoicesB can be safely ignored / set to zero length
...for whatever reason Vampire.bin still uses VoicesB, having the offsets spill over the length of VoicesA

* quirks:
All drum voices must use external voices. Internal sample = crash
Sample Formats are all S16, rather than U16/U8

Vampire requires all drum voices to be piped through regular voices or it crashes, and while a few drum sounds like the Dance Kit snare already do this, regular voices weren't designed to have things like looping cymbals. The closest thing is the GS C/M cymbal voice, but it loops forever until key off... and most drum voices are designed to never receive key off. I'll figure it out

Reply 297 of 298, by zaphod77

User metadata
Rank Member
Rank
Member

btw i found a newer vampire.

https://drive.usercontent.google.com/download … d6JlTURsNrT5kk_

I still have no idea what the latest vampire version is, and without living in russia i can't sign up to vk.

also, as i may have mentioned, the DOC bank is safe to ignore, and is confirmed unused for gm, gs, or xg. the mu50 manual mentions the doc bank and shows that it has gaps in it. The weird data has something to do with the disklavier products that make use of this legacy mode. No one using your project is going to be attaching s-yxg50 to a Disklavier anytime soon. 😀

Anyway, it's HiEnd that should be able to handle full mu80. Failing that i'd like to se a hybrid table that uses the mu50 roms for the too big pads from mu80, and mu80 for everything else. This should be the highest quality xg level 1 softsynth.

As an experiment i'd also like to see the gs samples replaced by Roland ones. 😀

Reply 298 of 298, by Manners

User metadata
Rank Newbie
Rank
Newbie

Thanks again zaphod. Vampire 2021/2022 tables seem to be cross compatible. Can't speak to the differences in the DLLs, except they are only 173 bytes different

I have tables working, including the MU128 at 42MB of converted waverom, but the drums conversion needs more work. The C/M Cymbal I'm talking about is the regular voice one at program 120 msb=127, it's the only cymbal that works correctly at the moment