Virtual Instruments (VIs) hold out the promise that a few windows on your computer screen can effectively replace a roomful of expensive hardware instruments. But gargantuan sound libraries, integrated convolution reverbs, and exacting re-creations of classic analog synths can tax the limits of your computer's CPU, hard disk, and memory. A few tips and techniques can help you handle the balancing act of resource management and get the most out of the VIs you need for your tracks.
With the exception of sound quality, a software instrument's most important characteristic is its responsiveness, or playability. Most musicians dislike lag times when they play their instruments, and managing latency is therefore the first order of business when developing an efficient system to host VIs.
FIG. 1: FXpansion''s BFD, a drum -instrument that has a large add-on library, offers -numerous settings to help reduce -memory requirements and achieve an optimal -balance between the amount of sample data loaded into RAM and streamed from disk.
Several factors, including the quality of your audio interface and drivers, can contribute to latency, but if your hardware is optimized for audio, the most important software setting is the size of the program's audio buffer. Software instruments usually offer a range of settings between 64 and 512 KB. Lower settings, in the 64 to 128 KB range, can reduce latency to levels that rival hardware instrument response. But lower settings also make your computer work harder. The goal is to have an optimum setting that will give you the responsiveness you need without producing glitches in the audio. Extremely low buffer settings are required only during the tracking stage of a recording project. Once you've recorded your virtual instrument parts, you can select a higher buffer setting for mixing and monitoring.
Even so, simply playing back a track with a virtual instrument can consume more of your computer's resources than playing back a regular audio track. As track counts rise and resources get tighter, you may want to render your VI track as audio using your application's bounce or freeze command. Bouncing instrument tracks reduces the hit your CPU takes on playback and frees up resources for other tasks, such as powering effects plug-ins.
Tweaking buffers and bouncing tracks let you trade in some flexibility for extra power. If your system is pushed to the limit, though, you might have to use other trade-offs to fully fuel your instruments. Here are some additional tricks for squeezing a bit more juice out of your CPU for VIs:
Avoid using multiple instances of plug-ins
For power-hungry plug-ins like reverb, use aux sends to allow several tracks to share one effect. Similarly, don't activate more virtual-instrument plug-ins than you are actually using. Just having an instrument instantiated can drain CPU power.
Use guide tracks
Create a submix to use as a guide track, so that you can mute power-draining instrument tracks when overdubbing. Alternatively, you can use a hardware synth temporarily to play back the MIDI data of your VI tracks while overdubbing. When the recording process is completed, you can raise buffers and restore the original software-instrument sounds.
Use a hardware synth for MIDI recording
This can be very effective with a piano part. Record the part using a hardware instrument (perhaps your trusty old Kurzweil). Once your MIDI data is recorded, you can use it to drive your multigigabyte software piano for maximum playback quality. This process eliminates the need for low-latency settings. You can then render this track as audio, disable the software piano, and conserve even more resources.
Use hardware effects
Disabling plug-ins during recording will conserve CPU power that can be used for VI tracks. You can work with, say, a less demanding reverb plug-in while overdubbing, and then switch to your highest-quality reverb for mixing.
Close nonessential windows
If you need to run as many VIs as possible, avoid diverting precious CPU resources to functions like screen redraw.
Your available hard-drive space and RAM will also affect your system's ability to handle virtual instruments. Today's sample-based VIs can consist of a staggering amount of waveform data, more than what can fit in a computer's RAM. As a result, the VI streams the data directly from hard disk. That can present multiple challenges.
To deliver the streaming data with peak efficiency, you need a fast (7,200 rpm with a 10 ms or faster seek time), large-capacity hard drive. I recently bought a 200 GB Seagate drive for storing my new VIs, and installed just two virtual instruments — FXpansion's BFD + XFL drum plug-in and EastWest/Quantum Leap's Symphonic Orchestra Gold. The drive is now already one-quarter full.
To minimize drive strain and fragmentation, and to keep your sample library organized and portable, it's best to dedicate an entire drive to the tasks. If you also follow the common practice of using a separate audio and system drive, then you may run short on internal drive bays. External FireWire drives are helpful in situations like this. An external drive makes it easier to use your library on another computer. Some orchestra libraries are so massive that they cannot even fit on a single drive, and samples must be streamed from multiple drives.
Even though the bulk of an instrument's sample data is stored on your hard drive, the instrument's initial transient data is loaded into RAM. Some virtual instruments are so enormous that they can command a substantial portion of available RAM just for this transient data. Fortunately, software-instrument designers are including built-in interface features to help you conserve RAM and other resources.
FXpansion's BFD 24-bit drum-sample library, for example, features a 16-bit mode, which effectively halves your memory requirements (see Fig. 1). Toontrack's Drumkit from Hell Superior, another popular drum plug-in, includes a cache mode to help keep RAM usage to a minimum by loading only the samples requested via MIDI. Native Instruments recently introduced a resource-conserving tool called Sample Purge for the company's Kontakt 2 soft sampler. The feature searches through a track and unloads any samples not actually used in the track. Meanwhile, MOTU's MachFive sampler offers a 32-bit mode, which might be the best option if you have RAM to spare but need to conserve CPU cycles. These options can help you better manage the resource tug-o-war.
Checking the Gas Gauge
Many audio applications include performance meters that give the user visual feedback on processor and virtual-instrument performance. But they may not give you all the information you need. For example, how do you know if you have enough available RAM to load that giant grand-piano library into an already-bloated project file?
FIG. 2. The Mac OS X utility Activity Monitor provides detailed -information on resource usage and gives users the option to display in the Dock a pie chart indicating the amount of available RAM.
Mac OS X includes a utility called Activity Monitor, which can give you detailed information about resource usage (see Fig. 2). The utility's menu bar lets you access an option (Monitor>Dock Icon>Show Memory Usage) that will display a handy pie chart in the Dock to let you know how much free RAM remains. A quick glance at the Dock tells you if you have enough RAM to load another instrument.
Windows XP offers its own feature for checking resource usage, the Windows Task Manager. You can call it up by right-clicking on the Task Bar, choosing Task Manager, and clicking on the Performance tab.
For maximum flexibility and minimal need for work-arounds, consider running multiple computers. I currently run two PCs as dedicated virtual instrument hosts and a Mac for my sequencing and audio tasks. (For more on similar techniques see Two Heads Are Better Than One, available online at emusician.com.)
The dream of completing all of your musical tasks with one computer is stronger than ever, and in the future faster computers may help users realize this dream. Today, however, virtual instruments continue to make us perform a balancing act among CPU, RAM, and hard-disk resources. Using the techniques described here can help you tip the balance of power in your favor.
Babz is composer/multi-instrumentalist and freelance writer on music technology based in New York City.