Optimizing Your Kontakt Workflow, Part 2

Welcome to Part 2 of our Kontakt Workflow series! This post will focus on ways you can get Kontakt running more smoothly in your DAW and operating system of choice.

Read Part 1 – Click Here!
Read Part 3 – Click Here!

Computer Spec Check

Whether you’re on Windows or Mac OSX, Kontakt is a fairly efficient piece of software, refined through years of development and updates. That being said, before we delve into Kontakt and your DAW, it’s important to take stock of the machine you’re running it on. Setting aside the operating system, consider your available CPU (processing power), RAM (memory), hard drive space, and your audio interface.

CPU: Native Instruments recommends a Core 2 Duo processor at a minimum, released in 2006. If you’re using basic instruments with low polyphony, this is probably sufficient. However, most modern Kontakt libraries are more demanding, with advanced scripts, built-in FX, etc. An Intel Core i3/5/7 processor (2008-2009) is therefore more of a realistic minimum.

Why It Matters: When your CPU is overworked, it becomes unable to process audio in real-time, and the result is unpleasant pops, crackles, glitches or slowdowns in playback. Running at lower latencies (more on this later) causes the processor to work even harder. Note that even a very small sample library can be CPU-intensive due to scripting or high polyphony!

Below: A single, high-polyphony, CPU-intensive instrument being played in Kontakt on an Intel Core i7 processor!
RAM: The official NI recommendation for RAM is 4 gigabytes, with a minimum of 2gb. These numbers are quite low! Simply running your operating system, a DAW, and Kontakt – with no samples – can eat up well over 1gb, leaving precious little for samples. Though 4gb is a safe number, 8gb is our preference. For desktops, the price of RAM continues to drop considerably: adding an additional 8gb to your setup can cost as little as $60!

Why It Matters: By default, Kontakt loads only a small portion of each sample into RAM. The rest is kept on the hard drive and streamed via “DFD” (direct-from-disk). DFD settings can be changed to adjust this ratio. More memory will allow you to (a) load more samples simultaneously, and/or (b) conserve CPU by loading more of the sample into RAM! In fact, with enough RAM (16, 32, 64gb or more) it is even possible to disable DFD entirely for a big performance gain.

Hard Drives: Kontakt doesn’t use up much space, but as you probably know, sample libraries can be enormous. The value of a hard drive is obvious: more space = more storage for libraries, simple as that. How you configure them is slightly more tricky. If you frequently load multiple large libraries at once, you may benefit from using multiple hard drives, rather than putting them all on one. It is possible, due to disk streaming, for the hard drive to lag behind Kontakt’s demands with very high polyphony. Using multiple hard drives allows more bandwidth.

However, the ideal solution is actually the solid state drive, or SSD. SSDs have read/write speeds several orders of magnitude above a traditional drive. Not only does this allow for lightning-fast sample loading times, but better disk streaming as well. If at all possible, having an SSD for your operating system and one or more for your samples is the way to go!

Image courtesy of OCZ
Audio Interface: You probably think of your audio interface, be it USB, Firewire, or built-in, as being of prime importance for recording. A good interface has lower noise, better preamps, etc. But the drivers on your interface also have a major impact on the stability and efficiency of DAW work on your computer, particularly plugins like Kontakt. Most Macs come with a fairly decent built-in solution, but PC desktops and laptops are often under-equipped. A discrete USB/Firewire interface is an excellent purchase, and even the cheapest ones ($100-200) will provide superior performance over Intel motherboard audio.

Why It Matters: It’s all about the drivers! Good drivers mean more stability, and bad ones mean crashes and errors. Yes, it’s true: doing nothing but switching audio interfaces CAN make your DAW more stable! (Or less stable…) But most importantly, good drivers are more efficient at processing audio at lower latencies. As shown in the image below, some interfaces perform better (i.e. load more plugins/process more audio) than others.

Image courtesy of DAWBench.com
When we refer to “latency”, we are of course referring to the audio buffer settings, typically accessible through your DAW’s audio options. Lower latencies are universally more intensive, higher ones less so. All of this relates back to Kontakt: a good interface will simply be able to handle more polyphony at lower latencies than a bad interface. Bottom line – even if you do NO recording, your audio interface is very important!

DFD Settings

As mentioned earlier, it’s possible to tweak the DFD streaming settings in Kontakt. This can be done globally or on a per-patch basis. The global route can be done by going to Options (in Kontakt’s top toolbar) -> Memory, then checking “Override Instrument’s preload size” and changing the value of the slider, like so:

Lower preload values mean less RAM used, but more CPU as more of the sample must be streamed from the hard drive. Higher values mean more RAM, but less CPU usage.

DFD tends to work better for libraries with fewer & longer samples. If you’re loading a library with 5,000 very small samples, then even with a small preload buffer, your memory usage will still creep up since each sample must have a memory footprint. As a result, you may want to tweak the DFD settings for instruments on an individual basis by first clicking on the ‘Wrench’ icon, then Instrument Options, then the DFD tab.

Note: As you can see, if you use the global override, you cannot edit instrument preload options.
There is one more way to tweak DFD settings to your liking, but first, a word of caution.

WARNING: Save backups of your NKI/NKM patches before trying the following edits!

Without getting too technical, an instrument (NKI) in Kontakt is composed of one or more “groups”. Each group can contain many “zones” (samples). Many modern libraries have dozens if not hundreds of groups, with delicate organization and naming. Changing group settings is generally a bad idea unless you know what you’re doing, BUT, this is also how you can shut off DFD completely, should you choose.

In any given instrument, hit the wrench icon, then open the Group Editor. One by one, click on each group, and find the dropdown pictured below. If “DFD” is selected, you can pick “Sampler” instead, and the entirety of that group’s samples will be loaded into RAM. No disk streaming! Depending on the instrument this may not even increase your RAM usage too significantly (i.e. groups with lots of small samples).

Do not touch groups with OTHER modes selected, like Time Machine Pro. These modes already do not use DFD, and changing them can mess up the instrument completely!

CPU Performance

Besides everything mentioned above, there are other ways to impact how efficiently Kontakt runs with your processor – assuming it has multiple cores, as virtually all modern CPUs do. The first place to look is in Kontakt’s Engine settings.

CPU overload protection does what the description suggests – it attempts to avoid pops, crackles and other glitches by preemptively limiting polyphony. Whether or not you would rather have voices drop out, as opposed to play with some buffer glitching, is a matter of preference.

Multiprocessor support is interesting. It might seem like a no-brainer; after all, why wouldn’t you want to make use of all your parallel processing power? However, while this should be enabled in standalone mode, it may not be the best option when used as a plugin. Most DAWs have their own “multithreading” going on which may conflict with Kontakt’s. If you are having performance issues and want to optimize your CPU usage, try the following configurations:

1. Kontakt multicore ON, DAW multicore OFF
2. Kontakt multicore OFF, DAW multicore ON
3. Kontakt multicore ON, DAW multicore ON
4. Kontakt multicore OFF, DAW multicore OFF

One of these will likely be better for your particular system than the others. A good way to test each setup is to write a fairly intensive MIDI sequence and play it at a fast tempo to jack up the polyphony.

Another possible configuration is to spread your instruments across multiple Kontakt instances. For example, rather than loading 4 NKIs into one Kontakt instance, load four Kontakts, each with one of those NKIs. Depending on your DAW and your processor, this can actually be more efficient, despite the slightly increased overhead from using multiple Kontakts.

Bridging and Kontakt

Sometimes, even with a computer that has amazing specs and a killer audio interface, you’ll still have stability or performance issues with Kontakt. You can beg and plead with your DAW all day, but it just won’t play nice. The first thing to try is a different DAW, but this is out of the question for many composers, who tend to be creatures of habit in our observation (and personal experience). The next logical step is exploring the world of bridging.

Err, not what we meant by bridge…
Bridging refers to running a plugin (like Kontakt) outside of your DAW, while remaining connected via MIDI/audio. If you’re using a 64bit operating system and a 32bit DAW, the principal advantage is being able to use more than 4gb of RAM (the 32bit limit) for Kontakt, which itself can run as 32 or 64bit. However, bridging can also circumvent compatibility and stability problems in many cases and is thus worth considering if you’re having trouble.

There are a few ways to bridge plugins, but do note that the process usually does take up a bit more CPU, and it can take a bit of time to set up, depending on the solution you pick. Also, if one method doesn’t provide the desired result, don’t give up; each bridging solution below is implemented differently even if the intended result is the same.

Method 1: Your DAW. Many DAWs these days come with their own bridge built in. How you access it can vary greatly. For example, in FL Studio (a 32bit DAW), all 64bit plugins are automatically bridged. Non-64bit plugins have an option in the VST wrapper to enabling bridging. This is always worth trying first, so check the manual for your DAW and see how you can access this feature if it’s available.

Below: Bridge option in FL Studio’s VST wrapper.
Method 2: jBridge. This fantastic software for Windows and OSX will created “wrapped” (or “jBridged”) plugin DLLs on your computer, which you can then load in your DAW. Doing so will open the plugin in a separate process from your DAW. It’s fairly simple, inexpensive, and even has a free demo. Click here to check it out.

Method 3: Vienna Ensemble Pro. Vienna Instruments is one of the oldest and most celebrated developers of orchestral instruments, but they’ve also created this powerful program. Though it’s not cheap – over 200 euros as of this writing – it provides extensive options, features, and customizability for bridging plugins on your computer, or even across a network (LAN)! For particularly complex bridged setups, or ones using multiple PCs, this is an incredibly powerful option.

We hope you enjoyed Part 2 of our Kontakt series. In Part 3, we’ll talk about batch resaving, NCW, and more fun stuff. Thank you for reading!

Read Part 1 – Click Here!
Read Part 3 – Click Here!