VirtualMIDISynth is a software MIDI synthesizer implemented as a Windows multimedia user driver, accessible as a standard MIDI Out device.
It works on Windows XP (SP3) / Vista (SP1) / 7 (SP1) / 8.x / 10 (both x86 and x64), and is based on the great BASS library from un4seen.
Playing a MIDI (o karaoke) file on Windows has always been a poor-quality experience, because the well known bundled "Microsoft GS Wavetable Synth" synth is just... ehm... simple: poor samples, mono sound, no effects (reverb, chorus) support.
Software synts deeply improve quality, but sometimes they're difficult to install or limited to specific uses, like the ones integrated in some DAWs or karaoke players.
Till Windows XP some virtual devices existed on 32bits systems, like the well-known YAMAHA XG SoftSynthetizer S-YXG50 and Cakewalk-sfz+ (both unsupported now).
Nowadays, on x64 systems, we're out of luck: none of them works anymore.
One day Ian Luck (un4seen) added to his BASSMidi library a great feature: the possibility to render a live MIDI stream, including SysEx messages. I quickly realized that, if only I could intercept that MIDI stream and drive it through Ian's library, well, we would have got a great MIDI Synth.
The challenge was to create a good quality synth and keep the end user away from complicated virtual MIDI chains (ever tried VanBasco -> MIDI Yoke/LoopBe1 -> SynthFont chain ?).
User only needs a new virtual MIDI Out device, select it as output on his preferred player settings and... start playing, nothing more.
Here we are, VirtualMIDISynth is the answer: an user mode multimedia x86/x64 driver that works on Windows XP / Vista / 7 / 8 / 10 (both x86 and x64), implemented as a MIDI Out virtual device.
- User mode multimedia driver, no reboots, no BSOD
- Directly accessible as MIDI Out device, no need for virtual MIDI cables (like MIDI Yoke, LoopBe1)
- Supports up to 4 virtual devices, each with its own soundfont configuration (new in version 2.x)
- Virtually unlimited polyphony (limited only by available CPU power)
- MIDI mixer to set track mute/volume, accessible through systray icon
- Integrated MIDI converter to easily convert your MIDI files to WAV/MP3/FLAC
- Lightweight setup (~1.2 MBytes)
- No DLL cluttering, everything is self contained installation folder (except for MIDI device driver) (new in version 2.x)
- Clean installer, won't affect other MIDI devices
- Efficient RAM usage (allows using large SoundFonts, > 1GByte)
- Load soundFonts (up to available memory), enable/disable/chain them at your will; native 64bit version (on x64 OS) is not limited to 4GByte (new in version 2.x)
- Configure MIDI Mapper default device (this feature is already available in XP, but missing in Vista / Windows 7)
- Windows 8/10 users can also install CoolSoft MIDIMapper and configure it straight from VirtualMIDISynth configurator to get the well-known MIDI Mapper back to their systems
- Multilanguage dialogs.
If you want to help in translation, see here for status then get in touch to have access to the online translation system.
Well, having a better MIDI experience is easy as 1-2-3:
- Download VirtualMIDISynth setup following the link at the bottom of this page and install it (you need administrative privileges)
- Download a SoundFont (you'll find a list of free high quality files below), save it locally on your computer and add it to VirtualMIDISynt
- Run your favourite MIDI application and configure it to use VirtualMIDISynt (or set VirtualMIDISynt as your default MIDI Out device)
- Donate to CoolSoft ;)
oops, this step was not mandatory, anyway... thanks for doing it!
Maxime Abbey wrote a really detailed documentation on how to setup and configure VirtualMIDISynth; you can find it here.
FAQ & Troubleshooting
Why are you still playing MIDI files? Have you ever heard of MP3?
Well, first because MIDIs are cool and compact; in a few megabytes you can store thousands songs.
Second, I love Karaoke; VanBasco is one of my preferred MIDI/KAR players.
Third, with MIDI you can silent some tracks, change tempo and pitch easily.
I tried playing a MIDI file on my PC, and it sucks!
I agree, that's why I wrote VirtualMIDISynth!
MIDI only contains "instructions" on what should be played: instruments, notes, their length, power and so on. It's up to the synthesizer to generate sound from these "commands".
The bundled Windows synthesizer, "Microsoft GS Wavetable Synth", is the worst.
Which players work with VirtualMIDISynt?
VirtualMIDISynt works with Windows Mediaplayer and MPlayer classic. Since these players cannot change their MIDI out device, you must set VirtualMIDISynt as your default device.
I suggest you to try VanBasco player, which is one of the best MIDI/KAR players around.
How much does it cost?
VirtualMIDISynt is freeware, you can use it as you like.
If you use it "professionally" you're encouraged to make a donation.
Why are you releasing it for free?
Because the greatest part of MIDI synthesis is done by BASS libraries from un4seen; I only wrapped them in a Windows driver and gave them an easy to use interface.
That's great, how can I thank you?
Join to the forum and help other users, or promote it to your friends / forums / social networks.
You could also support development with a donation.
Is there a tutorial available?
Don Allen wrote a great setup tutorial on MIDIKAR Yahoo group, freely available here.
That group is full of great MIDI experts and enthusiastics, please follow it.
If you're experiencing problems using VirtualMIDISynth, here's a list of common issues already solved.
Please check all of them before reporting a bug.
VirtualMIDISynth is freeware, use it as you like.
Donations are welcome, especially if you earn money with it (live performances, public karaoke sessions, ...)
Here you'll find a list of some free and quality SoundFonts available on the net.
Please let me know if I miss something or if any link dies...
Some fonts are compressed with sfArk or sfPack.
This page contains links to decompressors: http://woolyss.com/chipmusic-soundfonts.php#compressors
Still my preferred, the one I test VMS with (about 71Mb sfArk compressed, 141,5 Mb after decompression)
- Timbres Of Heaven
By Don Allen (219 MB uncompressed).
Also take a look at midikar Yahoo group, where you'll find a lot of MIDI fans; Don is really active there.
- Arachno SoundFont
By Maxime Abbey (80 MB SfArk compressed).
It also have a detailed documentation on how to install it on VirtualMIDISynth.
(about 240 MB, need 7zip to uncompress)
(about 19.6 MB)
(about 26,5 MB)
- CrisisGeneralMidi 3.01
The largest I've ever seen (about 1,57 GB uncompressed).
Use the menu at the top of page to find download link.
- TimGM6mb (SourceForge download link)
By Tim Brechbill (about 4MB)
- Merlin Vienna Soundfont
(about 16MB, sfArk compressed)
- GeneralUser GS
By Christian Collins (about 27MB)
- Keppy's Steinway Piano
Piano only soundfont by KaleidonKep99 (100Mb compressed, 350 uncompressed).
WARNING: this SF is on GitHub, to download it click on "Releases".
- Good list of soundfonts, suggested one is 084.0mg ALL In ONE GM V1.1 Bank.sf2
(sorry, I can't read Japanese so I can't categorize its licensing)
- Princess Soft SF2 (by Giovannino Imperi)
NOTE: Soundfont author will devolve part of his donations to VirtualMIDISynth project.
If you like this SF2, please let him him know you're a VirtualMIDISynth user.
Links to sites that talk about us:
- Setup tutorial (english by Don Allen, the author of Timbres Of Heaven soundfont)
- Setup tutorial (italian by Giovanni Pioggine - ChimeraRevo)
- Il blog del Salmo 69 blog (ita)
- Musink (free music-composition software)
- Virtual MIDI Piano Keyboard (opensource and multiplatform MIDI keyboard)
v.2.0.1 - 2017-04-23
|NEW||Added Korean and Ukrainian translations.|
|NEW||Added analog audio devices list to debug report.|
|FIX||MIDI Mixer context menu is now shown both when right clicking on title bar and pressing the Application key.|
|FIX||Fixed vertical scrollbar in options tab becoming transparent on Win10, making it unaccessible.|
|FIX||Reverb and chorus override is not applied live to active devices.|
|FIX||Some MIDI messages (0xF6, 0xF8, 0xFA, 0xFB, 0xFC, 0xFE, 0xFF) could not be processed correctly.|
|FIX||Fixed wrong "Bank MSB/LSB" handling (control change 0 and 32).|
|FIX||Post-setup custom dialog is disabled on Win8+ due to undefined variable.|
v.2.0.0 - 2017-03-22
|NEW||Multiple virtual devices supported (up to 4), each one with its soundfont configuration.|
|NEW||No more DLL conflicts, driver component (loaded by MIDI client) is now lightweight and independent from the synth component.|
|NEW||MIDI Mixer can now stay open when play stops.|
|NEW||MIDI Mixer can now be kept on top of other windows.|
|NEW||Instant play start (if synth is already started), no more soundfont load delay.|
|NEW||Integrated MIDI --> WAV/MP3/FLAC converter to easily perform MIDI file conversion.|
|NEW||Soundfont configuration editor to set bank, preset and volume. It also shows soundfont details like contained presets.|
|NEW||Native 64bit for 64bit operating systems; now all the available system memory can be used to load soundfonts.|
|NEW||Integration with CoolSoft MIDIMapper.|
|NEW||Customizable MIDI client blacklist to exclude misbehaving clients.|
|NEW||Redesigned (and resizable) configuration dialog.|
|NEW||Configuration report feature, to ease bug reporting.|
|NEW||Version 2.x introduces some other architectural changes, see here for further technical details about them (respect to 1.x series).|
Latest stable version included languages: English, Italian, French, Spanish, German, Portuguese (Portugal), Russian, Japanese, Polish, Finnish, Danish, Indonesian, Czech, Dutch, Hungarian, Chinese (simplified), Chinese Traditional (Taiwan), Turkish, Korean, Ukrainian.
If you want to help in translation, VirtualMIDISynth has an on-line translation system that's really easy to use: see here for current language status then get in touch, I'll create a "translator" account (or allow your already existing account to access the translation system) and you're ready to go.
VirtualMIDISynth automatically notifies its updates (if enabled), otherwise you can subscribe here to be notified.
Beta versions are announced in the announcements forum; please subscribe there to be notified.
NOTE: legacy 1.x version of VirtualMIDISynth is still available here, but it's not supported anymore.
All users are encouraged to update to 2.x series.
Read here for further info about what's new in 2.x series.
Thanks for your comprehension and enjoy CoolSoft.
- .NET Framework
- WEB / PHP
- Translate software
Click here if you want to support CoolSoft: