Posted: 11-03-07 4:33 am
There is a free software MIDI driver available that may be a significant improvement over your Windows software synth, or even your hardware synth if you have an onboard sound card. It's called TiMidity++ and uses sets of recorded audio samples that can also be found for free. It was originally written for Linux but was conveniently turned into a Windows MIDI driver.
This is a guide to help get it set up and running on your Windows computer using a highly acclaimed free SoundFont called FluidR3. I've only tested this in Windows XP so your mileage may vary on Vista or others.
But, it can get even better. Read on...
NOTE: In Synthesia, TiMidity can introduce a little bit of lag between you hitting a key and it playing, because it's a software driver and requires a bit more buffer between note input and wave output, but the lag varies across computers. You may or may not have a problem with it.
I was able to make it a little better (at least, I think I did; it's hard to tell...) by opening the twsyng program that it added to my Start Menu. Then, right-clicking the system tray icon it creates, going to "Preferences", the "Synthesizer" tab, and changing the "Compute max time msec" down to a smaller number like 100 ms instead of 500.
This is a guide to help get it set up and running on your Windows computer using a highly acclaimed free SoundFont called FluidR3. I've only tested this in Windows XP so your mileage may vary on Vista or others.
- Go to the Japanese TiMidity++ Windows Synthesizer SourceForge download page and grab "TiMidity-CVS080328_setup_ENG.exe".
- Run the installer and proceed past the first couple screens and agreement until you get to the "Choose Components" screen.
- Be sure to check the box labeled "Timidity++ Driver". (You can uncheck every other box if you'd like.)
- I didn't change the "C:\timidity" folder in case the software had trouble with pathnames containing spaces, but you might be able to put it in Program Files if you're feeling lucky.
- During the install, you'll get one of those "This driver is unsigned" prompts. Those are creepy. Click "Continue Anyway".
But, it can get even better. Read on...
- Next, you need a sample library. The HammerSound SoundFont Library page contains many free and for-pay sample sets. One of the most highly recommended sound sets is named FluidR3 by Frank Wen. Here is the direct FluidR3 download page at HammerSound. Choose a mirror there and grab all 68 MB.
- Extract both the "FluidR3 GM.sfArk" and "FluidR3 GS.sfArk" files from the zip and put them someplace you can work with them.
- .sfArk is a compressed SoundFont file format. TiMidity++ can only use the uncompressed .SF2 file format. So, you need a tool that can do the decompression. Get sfArkXTc available on the sfArk SoundFont Compression page and install it.
- Drag the start menu shortcut out to your desktop or your working folding (so that you can drag-drop files onto it) and drop each .sfArk file on it, one at a time. This will create an exe for each.
- Run the new "FluidR3 GM.sfArk.exe" and "FluidR3 GS.sfArk.exe" applications. Each will decompress into an .SF2 file. (The GM exe will take a while and results in a 141 MB file.)
- At this point you can delete the FluidR3 zip, both .sfArk's, and both exe's, leaving just the two .SF2 files. You may also uninstall the sfArk extractor if you wish.
- Move both SF2 files to the C:\timidity\ directory (or wherever you installed the driver).
- Download the following configuration file attached to this post into C:\timidity\ (If you chose someplace other than the default install directory you'll need to change the first line of the config file in a text editor.)
- You may need to restart your computer for the MIDI driver to appear in your list of output devices in MIDI-enabled programs.
NOTE: In Synthesia, TiMidity can introduce a little bit of lag between you hitting a key and it playing, because it's a software driver and requires a bit more buffer between note input and wave output, but the lag varies across computers. You may or may not have a problem with it.
I was able to make it a little better (at least, I think I did; it's hard to tell...) by opening the twsyng program that it added to my Start Menu. Then, right-clicking the system tray icon it creates, going to "Preferences", the "Synthesizer" tab, and changing the "Compute max time msec" down to a smaller number like 100 ms instead of 500.