...
And one thing: some of these files use a bank offset of 1! And indeed expect a full GM soundfont at bank 0.
Others use bank 0! It's really messy. So Falco was right in suggesting the DBNK solution, it really cleans up the mess in the SF2 version we created.
...
Hi,
Nice finding!
In the linked package actually 11 of the 15 files use destination Bank 1 and 13 of 15 files rely on a default GM soundfont at Bank 0 (even ones that do not use Bank offset of 1).
So despite what Ian suspected the majority of RMI files with embedded DLS were not self-contained in practice at all and many of them did not use Bank 0 as deafult.
What is more it seems the 'default' in practice was just the opposite (and the same as the default in our RMI+SF2 specification and in case of Creative's demo MID+SF2 files).
So it seems the demand for variaton based and offset using soundfonts was real even back then but the MMA made RMI+DLS specification was not explicit how to handle such cases.
Our RMI+SF2 specification is much more clear in this sense.
PS:
Most of the files even with a bank offset of 1 can be played back properly by Winamp since MS Soft Synth can use Capital Tone Fallback so even if the Midi file refers to bank 1 and the soundfont is loaded to bank 0 by Winamp the missing bank 1 falls back to default bank 0. But one of the Midi files (HTONIGHT.rmi) uses instruments at bank 2 (in the DLS file these presets are at bank 1) and this way the CTF feature does not work since it skips the proper bank and falls back to bank 0 that results in wrong instruments. So this file strictly requires a bank offset of 1 for proper playback.
But to the rescue here is our new format so this file can be played back the way it is meant to be played
(The Bassmidi version linked by Ian above also works with this file).
Listen to channel 4. You should hear 'house tonight 22kHz' instrument with a human voice (from about 23 sec.):