Using custom MIDI instruments
From ZDoom Wiki
Using a .sf2, .sfpack, or .sfark soundfont
- First, you'll need the ZDoom Timidity. Just unzip it to wherever you want... preferably somewhere you can easily remember it's directory.
- After you download the soundfont you want to use, check it's file extension. In the case of the Crisis sound font, once you unrar it, you'll end up with a *.sfpack file. This a compressed version of a *.sf2 file (which is what you'll need).
- To uncompress the *.sfpack file, grab SFPack. This program can uncompress the *.sfpack file which will give you the needed *.sf2 file. There are other types of compressed soundfonts besides *.sfpack, for example *.sfark. There should be a program freely available to uncompress this file type as well, just Google around for it.
- Ok, so you should have your *.sf2 file (it will appear in the same directory as the *.sfpack file). Move the *.sf2 to its new and final directory; I moved it to my ZDoom Timidity directory in it's own folder (eg. c:\Doom\Timidity\Sndfont\CrisisGM301.sf2). Make sure you remember this directory.
- Now you want to tell Timidity that you want to use this soundfont and where it's located. To do this, open up your timidity.cfg file which is located wherever you installed Timidity at. Here's what you need replace in your .cfg file:
From:
############################################################################## # These are the standard patches that come with the GUS, mapped into GM # programs. # dir c:\gravis\ultrasnd\midi
To:
############################################################################## # These are the standard patches that come with the GUS, mapped into GM # programs. # soundfont c:\Doom\Timidity\Sndfont\CrisisGM301.sf2
- Now you need to setup ZDoom / GZDoom / Skulltag / etc. to use Timidty++ as its midi player. To do this, from the main menu go to Options -> Sound Options -> Select Midi Device. From here, scroll until you find "Timidity++".
- Even though you choose Timidity as the midi player, ZDoom doesn't know where Timidity is located (the console will say something about this). There's a CVAR you need to change in order to ZDoom to use Timidty; you can either do this through the console or in your *.ini. In either case, the CVAR you need to change is "timidity_exe". The value you want to give it is the directory where you installed ZDoom's Timidity; eg. c:\Doom\Timidity.exe. (be sure to put the .exe!).
- There are a few readmes that came with your copy of ZDoom's Timitidy...one you may want to skim over is README2.txt as it covers some information related to using Timidity with ZDoom.
- Occasionally while changing maps or going to the intermission screen, the music won't play. You can fix this by entering "snd_reset" in the console and it should start playing again.
- For more information on the subject at hand, visit the Soundfont Wikipedia page.
Using separate patch (.pat) files
Some instrument sets are distributed as a bunch of separate .pat files instead of a single .sf2 or .sfpack file. For example, freepats is distributed like this.
After unzipping freepats, you will see that the archive contained a few .cfg files. Take a look at these files; we will be referencing those config files from our timidity.cfg file.
To get an instrument set like this working, you can follow the directions above. The only difference will be the change to your timidity.cfg file, which should look something like this:
From:
############################################################################## # These are the standard patches that come with the GUS, mapped into GM # programs. # dir c:\gravis\ultrasnd\midi
To:
############################################################################## # These are the standard patches that come with the GUS, mapped into GM # programs. # dir c:\Doom\Timidity\Sndfont\freepats source freepats.cfg
As you can see, this is only slightly more complicated than using an .sf2 instrument set (because we have to load the config file that was distributed with the instruments).

