[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fluid-dev] FluidSynth MIDI driver for DOSBox

From: Matt Giuca
Subject: [fluid-dev] FluidSynth MIDI driver for DOSBox
Date: Sun, 29 Jul 2012 16:16:45 +1000

Since I mentioned on the RC testing program about using FluidSynth as a DOSBox backend, I thought I'd explain.

I recently played through all of the King's Quest games (marvellous historical look at the evolution of adventure games) in DOSBox and I came up to King's Quest VII and the music didn't work. I had also had this problem with another Sierra game, Phantasmagoria, which uses the same engine. It turns out that unlike most DOS games (including the previous games in the series), which use AdLib or some other kind of music synthesis that DOSBox can natively handle, these two games were using MPU-401, which basically means General MIDI. DOSBox doesn't natively render MPU-401 music, it just sends it out to the OS as normal MIDI commands.

I worked around this by opening up a FluidSynth server in the background whenever I played these games, and told DOSBox to send its MIDI output to the same channel. But this always felt like a bit of a hack. I could have possibly set up FluidSynth to launch on start-up, but that would have been a bit of configuration work, and I don't actually want it running all the time, only when I play a select few games. Besides, you can't expect everybody to have a FluidSynth server, and furthermore, if you use it on Windows, it works, but it sounds terrible since it's using whatever Windows uses for MIDI synth these days.

So I made a patch for DOSBox to add 'fluidsynth' as a built-in MIDI driver. Rather than sending MIDI commands to an external program, DOSBox can now be configured to use the FluidSynth API and send MIDI commands directly to an in-process MIDI renderer. You can even configure the soundfont in the dosbox.conf file, so you don't need to provide it as a command-line flag. It works nicely, and I can now get proper music in KQ7 and Phantasmagoria on any platform without having to run a separate server.

I submitted the patch here (apparently they don't have any better way to take pull requests or even a mailing list, you are just supposed to attach patches on the forum) about four months ago. I got a few people saying thanks, but nobody has accepted the patch into the mainline. Oh well -- I suppose there isn't a huge number of games that use MPU-401. But if anybody on this list is interested, there it is. (And my Bazaar branch for DOSBox is here.)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]