From ZDoom Wiki
Jump to navigation Jump to search
For more information on this article, visit the TiMidity page on the Doom Wiki.

MiniWikipediaLogoIcon.pngTiMidity++ is a software synthesizer capable of using a wide variety of sound fonts. It is one of the options offered by ZDoom for MIDI playback.

Setting up TiMidity++

TiMidity++ uses the timidity_config console variable to point out to any of the following:

  • An SF2 sound font file
  • A ZIP file containing a configuration file called timidity.cfg and a collection of GUS patches
  • A TiMidity or GUS configuration file

The default value of "gzdoom" makes it use GZDoom's default soundfont, so changing this is only necessary if you want to use a different sound font or patch set.

In ZDoom

Note: Starting from GZDoom 3.3.0, TiMidity++ is now an internal MIDI player. This information below is now outdated.

TiMidity++ is an external program, so setting it up is a bit more complicated than for the other MIDI devices.

  • First, you will need to download TiMidity for ZDoom and extract it in an appropriate directory, for example a timidity/ subdirectory in your ZDoom installation.
  • Then, edit the timidity.cfg file which is in the directory where you installed TiMidity for ZDoom. You need to tell it where to find your sound font. Two options are possible:
  • An actual soundfont: use two lines, first dir <path-to-soundfont>, then soundfont <soundfont-file>
  • A collection of patches: use two lines, first dir <path-to-patches>, then source <patch-config-file-name.cfg>
  • Finally, ZDoom needs to be told where TiMidity can be found. Use the timidity_exe console variable to point to the TiMidity for ZDoom binary.

Once that is done, set TiMidity++ as the MIDI device in the sound options menu.

Advantages and drawbacks

  • TiMidity++ can load more types of sound font formats than the other synthesizers offered by ZDoom
  • Although it ignores certain features of the SF2 format and load them as if they were a collection of GUS patches, it is more resistant to errors than FluidSynth
  • It uses relatively little CPU power

See also

Thread links