Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!

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 / 11 (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 / 11 (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/11 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 freely available here.
MIDIKAR 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:
You could also try this online converter:



  • 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)
  • General MIDI SoundFonts for the Sound Blaster Family starting with the AWE32
    (collection on by Joe-P)



Links to programs using/suggesting VirtualMIDISynth and sites that talk about us:


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, Corsican, Norwegian and Swedish.

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; you'll be given access to the language you'd like to translate and can start your work.

Version history 

v.2.13.8 - 2023-12-03

fix Updated translations.

v.2.13.7 - 2023-03-30

fix Updated translations.

v.2.13.6 - 2023-03-19

new A more detailed error message, including device name, is now shown if a configured output device is missing at start.

v.2.13.5 - 2023-01-09

fix Fixed MIDI rendering delays when receiving a quick MIDI notes sequence just after device opening, with additional buffer greater than 250ms.

v.2.13.4 - 2022-12-10

fix Extended details of errors when loading SFZ soundfont.

v.2.13.3 - 2022-11-30

fix Fixed output device initialization when resuming from sleep/hibernate.

v.2.13.2 - 2022-09-08

fix Disabled BASS_MIDI_ASYNC flag in MIDIConverter to avoid volume issues.

v.2.13.1 - 2022-09-04

fix Updated translations.

v.2.13.0 - 2022-08-06

new Added support to asynchronous MIDI events processing (BASS option BASS_MIDI_ASYNC) to improve MIDI rendering timing precision.

v.2.12.8 - 2022-05-29

fix Updated translations.

v.2.12.7 - 2022-05-11


v.2.12.6 - 2022-04-25

fix Updated BASSMIDI library to version

v.2.12.5 - 2022-03-06

fix Updated translations.

v.2.12.4 - 2022-01-13

fix Fixed crash when more than one MIDI Mixer is open.
fix Updated translations.

v.2.12.3 - 2021-12-15

new Added Norwegian and Swedish languages (thanks to Ole Aarsand for both).

v.2.12.2 - 2021-10-23

fix Fixed embedded manifest causing errors on some Win7 installations (both x86 and x64).
fix Updated translations.

v.2.12.1 - 2021-10-03

fix Fixed crash at startup on Win7.
fix Configurator dialog could not appear if its position is missing or wrong in configuration file.

v.2.12.0 - 2021-10-01

NEW High-DPI rendering enabled for all windows.
NEW Switched to vectorial drawing (icons/bitmap) to get a resolution-independent high quality rendering.
NEW MIDI Mixer can now be zoomed to 125-150-200% to ease its usage on HiDPI displays.
NEW Signed binaries to allow users trust CoolSoft self-signed certificate and reduce antivirus false-positives (see here for further info).
FIX Reset button in options page gets a wrong position when window is resized.
FIX Removed flickering when resizing/moving the options tab.

v.2.11.2 - 2021-05-14

FIX Updated BASSMIDI to version to fix vibrato issues (see here and here for details).

v.2.11.1 - 2021-03-24

NEW Added Corsican language, updated other translations.

v.2.11.0 - 2021-01-17

NEW New MIDI Converter feature to generate multiple output files, one for each MIDI channel.
FIX Improved MIDI Converter speed, now up to 3x faster.
FIX Fixed crash closing VMS with systray context menu when MIDIConverter is open.

v.2.10.2 - 2020-12-14

NEW Updated BASSMIDI library to 2.4.13.
NEW Soundfonts import files (*.vmssf) can now contain relative filenames (based on .vmssf file path). This allows user to manually create "portable" soundfont configurations. NOTE: filenames will always be absolute on export.

v.2.10.1 - 2020-09-07

FIX Soundfonts webpage is not opened (if required) at the end of setup.

v.2.10.0 - 2020-08-30

NEW Removed Windows XP and Vista support. VMS now requires Windows 7 SP1 or newer OS.
NEW VirtualMIDISynth is now listed as an audio device in Windows Device Manager.
NEW Installed files size is now shown in "Estimated size" field of Windows Apps & Features app.
NEW CoolSoft MIDIMaper 2.0.0 (x64) is now supported.
FIX Fixed a bug (started in Windows 10-2004) that "removes" device at each reboot.
FIX Uninstaller now won't blindly remove the whole installation folder (avoid damages to users installing VMS in "unusual" folders).

v.2.9.3 - 2020-07-18

FIX KeyChange can't be changed in MIDIConverter source list.

v.2.9.2 - 2020-07-08

NEW Soundfonts list supports multiple selection.
FIX Extended SF valid bank offset to -127...+255 when in offset mode (see for details)

v.2.9.1 - 2020-04-25

NEW Updated BASS to version 2.4.15.
FIX Fixed GDI and memory leaks.

v.2.9.0 - 2020-04-19

NEW New MIDI Converter feature to allow output folder selection.
NEW Added Key change feature to MIDI Converter.
NEW Replaced MIDI Converter files ListBox with a ListView.
NEW MIDI Converter files list is now preserved when conversion ends.
NEW MIDI Controller window can now be maximized.
NEW MIDI Converter files list can now be imported/exported to a file.
NEW Added watermark to Soundfont list and MIDI Converter files list to remember user that files could also be dropped from Windows Explorer.
NEW Updated BASS libraries: BASS 2.4.15.
FIX Soundfont list import wrongly append its content to existing list.
FIX When importing a soundfont list, its content is applied immediately instead of after Apply button press.
NEW Added tooltips to Soundfonts and MIDI Converter list buttons.
FIX Changed color of Soundfont LEDs to make them colorblind friendly.
FIX Setup doesn't show "Close process" option for some processes in "Locking processes" dialog.

v.2.8.0 - 2019-10-29

NEW MIDI converter feature to skip initial silence.
NEW Generated MP3 and FLAC files now include default tags (Title and Comment).
NEW Updated BASS libraries: BASS 2.4.14, BASSMIDI, BASSENC 2.4.14.
NEW Added new hi-res icon (256px) to VirtualMIDISynth executable.
NEW Configurator dialog is now compliant with Windows "high contrast" themes.
NEW Updated translations (Chinese simplified, Chinese Taiwan, Danish, Deutsch, Greek, Finnish, French, Japanese, Dutch, Polish, Russian, Thai).
FIX Added missing Open/SaveDialog titles and translated file filters.
FIX MIDI converter now sends 24bit floating point data to MP3 encoder (lame.exe) like it already does with FLAC (flac.exe).
FIX Silent crash if opening Configurator dialog (with About tab selected) while playing.
FIX Soundfonts configuration was applied instantly to new MIDI clients (but not stored to config) even if not confirmed with configurator dialog Apply/Ok buttons.

v.2.7.3 - 2019-08-10

FIX Clear "Update" INI section when a new version is installed to ensure restart suspended checking.

v.2.7.2 - 2019-07-23

NEW Updated translations (Czech, Danish, Deutsch, Magyar, Japanese, Dutch, Russian, Turkish, Indonesian, Ukrainian, Simplified Chinese).

v.2.7.1 - 2019-06-19

FIX VirtualMIDISynth dialogs (configurator, Mixer and MIDI Converter) now work and snap correctly on High-DPI screens.
FIX Unneeded error message is shown when installing/upgrading on Windows 7 on certain conditions.
FIX MIDIMapper and ActiveMovie default devices were set to default during upgrade.

v.2.7.0 - 2019-06-07

NEW Added driver check/installation/repair features to synth. VirtualMIDISynth now checks at startup if driver is correctly installed and configured; if not, it allows the user to fix it without reinstalling.

v.2.6.0 - 2019-02-18

NEW Added support for MIDI Active Sense message (0xFE), used by external MIDI hardware like keyboards and sequencers to detect MIDI connection issues (cable disconnected, broken connectors, unexpected power loss, ...).
FIX Reverb and chorus values were not correctly initialized, causing a "flat sound".
FIX Reverb and chorus max value now works also in GM/GM2 MIDI mode.
FIX MIDI Mixer activity LED does not reset when a client is forcibly closed by IPC watchdog.
FIX Optimized IPC queue efficiency to avoid playing notes to remain stuck in case of queue overflow (expecially for Black MIDIs).

v.2.5.4 - 2018-09-17

FIX VirtualMIDISynth systray icon is not restored after explorer.exe restart.

v.2.5.3 - 2018-09-03

NEW Added Portuguese-Brasil translation (thanks to senpi0).
FIX Updated Turkish, Polish and Vietnamese translations.

v.2.5.2 - 2018-08-05

FIX Improved BASS_MIDI_FONT_XGDRUMS algorithm detection.
FIX Fixed autostart registry setting.
NEW Added Serbian latin translation, updated Ucrainian, Thai and Chinese simplified.

v.2.5.1 - 2018-07-12

NEW MIDI Mixer volume level indicator now shows both left and right levels.
FIX Improved volume level running average algorithm to better detect peaks.
NEW False positive peaks shown by volume level indicator when opening/closing MIDI clients.

v.2.5.0 - 2018-06-26

NEW Added MIDI Mixer to MIDI Converter.
NEW Added channel "solo" feature to MIDI Mixer.
It can be enabled/disabled by clicking on the new "solo" button or by pressing the S key (while the channel is selected).
Solo ratio can be configured with Mixer context menu.
NEW MIDI Converter window can now be snapped to others.
NEW Mixer button in MIDI Converter shows (*) when Mixer is not in default state.
NEW Added new "clone" feature to MIDI Mixer that lets user clone Mixer state from another mixer.
NEW Added new "settings" icon to MIDI Mixer to ease opening its contextual menu.
NEW Added peak indicator to MIDI Mixer master channel.
NEW Added icons to systray context menu, MIDI Mixer context menu and MIDI Converter window.
NEW New soundfont option that let VMS use bank 127 as drumkit in XG mode, instead of the default 128.
FIX Mouse pointer goes out of dialog title when undocking or unmaximizing a window by dragging it with mouse (Aero docking/undocking feature).
FIX Fixed options tab layout errors when maximizing/unmaximizing the configuration window.
FIX Entering numeric values with keyboard in soundfont editor fields is difficult because cursor position changes after each key press.
FIX Added forced Mixer repaint when a new MidiDeviceInstance is created to avoid Mixer still show old program names.
FIX Soundfont configuration import dialog allows user to select an unexisting .vmssf file, leading to current SF configuration being cleared.
FIX Soundfont configuration tab buttons do not update their state after import.
FIX Clicking to enable/disable a partially visible SoundFont item at the bottom/top of soundfonts list cause the previous/next item to be enabled/disabled.
FIX Fixed wrong interpretation of NOTE_OFF MIDI events, leading to MIDI Mixer channel LEDs (except for channel 1) stay ON forever.
FIX Fixed setup procedure not creating registry keys on x86 systems (2.4.0 regression).
FIX Wrong watchdog initialization caused disconnection of MIDI clients that open the device and do not immediately send another message.
FIX Exported MIDI Mixer state file can't be imported on another device mixer (with a different #id).

v.2.4.1 - 2018-06-04

FIX Fixed setup procedure not creating registry keys on x86 systems (2.4.0 regression).

v.2.4.0 - 2018-05-02

NEW Each VirtualMIDISynth MIDI device can now be assigned to a different analog output device.
NEW New output device selector that shows each VMS device together with its assigned output device.
NEW Updated setup procedure to improve compatibility with newer Windows 10 versions.
FIX Fixed driver crash when client process tries to open the same DeviceID more than once.
FIX Close any device left open by broken clients that do not send the expected MODM_CLOSE messages.
FIX Fixed bug in setup procedure causing unneeded reboot request.

v.2.3.2 - 2018-03-20

FIX Fixed bug in setup procedure that leads to unneeded reboot request

v.2.3.1 - 2018-03-16

NEW Improved MIDI converter efficiency and let it use Reverb/Chorus settings
NEW Extended error messages in case of failure of x86 MIDI devices enumeration
FIX Fixed bug in watchdog that caused paused MIDI clients to disappear when another client is disconnected
FIX If a loaded soundfont is removed from soundfonts list, its handle is not released and the SF2 file is kept in use
FIX Optimized Reverb/Chorus SysEx management

v.2.3.0 - 2018-01-16

NEW If <default> output device is selected and Windows default output device is changed while playing, VMS will automatically switch to the new default device (@Falcosoft: thanks for your suggestion).
NEW Updated BASS.dll to version
FIX Window snapping now works correctly with Windows 10 trasparent borders.
FIX Fixed a memory leak in device opening/closing.
FIX Optimized memory allocation and usage.
FIX Watchdog thread sometimes got stuck in a dead-lock instead of being terminated.

v.2.2.1 - 2017-12-24

NEW New configuration option to enable/disable windows snap.
FIX Improved window snap on Vista+, now excluding no-title, minimized, maximized, system and overlapped target windows.
FIX Fixed possible deadlock on IPC watchdog when quickly and repeatedly opening/closing devices.
FIX Fixed crash when showing balloons longer than 256 chars.

v.2.2.0 - 2017-11-27

NEW MIDI converter support to batch conversion of multiple files at once.
NEW User can now pass custom parameters to external encoder (actually MP3/FLAC formats are supported).
FIX MIDI converter doesn't use configured Reverb and Chorus settings.
FIX It's now possible to add the same soundfont multiple times, with different preset/bank settings.
FIX Minimum accepted bank value changed to -128 (with preset = -1).

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


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 is FORBIDDEN! (unless expressly authorized)
Links to this page are welcome (do not use HTML #fragments and do not link the .exe file directly).


Some antiviruses are reporting CoolSoft VirtualMIDISynth (and also CoolSoft MIDIMapper) as infected.
These are false positives, maybe due to the fact that both softwares install some components in "sensitive" system folders like C:\Windows\System32.
To be crystal clear with my users, I always publish a VirusTotal scan report link next to each download, even if it contains those false positives.
There's no way for me to demonstrate I'm right; submitting my files to each AV vendor is simply unfeasible (see here for further details).

UPDATE: starting from version 2.12.0, VirtualMIDISynth binaries are digitally signed with CoolSoft self-signed certificate; see here for details.

Description Latest version (Windows 7 / 8.x / 10 / 11)
Release date 2023-Dec-03 Size 1,735,400 bytes
MD5 36bed3d0fa7c62c6bad879ea621c580b
SHA1 eebf4bdac7e22cb66e003735da2b1fa0909853fb
SHA256 35c24e133f91af0d79b6a7b66b41e5f98f8d3c2102cc6d4e1250b5479ae22a49
TIMESTAMP 1701614076
Open virus check report
Description Previous version (Windows 7 / 8.x / 10 / 11)
Release date 2023-Jan-09 Size 1,721,312 bytes
MD5 45b5aa72e6de449b1bf9dfc1bcab6e52
SHA1 c8bd8c41d7a9d3544c32e2e31262ca1dc5798b8c
SHA256 3de2fda77018963a7cce1199e7a32c312fe904cf005315155288e9063df06d71
TIMESTAMP 1673300264
Open virus check report
Description Latest version with Windows XP/Vista support
Release date 2020-Jul-18 Size 1,542,582 bytes
MD5 480ecac45141708cb6cf6fde3a20f692
SHA1 8750be51d8185ecddcbe6bc597ae66dc59247db5
SHA256 a94736eebc4e78ef9f41447105a74030ddfd05ecc4cafd860137316bc8eb5622
Open virus check report

Beta versions

VirtualMIDISynth beta versions are released on the Announcements forum.
Feel free to subscribe to the whole forum or its single threads to be notified about new releases.

NOTE: you must register to be able to download forum attachments.
BEWARE: beta versions are only for the braves! Feel free to experience issues and help in testing their fixes ;)