Nuke.YKT, on 19 July 2019 - 10:14 PM, said:
There's no ideal solution right now unfortunately. I see two suggested solutions here, but let me left some notes about these:
1) OPL3 emulation via driver. First, OPL3 emulation of this driver is 99.9% accurate and it's indistinguishable from real hardware (In fact i'm the original author of this driver and wrote it's OPL3 emulation code, so i know what i'm saying). The problem of this solution arises from Duke's EMIDI format, which allows to composer to tweak composition depending on user's hardware (GM, SC, Adlib, SB, GUS etc). EDuke32 hardcodes this parameter to GM because it has no idea which kind of midi device user has and thus some tracks sound different than intended sound with OPL3 emulation(AHGEEZ.MID for example).
2) HT's OPL music pack. Well, this is not even OPL actually, but rather is inaccurate OPL clone by Creative called CQM (I think all decent software OPL emulators beat this in terms of accuracy). I don't recommend this.
For now i'd recommend to stick with OPL3 driver.
Also, if you're not aware, EDuke32 will have OPL3 emulation in future. My EDuke32 based ports NBlood and NRedneck/Rednukem already have this option.
Apologies as I don't mean the hijack the thread, but curious if there's ever been discussions about merging your forks back into the upstream code? I guess similar to how GZDoom can play any Doom engine game like Hexen, Heretic, Strife etc.