In this post, I will present processes related to spatializing a sound project. I will discuss the tooling in use as well as the necessary steps. My goal is to give an idea of a minimal way to create a spatial audio project.
First, I will discuss tools I have used for this exercise. Afterwards, I will analyze a certain number of problems encountered during this exercise before exploring solutions that allow us to obtain good acoustics in the Society for Arts and Technology dome.
This exercise was completely carried out on a x64 computer making use of Windows for its operating system. Theoretically, the tools can also be used on a Mac. On Linux, you will need to use another DAW (Digital Audio Workstation)such as Reaper, Bitwig or Ardour.
Tooling
Apart from Ableton Live, a composing tool I am fond of, the tools were selected because they were free, libre and open source software projects that work on every type of machine:
-
Ableton Live (sound design, composition)
-
SuperCollider (sound design)
-
SATIE (Spatial Audio Toolkit for Immersive Environments) (spatialization)
-
SATIE4Live (a sender for OSC messages containing spatialization data, connecting from AbletonLive to SATIE)
-
JACK (a sender for audio signal from Ableton Live to SATIE)
The Ableton Live sequencer was the main tool for composing and creating the musical arrangement. Note that it is possible to create a connection between Ableton Live and the other tools, creating novel opportunities that go beyond spatialization.
SuperCollider is an audio programming environment. It is used for sound generation and for complex signal processing. The tool’s flexibility and modularity creates a wide range of possibilities, which explains why it was chosen to be SATIE’s host.
With SuperCollider as an underlying structure, SATIE is an architecture that focuses on spatialization. Every action in SATIE can be controlled by Open Sound Control (OSC) messages. SATIE’s ability to simultaneously manage a diverse approaches to spatialization makes it a powerful and flexible tool.
SATIE4Live (S4L) is a Max4Live device created to linked Ableton Live to SATIE. Its interface contains knobs that are mapped to spatialization parameters in SATIE. Values are sent to SATIE by OSC messages.
JACK is a tool that allows us to transfer audio between multiple applications located inside the same computer. Using its graphical user interface, we can send audio from one Ableton Live track to its corresponding track on SuperCollider/SATIE.
Process
In brief, I take the audio from each Ableton Live track and send it to SATIE through JACK. The SATIE4Live device, being located on each Ableton Live track, is used to control the spatialization of the corresponding track by sending OSC messages to SATIE. Thus, SATIE receive two data points: the first one is the audio from the track, and the second one is the OSC messages containing sptialization data for this same track.
To learn about this process, please check the SATIE4Live documentation.
Spatialization in the Satosphere
Given that the mix and its spatialization were first made using headphones as audio output, we had to do some more work in order to get a satisfying result on the Satosphere’s dome system. We spent time reviewing the mix and the sounds coverage of the space. After obtaining a first coherent spatialization, a certain number of problems emerged. Let’s go further.
The mix
Compared to headphones, broadcasting the mix in the dome created a weak experience that felt empty. This effect was particularly heard in lower frequencies, that seemed to be missing. In order to fill up the mix, we boosted low frequencies to match the rest of the spectrum.
Spatilization
SATIE4Live allows us to control the spatialization parameters of a sound in space, in other words:
-
Azimuth (horizontal position of a sound)
-
Elevation (vertical position of a sound)
-
Spread (sound diffusion around a given spot)
-
Gain (can be understood as distance)
These parameters values are then sent by OSC messages to SATIE to the selected track located in the dropdown menu on the SATIE4Live interface.
One thing that struck me was how the Spread parameter changed the sound propagation. This parameter allows us to distribute where the sound is located around its initial spot.
I thought that a 100% Spread value would allow the sound to disperse equally and completely in the dome. Given that the speakers increases as we go higher towards the ceiling, this value created a feeling that the sound was higher up in the dome, something that was not wished for.
We can fix this effect by creating a copy of a track or of a clip before setting it in various locations.
As an example, let’s say we want to create a cover that completely wraps the space: I would recommend to create one copy or more before manually moving around the copies on the dome. In this case, a low but positive value for the Spread parameter, for each copy, would allow us to create a subtle broadcast of the sound around the chosen spot. This gives us the expected result of a well spread sound in the space. In order to improve the depth effect, it is also possible to add a small delay between the tracks copies (a few milliseconds) and to do an oscillation with the time value. This will space out the signals through time, creating a feeling of a vast spatiasation.
In addition, I was able to observe that an Elevation with a major negative value can lead to unexpected results.
Since the zeroth degree of elevation is located at about two meters high in the dome, it is possible to give negative values to the elevation parameter. That being said, if a sound is located at a particularly low elevation, the system cannot figure out where to move the sound around anymore. This can happen for values of about -15 degrees and less.
Since triangulation is used to compute the position, the system will not try to stop the sound when it is coming from a low position. Instead, it will react by activating other speakers that are close by, since it attempts to figure out how to complete the triangle. This significant fact can be confusing.
Finally, when moving too fast, I felt that we could lose the ability to perceive the localization. As an example, the first mix had Azimuth automations that drew quick rotations around the dome. When the rotation speed is too high, the sound seems to be located everywhere at once, or alternatively, to go quickly from left to right. My current conclusion is that after reaching a certain speed, the system’s precision does not allow us to preserve the localization effect.
Conclusion
SATIE is a powerful and flexible tool that helps make spatial audio more accessible.
Some tools were developed in order to facilitate work with SATIE in collaboration with other tools for sound/music creation. In our case, we have used SATIE4Live, compatible with Ableton Live. There is also SATIE4Score, a modular toolbox that enables controlling SATIE from afar, that makes use of the OSSIA Score, software developped by OSSIA.
To this day, it is relatively easy, even for a beginner, to get started with spatialization and to start producing sounds with these tools.
Written on 08/07/2022 by Victor Comby.