Some time ago I have published a blog entry exploring on whether it was possible to run Cakewalk Sonar Inside A Virtual Machine. At that time I did not believe it was possible to achieve any good results when running this music recording software within any kind of virtual environment.

My beliefs were recently shuddered when I read an Email from Bryan Smart on the MIDI-mag forum. With Bryan's permission I am reprinting his Email here. Please enjoy the read!

Please note: JAWS, mentioned below, is a screen reading software for the blind from Freedom Scientific.

The common wisdom is that Sonar won't run inside a virtual machine, and, if it does, that the performance is unacceptable. I'd tried this years back, and found it to be true. I've recently discovered that this isn't the case anymore.

Running VMware Fusion 3 on Mac OS X 10.6.3. The guest operating system is Windows 7 32-bit. Of course, Sonar 8.53.

After lots of testing, I wasn't able to get Jaws and Sonar to share VMware's virtual sound device. That wasn't too surprising, even with the dramatic updates to Window 7's audio system and the new VMware audio drivers. VMware's virtual audio device will work with Sonar just fine, when Jaws isn't running, though. Absolutely no glitches or drop-outs at low latency. Maybe some day. It will be really cool when the day comes that both Sonar's sound and Jaws speech can use the built-in sound device at once. It will certainly simplify laptop setups. GarageBand and Logic already can do this, but, of course, the access isn't there yet.

Of course, not having Jaws speech is a deal breaker. So, I connected my little M-Audio FastTrack USB, the virtual machine recognized it, and I set it to be the audio device for Sonar. In order to make it work, I had to observe the following:

  1. M-Audio's driver isn't stable in either ASIO or WDM mode. Not sure why that is, but it definitely is a virtual machine thing. I've used that same driver, with the same interface, on the same OS, just not virtualized, and it worked fine.
  2. Instead of the M-Audio driver, just use the standard Microsoft USB audio device driver that is included with Windows 7. The FastTrack works fine with it. Any class-compliant USB audio interface should work with it, also. The drawback is that the Microsoft driver doesn't have ASIO support. However, it does recognize multiple inputs and outputs if you have them on your device, and will work just fine in WDM mode.
  3. In Sonar, I set WDM mode, used a buffer size of 0, and increased the buffers in playback queue setting to 4. With the playback queue setting at 2, I'd occasionally get glitches in the audio, no matter how large the buffer.

So, there you are. I run this on my MacBook now. I haven't stressed the virtual machine under extreme loads. It probably won't handle quite as much of a maximum load as a dedicated environment would. Of course, I could install Windows 7 and Sonar in BootCamp, but I really hate to boot back and forth between OSes. Now, I can take along my little FastTrack, small MIDI controller, and I have my mobile scratch pad. Can have it open in a window while the rest of the Mac, and my main Windows 7 desktop, are open in other windows. Of course, running multiple VMs at once takes a lot of memory, but I have 8GB in the MacBook.

Maybe someone should give this a go on Windows and VMware. You'll probably need Windows 7 as a guest OS. I don't doubt that the improvements in Windows 7's audio system helped make this possible. The latency is extremely low. For someone that has to share one computer between office and music tasks, running your music software in a VM would be a good way to isolate it. Plus, imaging VMs, as well as storing and restoring to snapshots, are a very handy way to avoid re-installs of all of your audio software. The big drawback is that VMware has absolutely no Firewire support, so this only works with USB interfaces.