SPAT PI : Local audio path

Suppose you are deploying a setup for a single computer. In that case, you can use a software method to move multiple audio channels from the DAW running on the same machine as the SPAT Revolution spatialization environment. This is not a trivial task, and many previous solutions have been prone to drop-outs and other problems.

To answer this challenge, FLUX:: immersive has developed an audio pipe technology. Called “Local Audio Path” (LAP), it is available in the two (2) of the three (3) plug-ins available in AU, VST and AAX format.

The SPAT plug-ins offer a straightforward way to integrate the SPAT Revolution spatialization environment with other digital audio workstation environments - running on the same machine.

SPAT Send

SPAT Return

SPAT Room

Setting up a local audio path connection

For the audio software integration to function correctly, the user needs to take into account certain principles of configurations.

Warning

Sample Rate and buffer size must match in both SPAT Revolution and the Plug-in Host

You can configure these settings in the SPAT Revolution Preferences, and matching settings must also be configured in the host DAW Preferences.

Note

If the sample rate and the buffer size don’t match in SPAT Revolution, double-clicking over the “Sync section” at left bottom will automatically adjust them.

Additionally, each plug-in has an IO configuration setting, accessible from the small ‘cogs’ icon. Set the IO Channel Count for each of the plug-ins this way. Each plug-in instance can carry up to 64 channels to and from SPAT Revolution. Once you have selected the channel count, Enable the software routing using the Local audio path switch.

If SPAT Revolution is running, then a Send or Return IO module will automatically appear in the Environment Setup labeled with the Track Name of the SPAT plug-in, and set to the channel count you have configured in the plug-in. If all is well configuration wise, and a successful local audio stream has been established, the Send and Return modules will have a small green indicator.

Note

On some machines, you must use the Tab key to register a new Track Name or IP address change in a SPAT Plug in.

Plug-ins parameters

Index - Relates the plug-in automation to a virtual source.

  • Index is assigned automatically and can only be changed manually to an index number not yet used by another SPAT Plug-in.
  • On SPAT Revolution, Index is designed as Remote number. Initially set to the object number, you can customize it by object.

Position mode - In Send only - Choose the recorded and read coordinate mode.

Input delay - Use this text field to enter the latency induced by the previous plug-ins in the signal chain. For example, if you use a compressor with a look ahead above in the audio stream that delays the signal by 100 samples, you should enter 100 in the SPAT plug-in’s input delay field. This value will delay every other incoming streams. In more complex cases, where many input latency is set up in different SPAT send instances, the lowest possible delay is applied.

Local audio path - Enable the inter-application software stream.

Thru - In Send only, choose if you do not want to mute the sent audio through the plug-in.

OSC Second Output - Set up a second parallel OSC destination.

Report Latency - Activate latency compensation reporting for the DAW.

Override - In Return only, override the DAW input path.

Implications of using the Local Audio Path

DAW routing priority

To make sure that no sync error can happen between SPAT Revolution and the DAW of your choice, it is obligatory to make sure that each track containing a Spat Send plug-in have to be routed to every and each track containing a Spat Return plug-in.

This routing forced digital audio workstations to process SPAT Send plug-ins before SPAT Return ones. Without this prioritization, you can end up in a situation where the DAW calls for SPAT samples that have never been sent. This led to sync errors, and most likely to audio drop. This is an absolute golden rule when working with SPAT Revolution and a DAW on the same computer.

Warning

Always be sure that each track containing a SPAT Send plug-in is routed to every and each track containing a Spat Return plug-in.

For more DAW specific information, please consult our third-party integration section.

Local audio path and delay compensation

Taking the signal inside the FX insert blocks and sending it to SPAT Revolution has many implications on how we integrate with DAWs. For example, many DAWs compensate for processing latency after the entire processing chain (or even at the last possible summing point). This means that audio sent to SPAT Revolution with LAP is not latency compensated by default.

We have implemented a delay compensation algorithm directly in SPAT Revolution to work around this. To use it, we must manually enter the latency caused by the processing chain before each LAP plug-in. Each DAW has different ways of reporting this latency. Please consult our third party section to find out how the DAW you are using can display it. If your DAW does not appear here, please consult its user manual.

Dealing with DAW CPU optimizations

Some DAWs, like REAPER, use some technic to reduce the load of VST plug-ins on the CPU. One common trick is to process an audio track ahead of time and then delay the buffer to play it back at the intended moment. It is called anticipative processing. This is often very efficient and can drastically reduce the CPU load (up to 30-50% !)

Other DAWs, like Ableton live, put plug-ins that do not receive or send audio in an off-line state. Although it is not necessarily displayed to the user, it can create major issues when working with SPAT Revolution plug-ins.

Warning

Be sure to consult our third-party integration section for more DAW specific information.

Alternative to local audio path

Pros and Cons of the Local Audio Path

The local audio path is designed to easily create audio connections between an audio application that can host plug-ins and SPAT Revolution, while also providing the automation data.

However, LAP may be limited by the DAW used in some cases. For example, both Logic and Ableton Live have an internal strategy to save CPU usage, which can cause problems with our SPAT send and return plug-ins.

Also, as most DAWs only allow the use of pre-fader and pre-mute plug-ins, this can either restrict the mixing workflow or make the routing very complex to allow post-fader send to SPAT Revolution.

When dealing with such issues, looking at virtual loopback devices is interesting.

Virtual Loopback Devices

Virtual loopback devices allow the audio output of one application to be routed to another. In this case, we use the direct output of our DAW console to feed the input of SPAT Revolution. If we want to record our mix, we have to send the output of SPAT Revolution back to our DAW.

Virtual loopback in MacOS

Within the MacOS environment, you must download a virtual driver such as Blackhole to send audio from one application to another.

For example, suppose you are using an application that supports multiple input and output devices (such as SPAT Revolution from Ableton Live). In that case, you can set your DAW to use an audio interface as input, set its output to Blackhole, and do the opposite in SPAT Revolution.

If your application does not support different I/O devices, you could try to use aggregate audio, but be aware that the latency may increase significantly.

Virtual loopback in Windows

Unfortunately, the Windows audio environment is less responsive to multi-client audio connections. So there aren’t many solutions for software loopback within the Microsoft OS.

However, some audio interfaces, such as RME’s, allow loopback of an output. This can be a good solution if your audio interface has enough audio outputs.