Working on orchestra or other large-ensemble music using a sequencer can be very taxing on a computer system in terms of processor power, memory and disk usage.
There are certainly ways to optimize your system to improve voice-count and avoid the dreaded drop-outs, clicks and other problems indicating system overload. My particular system uses a Macbook Pro 17″ running Digital Performer 9, and Native Instruments Kontakt 5 sampler (among other soft-synths.) I did the following to get the most out of this rig:
- Maxed out the RAM: Unfortunately, my Mac will only take 8gb. Newer models will hold 16gb.
- Solid-state drive: I replaced the system drive with a 512gb SSD a while back. This made a huge difference in performance.
- Solid-state drive for samples: More recently, I removed the DVD drive and installed a second SSD just for sample libraries. Kontakt streams these, so the faster access time makes a big difference in voice-count.
- Settings: NI suggests selecting “multi-processor” mode only in the stand-alone Kontakt app, while leaving it off when using the plug-in (I run both, for reasons I will give below.) It turns out NI is wrong, at least with DP9; turning multi-processing on in the plug-in (Audio Units) nearly DOUBLES voice-count. Be careful to match the number of cores to the actual processor you use; Kontakt somehow thought my laptop had 4 cores, and this bogged everything down. Setting it to 2 cores made it purr like a kitten.
- Buffer settings: I use a buffer of 256 samples for sequencing, which makes latency (delay) tolerable. This reduces voice-count. When playing back and editing, latency is less of an issue, so I raise the buffer size to 512 or even 1024. This makes the key-response sluggish, but more voices will play. (Not proportionally, however; doubling the buffer does not get even close to doubling voice-count.) DP9 will compensate for this buffer and keep things in time.
Even at a buffer setting of 256 in DP9, the latency for real-time playing is still not ideal for keyboard and piano parts, where my “feel” as a keyboard player is important. For me, delays of more than a few milliseconds really bother me, and I have run tests to see how much delay I can tolerate before I feel “detached” from the instrument, particularly with piano. The answer is to run a stand-alone version of Kontakt alongside DP9 and to rout my piano tracks to that. I send the audio from this app directly to the outputs of my interface, with a buffer of 128 samples (in the Kontakt audio settings.) I do this because sending the audio through DP9 would add delay. Kontakt very helpfully calculates the latency for you, and this setup keeps it below 3ms, quite playable.
When it’s time to mix the track, I switch the piano part to a plug-in version of Kontakt, since DP9 will compensate for delays upon playback, recreating my timing, at least fairly closely.
Other sounds that don’t need such a real-time feel, have a slow attack, or that are quantized, get played through the plug-in instance from the beginning.
The Hosts with the Mosts
Even with all this, when working on dense projects, things would get bogged down. This is because the better sound libraries trigger multiple layers, and have long release tails that “pile up” eating voices for lunch. Some of my favorite sounds for orchestra come from Spitfire Audio, and these high-quality sounds come at a price of massive voice counts, since they offer complex layers of microphones and articulations. While it is possible to “freeze” the tracks, (temporarily rendering the sampled instruments to an audio track) this makes composing the parts laborious and makes edits and changes difficult.
Raising the “live” voice-count is what really makes this work possible, and what is needed is a faster computer.
I first thought of getting a Mac Pro, but these are very expensive, especially with more processor cores, and these days, surviving in the music business means keeping costs down. The second concept was to build a “Hackintosh,” or a PC “hacked” with OS X to run my studio. Again, the costs of a fast Intel i7 or Xeon-based computer would mount up, and the stability of this could be questionable.
Then it occurred to me that Kontakt runs on Windows, and that I could build a much cheaper computer if I used an AMD motherboard. My teenage son, a computer whiz, had built himself a “gaming” computer with a 6-core 4ghz processor, and had now “moved on” to bigger and better things. He was willing to sell my this PC cheap, and so I pressed it into service as an auxiliary computer dedicated to sampling. This is a setup many composers use who do film and TV.
The picture at the top of this article is a block-diagram of the system. Click on it for a closeup.
- My Macbook pro is used for the sequencer, DP9, with Kontakt running as an Audio Units plug in (or more than one)
- Kontakt as stand-alone on the Mac is used for real-time low-latency playing, such as piano.
- A MOTU 828 mk3 interface is the main audio and MIDI connection for the Mac, connected via Firewire. (newer systems use Thunderbolt)
- MIDI from DP9 is also routed out of the 828 to the PC, using a MOTU Fastlane USB (I had this laying around, and the 2408 doesn’t have a MIDI port)
- A MOTU 424 pci card (this was also laying around) is in a slot in the PC, communicating to a MOTU 2408 mkII audio interface.
- Optical out from the 2408 is routed via light pipe to the 828. This carries 8 channels of audio from the PC back to the Mac. I could connect another optical line for 8 more channels.
- Word clock BNC is routed from the 828 to the 2408. This is important, because the two sample clocks need to be in sync to avoid clicks and pops due to mismatched sample rates. The 2408 is set to “external” clock.
The only issue to be aware of is that sounds returning from the PC cannot be corrected by DP9’s delay compensation, and are be subject to the delay of all that MIDI and audio throughput. I tested the system to determine the round-trip, and with a buffer of 256 in the PC, this comes out t0 715 samples or about 16ms. (I used a single-sample “click” sound in Kontakt for this test) With a PC buffer of 512, the delay increases to 31 ms. Knowing this delay allows me to compensate by nudging tracks earlier by this amount for tighter timing. Here is a screenshot of this test:
It is also necessary to have a separate file system on the PC for the sounds used with a given piece; they are obviously not saved with the DP9 project. The best approach here is to save the Kontakt “Multi” setting for each project. Finally, since there is only one MIDI port, the PC can only run 16 channels. (for now)
A voice-count test I devised showed the Mac could play around 900 and the PC about 2000 before glitches started appearing.
The main purpose of the secondary computer will be for orchestra, and so the slight delays will not be a big issue (I have played piano along with some very good orchestras, and there is plenty of “drag” there anyway! 😉