Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Crispy Doom and timidity?

Recommended Posts

Hello! I'm new to the forums as well as been trying to set up crispy doom to be able to play in a more authentic sense. I'm aware that Crispy and choco doom share this same sort of setup. I was hoping to play with a better midi player rather than the old dos style. But all the information on the setup for midi and/or gus implementation that're available for chocolate doom and crispy doom since it uses the same system are really confusing for me.

It seems like I need to find a way to install timidity properly if I want to use the midi player options or the GUS style of the music? But I've been searching for a bit now and I can't find a single dependable guide on how to setup timidity to be able to have the improved music players. Just individually downloading the 'eawpats' thing in chocolate doom's music readme, and trying to set crispy to the timidity.cfg doesn't work, that ends up with no music playing.


How do I set up a soundfont for crispy/chocolate doom? I can't find anything that works, and timidity install guides are from 2011 or further in the past. I would really love some assistance. Sorry if this is the wrong place for this post but I wasn't sure where else.

Share this post

Link to post

edit: If anyone comes across this post, look here for a more updated version for soundfonts, plus Doomkid's instructions on how to set up Virtual MIDI Synth for Windows, which is probably the best bet for Windows users.




Yeah the documentation on this is not great IMO, and neither are your options honestly. But here they are. I use Linux, I'm not sure if Win10 will behave similarly, so some of this might be different for you.


1) use a set of GUS patches like https://www.doomworld.com/files/file/13928-eawpats-gus-patches/. This is not a soundfont, though it serves the same purpose. It plays with sdl2-mixer's built in version of Timidity. You need to specify the path to the included timidity.cfg in crispy-doom-setup like this, and maybe edit that file to point to the right directory you unzipped it. (I didn't.) I don't know of any other General MIDI GUS patches but maybe there are some, somewhere. These sound OK but not amazing to me, but if you like the sound of them then it's a good solution.


2) Get a soundfont and create an environment variable called SDL_SOUNDFONTS with the value as the path to the soundfont, i.e. C:\Games\Doom\coolsoundfont.sf2. If the soundfont has an extension like sfz or sfark you need a program to unpack it, just search Google. Set your music device to the same one as for the step above; if SDL_SOUNDFONTS is set correctly it will override built-in Timidity. (This also means you need to unset it to use Timidity again.) This will use Fluidsynth to play the soundfont. IME on Linux, there's a big drawback to this, which is that Fluidsynth's chorus effect is SUPER LOUD and any instrument that uses it will drown out everything else; I assume this might be the case in Windows as well. The only way around this is to hack sdl2-mixer to not do this, which someone else will have to help you with for Windows, or use a soundfont that just doesn't use a chorus send, which is not any of the good quality soundfonts. You might also need libfluidsynth.dll from somewhere if it doesn't come with Crispy Doom.


3) Get a MIDI loopback device like LoopMIDI, get a MIDI synth that accepts MIDI input, and set it to your default MIDI device in Windows. Search in Doomworld seems to not be working for me right now(?) so I can't help more with this right now I'm afraid. I used to use a VST softsynth that worked OK but I can't remember the details.


4) In Linux you can edit crispy-doom.cfg or chocolate-doom.cfg and put a command to play MIDI files in the variable snd_musiccmd, which is blank by default. Setting this will override all other music playback options. This might work in Windows too if you get a command-line midi player, maybe Timidity++? One major downside is that you can't adjust the volume in-game at all, and looping won't work right.


Technical background info: sdl2-mixer includes an old version of Timidity that is compatible with their zlib licence, but doesn't play soundfonts. sdl2-mixer also can link to fluidsynth, but only with bad default parameters.

Edited by plums

Share this post

Link to post

Another option that I can't recommend enough for Windows is to use CoolSoft MidiMapper with either VirtualMidiSynth or Omnimidi. MidiMapper lets you change your system midi device from Windows's default player, and VirtualMidiSynth/Omnimidi are both virtual drivers that you can load soundfonts into. They're great in that you can switch or stack soundfonts on the fly, without having to manually configure each game or sourceport's soundfont settings.

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now