Using Coolsoft VirtualMIDISynth with AMac

The usual Accompaniment Machine setup for real-time performances is to use a digital keyboard as both the input and output MIDI port. As an alternative, a user could employ a simple keyboard for input while output waveforms could be generated by the computer using a software MIDI driver and the computer sound system. To minimize latency[1], the approach requires a fast computer with a good-quality sound card.

In a previous article, I noted that the latency in the default MIDI drivers supplied by Microsoft is much too long for real-time performance. I suggested adding Coolsoft VirtualMIDISynth. The driver can be adjusted to provide an acceptably low latency. Recently, a user reported a problem running Coolsoft with the Accompaniment Machine. We found an error in the program — on startup, it loaded the associated soundfont twice, confusing the driver. We fixed the problem — AMac users should contact us for a free update.

While testing the fix, I experimented with Coolsoft settings in the AMac Performance window. Previous tests on an old dual-core Vista machine with a generic soundcard were disappointing. I observed satisfactory performance on a Core i7 machine (3.4 GHz) with BeatsAudio running under Windows 7. Figure 1 shows the settings I used.

 Coolsoft VirtualMIDISynth settings for real-time performance

Figure 1. Coolsoft VirtualMIDISynth settings for real-time performance.

The Coolsoft site lists a variety of soundfonts. I found the best performance with the FluidR3_GM font. Although there are several download locations, most supply the file in sfArk (soundfont archive) format. Although it is true that sfArk does a good compression job  (about a 50% reduction), it is an annoyance to install a special program whose only function is to decompress a single file format. (Equivalently, the extra time it takes to download the full-length file is insignificant compared to the time it takes to install and to learn sfArk.) You can download the uncompressed soundfont (148.4 MB) from


[1] Latency is the time between when you press a key and when the sound appears. Although every digital chain has some latency, performers learn to compensate if it is short enough.


Comments are closed.