First post, by ZipoBibrok
I might have somehow managed to modify Duke Nukem 3D AWE32 driver to load custom soundfont to AWE32 under DOS. New version of PAWE32.LIB that supports SF2 seems to break sound effects (mixing?) code, don't know why yet.
Video with some level skipping to different songs:
https://www.youtube.com/watch?v=KODFV7jJIz0
If you have 8MB RAM on your AWE32, you can try putting DUKE3D.EXE and DUKE3D.SF2 from this archive to your Duke Nukem 3D (1.4/1.5) directory, set Music card to AWE32 and Sound FX card to None (will otherwise freeze at intro) and if you're very lucky the music might now sound a little different. Probably won't work under Windows, if at all. I have absolutely no idea what I'm doing and I'm not responsible if this somehow makes your computer crash, wipe your hard drive and explode killing everyone in 100km radius.
The soundfont is based on Chaos V2.0 12MB with unused instruments removed and replaced with ROM ones, by sheer luck reducing the size to just barely fit in 8MB of RAM. Soundfont version tag has to be 2.00, library refuses to load 2.01 or over (changing it with hex editor seems to be enough). Also if there are too many instruments/drum kits it will crash.
Butchered audiolib source code as attachment. Basically just copypasted soundfont loading stuff from DEMO.C in AWE developer pack adding some useless debug printf's and replaced old CTAWEAPI.H and PAWE32.LIB files with newer ones from adip.exe.