SATIE Overview:
Filter:
SATIE/Overview (extension) | Libraries > SATIE

SATIE Overview
ExtensionExtension

Spatial Audio Toolkit for Immersive Environments

Description

SATIE is an audio spatialization engine developed for realtime rendering of dense audio scenes to large multi-channel loudspeaker systems. It is a lower-level audio rendering process that maintains a dynamic DSP graph which is created and controlled via OSC messages from an external process. SATIE’s modular development environment provides for optimized real-time audio scene and resource management. There is no geometry per se in SATIE, rather, SATIE maintains a DSP graph of source nodes that are accumulated to a single "listener", corresponding to the renderer’s output configuration (stereo and/or multi-channel).

Its aim is to facilitate using 3D space in audio music/audio composition and authoring and to play well with 3D audio engines (so far it has been used with Blender and Unity3D) and could also serve as volumetric audio spatialization addition to more traditional desktop DAW systems.

For more information visit SATIE website.

Basic workflow

Configure and boot SATIE

First, we create a SatieConfiguration, then, we create a Satie with this configuration and boot it.

SatieConfiguration needs to be given a Server and at least one listeningFormat. Here, we give it the default Server and a stereo spatializer.

SatieConfiguration should have set its server's number of output channels. stereoListener has 2 output channels, therefore the server should have 2 outputs.

If needed, other server options can be set through SatieConfiguration.

SatieConfiguration scans SATIE's plugin folders and collects the plugins in its dictionaries.

An instance of SATIE can be created using this configuration. During boot, SynthDefs for all of its plugins will be generated. Once booted, SATIE will start listening to incoming OSC messages.

SATIE can be stopped using the 'quit' method. This will clean up after itself.

Use it

SATIE can be used either directly from SuperCollider or by sending it OSC messages from another application. See the examples in the following help files.

Examples

The examples below show various facets of SATIE's functionality.

SATIE-Basics
Progressive examples of SATIE functionnality, how to use it from scide.
Spatializers
Overview of available spatializers
Processes
Example of SATIE processes
Effects
Introduction to using effects
Plugins
Description of SATIE plugins
Ambi
Ambisonic support in SATIE
NRT
NRT support in SATIE

API

SATIE OSC protocol (html)
How to talk (and listen) to SATIE via OSC

Classes

Satie
Main SATIE audio renderer class
SatieConfiguration
SATIE configuration class
SatieFactory
Satie Factory
SatiePlugin
Satie specific plugins
SpatializerPlugin
Spatiliser is a subclass of SatiePlugin
SatiePlugins
A Dictionary of plugins

Utilities

/SATIE/utils/dacTest.scd
A GUI utility for testing speaker systems
/SATIE/utils/python/31_channel_VBAP_to_HOA/satieNRT.scd
An example script for converting a VBAP recording to Ambisonic B-format using NRT rendering