SATIE

Spatial Audio Toolkit for Immersive Environments

SATIE (Spatial Audio Toolkit for Immersive Environments)

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 music/audio composition and authoring, to play well with 3D audio engines (so far it has been used with Blender and Unity3D) or to serve as a volumetric audio spatialization addition to more traditional desktop DAW systems.

SATIE is made with SuperCollider, an audio programming environment and language. To install SuperCollider and SATIE, see instructions in INSTALL-SATIE.

See SATIE OSC API for details on OSC communication.

There are also some known efforts to make bridges for specific software:

  • gdosc module for Godot game engine.
  • A Unity example can be found here: https://gitlab.com/sat-mtl/metalab/satie4unityExample
  • PySATIE is a Python module which allows for some SATIE control directly from python code (particularly useful for use with Blender or Panda3d)

Website: https://sat-mtl.gitlab.io/documentation/satie

Examples of SATIE use

There are tutorials and walk-throughs with detailed explanation of SATIE architecture and use within SuperCollider's help/documentation browser. We also have a repository of various prototypes that involve SATIE, sometimes in tandem with other tools, as well as recipes that may address some specific use-cases. Contributions are, of course, welcome.

Code contribution

Contributions are welcome ! See CONTRIBUTING.md and CODE_OF_CONDUCT.md for details.

Directory structure

SATIE internal plugins: - sources: sound sources (sound file players, synths) - effects: effect (reverbs, filters) - spatializers: spatialization (stereophonic, quadraphonic, higher-order ambisonics) - mappers: mapper - postprocessors: audio mastering - processes: generating many events algorithmically

other: - HelpSource: documentation, in schelp format, available within SC IDE (scide) - src: SATIE implementation - satie-assets: submodule containing some ambisonics related assets - utils: diagnostics and other tools - tests: unit tests and other testing scripts

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. See LICENSE for the license text.

Sponsors

This project is made possible thanks to the Society for Arts and Technology [SAT] and to the Ministère de l'Économie et de l'Innovation (MEI) du Québec.

Routine
Project
Source file
Extension
Superclass:
Satie
Project
Source file
Extension
Superclass:
SatieConfiguration
Project
Source file
Extension
Superclass:
SatieFactory
Project
Source file
Extension
Superclass:
SatieGUI
Project
Source file
Extension
Superclass:
SatieIntrospection
Project
Source file
Extension
Superclass:
SatieJson
Project
Source file
Extension
Superclass:
SatieOSC
Project
Source file
Extension
Superclass:
SatiePlugin
Project
Source file
Extension
Superclass:
SatiePlugins
Project
Source file
Extension
Superclass:
Dictionary
SatieQueryTree
Project
Source file
Extension
Superclass:
SatieStatusWatcher
Project
Source file
Extension
Superclass:
SatieUnitTest
Project
Source file
Extension
Superclass:
UnitTest
SpatializerPlugin
Project
Source file
Extension
Superclass:
SatiePlugin
TestChannelLayout
Project
Source file
Extension
Superclass:
SatieUnitTest
TestIntrospection
Project
Source file
Extension
Superclass:
SatieUnitTest
TestOscCommunication
Project
Source file
Extension
Superclass:
SatieUnitTest
TestSatie
Project
Source file
Extension
Superclass:
SatieUnitTest
TestSatieAmbiPostProc
Extension
Superclass:
SatieUnitTest
TestSatieBuffers
Project
Source file
Extension
Superclass:
SatieUnitTest
TestSatieConfiguration
Extension
Superclass:
SatieUnitTest
TestSatieConfiguration_server
Extension
Superclass:
SatieUnitTest
TestSatieFactory_hoaEncoding
Extension
Superclass:
SatieUnitTest
TestSatieJson
Project
Source file
Extension
Superclass:
SatieUnitTest
TestSatiePlugins
Project
Source file
Extension
Superclass:
SatieUnitTest
TestSatieProcesses
Project
Source file
Extension
Superclass:
SatieUnitTest
TestSatieRenderer_server
Extension
Superclass:
SatieUnitTest
TestSatieStatusWatcher
Extension
Superclass:
SatieUnitTest
TestSatieStatusWatcher_Server
Extension
Superclass:
SatieUnitTest
TestSatieSynthDesc_Server
Extension
Superclass:
SatieUnitTest
TestSatie_Server
Project
Source file
Extension
Superclass:
SatieUnitTest
TestSatie_quit
Project
Source file
Extension
Superclass:
SatieUnitTest
1.6.8
Date
2023-02-20
Git hash
786d1f86d49a0b9340a60ef465b753f3c42162fa
1.6.7
Date
2022-11-04
Git hash
07e67f8e86607dda113eb176241b20b0208860de
1.6.6
Date
2022-10-07
Git hash
8817c1d5d13fed3a01f4fbd010618685add44c45
1.6.5
Date
2022-09-13
Git hash
b69c60a9c2525cc3d1defb9e55719c6bf39e1d0b
1.6.4
Date
2022-07-11
Git hash
e3527225529baa93d3594334e3836cf5fb33c7c4
1.6.3
Date
2022-04-04
Git hash
0bc3c98e06d7ec7005607d550344b9f2b9c2ebf4
1.6.2
Date
2021-12-07
Git hash
af8c9cc1d20e6ceebffddd6c956b488fa356c5f9
1.6.1
Date
2021-09-14
Git hash
eeb2bfd9e554f03f68f2a754d7c6c18ce348b137
1.6.0
Date
2021-02-23
Git hash
40d2d49460837415ab35cb5c35caa0ca650f8bce
1.5.0
Date
2021-02-11
Git hash
1fdb168129360a91ea0bd4ed7841a6e09df7093b
1.4.0
Date
2020-07-06
Git hash
621128b77f1d14eace1a184315c99322f793ea0a
1.3.1
Date
2020-01-30
Git hash
f0fef938746ebc7c5afac15ec4d22289763e1259
1.3.0
Date
2019-12-31
Git hash
399bdd33694868293bcdfe90c9933bba11787a6a
1.2.0
Date
2019-01-24
Git hash
eba0052e50cfb4895e886a85b4b9189f8a9ca48a
1.1.1
Date
2018-08-15
Git hash
a6a55aa36a35ec05afd55adece3e75c50cf6de1a
1.1.0
Date
2018-08-13
Git hash
f4b6e61068aa8af0de39c542cea35dc09d5b3aa3
VideDemo-20180627
Date
2018-07-06
Git hash
4dde1820b22ff22fb3ff684bbeaeaebb597b88fc
archive/haptic2000-iX-updated
Date
2018-06-14
Git hash
ef69277cbbd27bdf9eb38a28d144620b1adbfb6e
archive/haptic2000-iX
Date
2018-06-13
Git hash
a7b1efa4b9fd8883fb6b058d3de8d7c54b6069a2
1.0.1
Date
2018-04-19
Git hash
afcc4ac3a205d54efe6db57193a40e9a3ca690a8
0.1.2
Date
2018-02-10
Git hash
be34171e16c369fc6cb3941641e393701282cd06
0.1.0
Date
2017-11-30
Git hash
4fbf0c439b9b9209e0845177540480a7195f6a6e

Installation

Repository

URL

https://gitlab.com/sat-mtl/tools/satie/satie

Since

2017-06-22

Last update

2023-11-06

Current version

1.6.8

Quark info

url

https://gitlab.com/sat-mtl/tools/satie/satie

name

SATIE

since

2016

schelp

Overview/SATIE-Overview

license

GPL

summary

Spatial Audio Toolkit for Immersive Environments

version

1.6.8

copyright

Nicolas Bouillot, Michal Seta, Zack Settel, Edu Meneses

dependencies

['SC-HOA']

Possible dependcies

SC-HOA

Possible dependants