Hello everyone!
Buckle up, this is a bit of a read.
Like many others, I played EQ back in 2000 using a Win98 box and an AWE32 soundcard. I remember how amazing the music sounded for the time, and while current methods are close to what we had, it's still not 100% perfect due to the way soundfonts on actual AWE32 hardware work.
After a bit of research and tooling around, I've discovered a way to get the music to sound almost identical to what someone with a Win9x/AWE32 and Trilogy client would hear back in the day.
Currently, the closest we've been able to get is to load up 1mgm.sf2 and synthusr.sf2 into a software synth like VirtualMIDISynth in a specific order. It sounds good, even close! But there are still some pretty large inaccuracies, especially with certain tracks.
When loading EQ's synthusr.sf2 on a real AWE32 with the correct drivers, the soundfont expects the 1MGM ROM to be available to import and manipulate it's wave samples.
We can use a utility like Viena Soundfont Editor to verify this.

Here is synthusr.sf2 loaded into Viena. Notice on the left side under "samples" we see a list of !ROM: samples. These are the samples that synthusr.sf2 is expecting from the AWE32 ROM. If we click on one, we get an error that it isn't found.
Now let's load up 1mgm.sf2 (AWE32's official ROM in soundfont form) into Viena - and what do we find? All of the samples synthusr.sf2 is looking for, of course.

If we go back to synthusr.sf2 and look at the instrument presets, we'll notice that not only do many of the presets use a combination of wavetables - some existing in synthusr.sf2 and some from 1mgm.sf2, but synthusr.sf2 applies specific parameters (reverb, chorus, etc.) to the wavetables imported from 1mgm.sf2.
For this example, let's take Brass 1 from synthusr.sf2

We can see that this instrument preset combines BrassSectC3 from 1MGM 4 different times to create a unique sound that's different from simply using the preset from 1mgm.sf2 by itself. Every single preset in synthusr.sf2 uses the AWE32 ROM samples in this function. This is also true for all of the drum presets.
The limitations of using software synths like VirtualMIDISynth are that they don't allow individual soundfonts to import or access wavetable samples from another.
Now what we can do is import the 1MGM samples and reassign the missing wavetables from every instrument preset in synthusr.sf2 to use the correct ones, then save the resulting .sf2 out. You can now load it into something like XMPlay and play an original EQ .xmi file. (note: This new .sf2 removes the need to load 1mgm.sf2 at all)
The results speak for themselves - Here are a few tracks using the new .sf2 with correct samples:
Akanon track 1:
https://sndup.net/2ktsQeynos tracks 2 and 6:
https://sndup.net/5wfjhttps://sndup.net/9gn5West Karana (qey2hh1.xmi track 3)
https://sndup.net/853wKaladim tracks 5 and 6 (notorious for sounding terrible with the wrong soundfont)
https://sndup.net/536whttps://sndup.net/59m3I think you'll notice there's extra depth to instruments and all of the correct percussion sounds are working. The pieces now sound as close as to what I can remember from back then and how Mr. Jay Barbeau originally intended.
If you want to give it a try, the new .sf2 file is here ->
https://tinyurl.com/ybv4h2wv You can load it up into VirtualMIDISynth, OmniMIDI, or whatever soundfont synth you want and hear the music in game as it was intended.
One side note - The EMU8K on the AWE32 also allowed the hardware effects processor to be applied to MIDI out, including soundfonts. I am not 100% sure if the EQ client used this in any way. The only way to verify would be to run a Trilogy client on a Win9x box that has an AWE32 with the correct drivers installed.
Have fun!
Oh, and for those who just want to listen to the music, I dumped all of the .xmi subtracks into .mp3 using XMPlay and the new soundfont. You can find it at this link ->
https://tinyurl.com/y7vtaqpx