System-wide preload of soundfont

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 !!!
Anonymous user
System-wide preload of soundfont

Having been a user of VirtualMIDISynth for some time now and having a system which can only be described as excessive, I'm finding that there is always a bit of a "lapse" at the start of MIDI playback as the SoundFont is loaded.  This doesn't last more than a few seconds but it can result in some of the opening notes being absent or clipped.  There is obviously an existing option to preload the SoundFont when the device is enabled but this instead adds a pause of about 4 seconds before playback starts (141MB SoundFont, defragmented on a WD Green harddrive).

The reason I mention that the system in use is "excessive" is because that rather small amount of memory could be occupied the entire time my system is running without causing any problems - but it could eliminate both the pause and the missing sounds entirely.  Hence system-wide preloading, rather than just per-application or even per-track (which is how my current playback software behaves).

As near as I can tell, there is currently no way to do this with VirtualMIDISynth.  Could I make a request that such a feature be added in newer versions?

Posts: 1687
Joined: March 25, 2012 - 01:19
Re: System-wide preload of soundfont

Your request is one of the most important features that will lead to the new 2.x version of VirtualMIDISynth.

The issue you described cannot be easily overcome because is strictly related to Windows DLL Media Drivers architecture.
DLLs are loaded/downloaded by the client application (your MIDI player) and there's no way to preload them or delay their unload.

See FAQ #5 here for a detailed explanation of the new architecture.