Since EDuke32 is (still?) missing internal settings options to change the default MIDI device, you don't have many options if you want to avoid using music packs (which are good but not available for custom addon packs which bring their own MIDI songs) while still being able to have music in the game that sounds good.
For me, it came down to two options: BASSMIDI or VirtualMIDISynth. The soundfont of my choice would be StrikingUAC's SC-55 soundfont.
My system runs on Windows 8.1 64bit, so I naturally expected to run into some problems.
At first, I tried BASSMIDI which had one major flaw: Even though everything was set up properly, MIDI songs still sounded exactly the same after launching EDuke32. Apparently, something didn't work with switching the MIDI mapper in Windows.
So I went for VirtualMIDISynth. It worked, MIDI sounded great, but EDuke32 would crash every time I wanted to quit the game. I tried to find out whether it was a problem with EDuke32, but tracing the crash was unfortunately impossible.
I decided to give BASSMIDI another try after that. The solution had to be found within the depths of the Windows registry, so I searched.
The entries in question are to be found under
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32
Among other entries in this section, the following two caught my attention:
midi wdmaud.drv
midi1 bassmididrv\bassmididrv.dll
Knowing that wdmaud.drv is the default Windows MIDI mapper (the one that sucks), I decided to make the entries switch places. So, right-clicking on the "midi"/"midi1" parts and choosing "Rename", I made it look like:
midi bassmididrv\bassmididrv.dll
midi1 wdmaud.drv
After that, BASSMIDI worked fine with EDuke32, using the SC-55 soundfont and no crashes when quitting the game. Maybe some of you guys will find this info useful in case you encounter similar issues. [Side note: For me, switching "midi"/"midi1" only mattered in Win8, while it didn't in Win7 (worked with bassmididrv.dll as "midi1" device there).]
Also, if you are interested in the topic in general, be sure to check out this thread over at VOGONS where I also found some hint about where to look for the MIDI mapper entries in the registry.
