VirtualMIDISynth

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.

Introduction

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.

Main features

  • 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.

Take a look at the TODO list of what features you'll find in next versions or propose your ideas.

What now?

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 VirtualMIDISynth
  • Run your favourite MIDI application and configure it to use VirtualMIDISynth (or set VirtualMIDISynth 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 VirtualMIDISynth?
VirtualMIDISynth works with Windows Mediaplayer and MPlayer classic. Since these players cannot change their MIDI out device, you must set VirtualMIDISynth 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?
VirtualMIDISynth 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.
Screenshot 1

License

VirtualMIDISynth is freeware, use it as you like.
Donations are welcome, especially if you earn money with it (live performances, public karaoke sessions, ...).

SoundFonts

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

FREE

MIXED LICENSING

  • 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)

DONATION

  • Princess Soft SF2 (by Giovannino Imperi)
    http://princesssoftsf2.com
    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.

References

Links to sites that talk about us:

Translations

Latest stable version includes these languages: English, Italian, French, Spanish, German, Greek, Portuguese (Portugal), Russian, Japanese, Polish, Finnish, Danish, Indonesian, Czech, Dutch, Hungarian, Chinese (simplified), Chinese Traditional (Taiwan), Thai, Turkish, Korean, Ukrainian, Vietnamese.

You're welcome 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.

Version history 

v.2.1.0 - 2017-10-31

NEW Virtual MIDI devices can now be shared between process and opened multiple times. Each client will see each of them as it was the only one.
NEW Better soundfont Preset/Bank management (@Falcosoft: thanks for your help).
NEW Updated BASSMIDI.dll to version 2.4.11.0.
NEW Added Greek, Thai and Vietnamese translations.
FIX Increased watchdog timeout to avoid disconnection of long startup clients.
FIX Fixed update checker that won't stop notifying users when an update has been found before setting check frequency to "Never".
FIX Uninstaller now restores the default device both for MIDIMapper and Active Movie.
FIX Missing vertical scrollbar in Soundfont list at first config dialog open.

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).

Download

VirtualMIDISynth automatically notifies its updates (if enabled), otherwise you can subscribe in the announcements forum to be notified.
Beta versions are announced in the same place, please subscribe there.

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.

Mirroring, repackaging and any other way to redistribute my software to end users from outside coolsoft.altervista.org is FORBIDDEN! (unless expressly authorized)
Links to this page are welcome (do not use HTML #fragments and do not link the .exe file directly).

CoolSoft_VirtualMIDISynth_2.1.0.exe
Description Stable version
Release date 2017-Oct-31 Size 1,289,449 bytes
MD5 bc295941dada8436022e3ab6df0bba74
SHA1 da9e51fb13a22aaa95947c9582cae99123b2b188
SHA256 0dd46eaa46209a765a190718fb869e5a855b3d18ac0b58331aa6a21ae475b1d9
Virus check Open virus check report
CoolSoft_VirtualMIDISynth_2.0.1.exe
Description Previous stable version
Release date 2017-Apr-23 Size 1,246,664 bytes
MD5 5dbdb5f1a48b121113a6d97a6fe2c67f
SHA1 96ea0b02357a7ba01ff38834803f628b5c7a0771
SHA256 de5a9fb5b73d901f1e7b525fc98f8a1d83e33eab81cc82cc0ae90e29248352db
Virus check Open virus check report
warning

Warning, JavaScript is disabled!

JavaScript is not available, maybe because you disabled it globally into your browser settings or you are using an addon like NoScript.

We do not have any dangerous JavaScript running here.
Please enable JavaScript; if you're using NoScript this image will help you adding CoolSoft to your whitelist.

Thanks for your comprehension and enjoy CoolSoft.