Note (December 29, 2021): For those with Windows 10, please see Improving MIDI Playback in Windows 10 and Firefox.
For those that might remember, my old computer system had a melt-down of sorts and I had to get a new one. This new system has Windows 7 Pro/SP1 64-bit and has a Realtek ALC892 Audio chipset in it. Regular MP3s and other digital music formats sound fine on it but MIDI files sounded like crap for the most part compared to my old system. I do still have the Sound Blaster X-Fi Elite Pro that was in my old system; however, I just never felt like going through the effort of trying to get it to work in this system due to its age and probably limited support in Windows 7 64-bit. Anyway, I knew the problem wasn’t so much the audio chipset (well, yes, it does have an impact) but the lack luster MIDI instrument samples that ship with Windows 7 which the included “Microsoft GS Wavetable Synth” uses. I also looked at the Sound Control Panel Applet and noticed that there was no option to set a default MIDI playback device like Windows XP had (which I still find rather odd.)
So, I went searching on the internet and found an article aptly titled: How to Make Midi Files Sound Better on Windows, which led me to CoolSoft’s VirtualMIDISynth. So I thought I would try it out and, what do you know, it works great! I was even able to load the SoundFont that my Sound Blaster X-Fi Elite Pro was using.
Anyway, since my website uses Windows Media Player to play its MIDI files with, I did need to use this software to change MIDI Mapper’s Default MIDI Out Device from Microsoft GS Wavetable Synth to CoolSoft VirtualMIDISynth:
Then, I loaded up the Soundfont my old card was using in the Soundfonts tab:
While it doesn’t sound exactly like it did before (due to the differences in audio hardware and drivers), it is now much closer because it is using better base sound samples to work with. MIDI files can sound much different simply by changing the Soundfonts used. I tried a few of the ones linked to at those sites and some of them aren’t too bad. Short of getting a new sound card that puts more emphasis on how MIDI sounds, this is a good compromise, and it’s free! LOL 🙂
Oh, for those using Firefox, the amount of memory that the associated plugin-container.exe process uses while playing a MIDI file will roughly match the size of the Soundfont(s) selected as it has to load them into memory. So, a 256MB Soundfont will cause it to use that much memory.
For those like me that also use Winamp, since the default device has now been changed for all of Windows, it will start playing MIDI files using the improved instrument sounds as well. However, you can directly change the MIDI playback device by going into Winamp’s Preferences -> Plug-ins -> Input -> Nullsoft MIDI Player -> Devices Tab and select the second midiOut / Microsoft MIDI Mapper choice (this is the one that came with Winamp v5.63):
Note: If you change the default MIDI Mapper device back to Microsoft GS Wavetable Synth in the VirtualMIDISynth Configurator then Winamp will show two entries for midiOut / Microsoft GS Wavetable. In this scenario, pick the second one. Why it doesn’t list VirtualMIDISynth specifically I do not know. I may send feedback to Coolsoft and/or Winamp about it.
Just for the heck of it, I swapped out Winamp’s current MIDI plug-in with a really old one that supported auto-loading Soundfonts. Its device listing is somewhat different and lists VirtualMIDISynth by name:
I tried the auto-load Soundfont option that this plug-in has for MIDI files that use a specific Soundfont; however, it didn’t work. Pretty sure that option only works with Sound Blasters (this did work in my old system).
Anyway, I’m still playing with different Soundfonts to get the best sound. Now I need to install a virtual MIDI keyboard so I can play specific instruments. Hope this information helps someone out there. 🙂
Pop MIDI File (Anchor)
Hi Mark, interesting stuff. I’m just looking at VSTs and GuitarPro’s RSEs… are these at all related to the MIDI device point above?
Also, I want to try and map a sound to a virtual instrument, and use a score to perform the number. I don’t think it’s MIDI that I’m looking for, but don’t know exactly how to phrase my search… imagine a cat – piano, or if you’ve ever seen Bill Bailey or Reggie Watts you may know what I’m talking about!
Can this be done? If so what tools do I need?
If I understand you correctly, you want to hit keys on a piano, guitar or whatever as the MIDI input device (or just by playing a regular MIDI file) and have it played using cat sounds or something instead of pianos and violins or whatever. If you want to use already made stuff, then I’d do a Google search for “Animal Soundfont”. I even found several references to “Cat Soundfont”. Anyway, you can then load that Soundfont into Coolsoft’s Virtual MIDI Synth to have it play files using those sounds.
If you want to digitize your own cat and make sounds from that, then you’d need a Wave file editor of some kind and a Soundfont Editor. I found this Polyphone Soundfont Editor here when doing a search: http://sourceforge.net/projects/polyphone/ (I have not used it so I have no idea how well it works.)
Hopefully that helps and gets you going in the right direction.
This is exactly what I was looking for, thank you so much for the article, now I can start enjoying all my MIDI files again, question, I just started learning about the SF2 format, I see there are tons of downloads available, I like some instruments sounds in one but not others, are we able to interchange or load several SF2 files at the same time, so I can use let’s say the Piano from one and the Strings from another?
Well, last time I really messed with the innards Soundfont files directly was like 20 years ago or something (geez, time flies). I had a Soundblaster Live and used Vienna’s Soundfont Studio that came with it. Anyway, you can use a Soundfont Editor: http://sourceforge.net/projects/polyphone/ to export and import sounds into your own or an existing Soundfont (I have never used this software so don’t ask me how to do anything with it LOL). You can load multiple Soundfonts at the same time but to play certain sounds from certain soundfonts you’d have to edit your MIDI files and instruct them which bank to play the instrument from or something; otherwise, you need to use a Soundfont editor to create your own custom Soundfont that everything would use without the need to edit the MIDI files themselves. (To be honest, I haven’t really messed with Soundfont stacking that much.)
I’d first pick a Soundfont that had most of what you liked, then use the Soundfont editor to export sounds from other Soundfonts and import/replace the sounds in your custom one that you don’t like.
Timidity and the Titanic 200 soundfont. Timidity is free and the latest package, which is quiet old, includes a configuration GUI. The Titanic font is broken into five files: four RAR’s and an EXE. Put them all in one folder and run the EXE without extracting the RAR’s. It will produce a single 275MB (yes, megabytes) SF2.
I used VirtualMIDISynth before, but the drums sound terrible compared to Timidity. But Timidity has an issue that it tends to have a half second delay when used with another program. But I find that solvable by restarting the program. And the GUI is ugly. But I don’t mind it; I only use Timidity with Guitar Pro 5 and Synthesia, which are my only two MIDI programs.
My only complaint against Timidity (the Timidity++ driver, more specifically) is that my computer sometimes decides Timidity doesn’t exist. The only fix is to reinstall Timidity.
Do you know of a place I could get “Diary of Jane (Acoustic Version)” by Breaking Benjamin in a midi file? Cause I absolutly love hearing the instruments like the piano in this acoustic version.
Mark, thank you so very much for this article. For ages I was trying to find a way to play my old midi files created with custom sf2 banks on freaking windows 7 with all those garbage drivers Creative made to support their old hardware. There was always a problem. But this is exactly what I need and it works marvels! You’re my hero man. Thanks again!
I’m an old sequencer from way back and record backing tracks for myself using Cakewalk Express, I know ages old technology. My new computer sound-card will not recognize the GM2 upper levels of midi sounds, so I wondered what’s the next level using midi. I have no idea of what player, program or how to set the sound-font to play with Cakewalk / Adobe.
Do you have a tutorial on youtube as you seem to know alot about this typeof thing.
Any help is greatly appreciated
Thanks for sharing your thoughts about soundfont. Regards
hello all of you thanks for allof this . I already tried installed some soundfonts , & really is good . I used midi & karaoke files for semi live gig in caffe & restaurants & use Vanbasco & soundfonts as samplers . & really sounds are much , much beter , but some of files have some deviation & are not usable . Now , I will try to instal all what is described & back with new informations . Anyway thanks for your good job
http://www.filefactory.com/file/3x3o5ga03fnb/Awave%20studio.rar midi convert program use it with studios software midi get slow download for Awave studio and share link to ur friends
http://www.filefactory.com/file/5x4ar5w2dsgv/Sonart%20Audio%20-%20%20Guitar%20-%20Sf2.rar get slow download for guitars sonar SF2 use it to you Fl studio
http://www.filefactory.com/file/rcoedb19k6t/korg_legacy_vst.rar this vst pluggins korg legacy shared link to ur friends use Fl studio Program and sed to facebook and Twitter every where download link vst
http://www.filefactory.com/file/19ah8ai9m8w7/KORG%20M1%20VST.rar korg m1 vst pluggins best pluggins korg send download link to every friend’s need vst
http://www.filefactory.com/file/3ffd1q4w53tf/KORG%20PA500%20rar.zip korg pa500 set full sounds and styles
http://www.filefactory.com/file/45fc0hupdyfb/SF2%20midi%20mix.rar share link SF2 midi mix keep to slow download for links of midi
http://www.filefactory.com/file/kzidb7pqf79/KORG%20PA600%20Sampling.rar this sampling midi solo get slow download for korg pa2 3 600 wave sounds
http://www.filefactory.com/file/5fjpfr9iuos1/saidi%20style%20and%20Wetra%20marocco.rar sample wave for korg pa2 3 600 and yamaha tyros brand and korg kornos
I’m really glad I’ve came across this informative post, this really helped me out quite a bit, by answering all my questions properly, hopefully the site will grow bigger and more popular as ever it was. Keep up the good work and I’m sure I’ll visit you up someday soon for more great articles. You may find great articles and music production tools at: http://www.lucidsamples.com by the way!
Got a question. I’m currently using REAPER as my DAW. It’s mapped to the Microsoft GS Wavetable, after installing Coolsoft, will I see Coolsoft as an output device in REAPER? It was a struggle getting REAPER setup to use the MS WAVETABLE, so I don’t want to screw things up. I’m not that technical.
It should show up as an additional output in Reaper; however, since I’ve never used this Reaper I can’t be 100% certain. But, if you use Coolsoft to change Windows’ setting then that will affect everything that plays MIDI files, including Reaper if Reaper is set to use whatever the Windows default is. I’d probably ask in the Reaper support forum if they have one.
Ahem..what about Roland MT-32 emulator like mt32emu driver?Sounds good but needs special mapped midi files.In short,MT-32 isn’t compatible with General MIDI.
Well, I don’t have any Roland MT-32 devices or MIDIs really to do anything with. I have General MIDI files so use General MIDI soundfonts. You would need to use soundfonts designed for Roland MT-32 I would imagine. A Google search seems to point to a few.