SpatOSC: C++ library that controls various 3D audio spatializers¶
Audio spatialization in multichannel systems raises compatibility problems between the diverse creative tools on one hand and the multitude of sound spatialization systems on the other hand. The SpatOSC library (Spatialization OpenSoundControl) facilitates interoperability between creative tools and sound environments. Artists can use tools they are already familiar with to take advantage of the sound spatialization possibilities offered by immersive environments like those available at the SAT.
Creating an interactive project that deals with 3D sound becomes difficult when it needs to run in multiple venues, due to differences in speaker arrangements and sound spatialization systems. There needs to be a standardized approach to audio spatialization. Formats from the gaming and multimedia communities are appealing, but generally lack the features needed for spatial audio performance and interactive new media. Experimental features need to be supported, including things like support for multiple listeners in a scene, complex sound directivity, the ability to accurately model acoustics, and fine controls for tuning spatial effects such as Doppler shift, distance attenuation and filtering. Our solution to the problem was to develop an open source C++ library called SpatOSC, which can be included in existing visualization engines, audio development environments, and plugins for digital audio workstations. We wrote unit tests, made some examples and artworks using this library, and made sure it sounded right.
The ability to support multiple listeners and experiment with loudspeaker configurations is included, as is the ability to precisely tune spatialization by disabling or scaling effects such as distance attenuation and doppler shift. The distribution and separation of show control, 3D state maintenance, and rendering is supported by the adoption of OpenSoundControl as the primary protocol for this system, allowing for diverse interaction between applications. Since it is a C++ library, it is easy to include it in pretty much any existing or custom or existing software. This new C++ library provides an abstract unified way to describe spatialized audio scene and to render it via different audio spatializers on different speakers layouts. Instead of expecting that everyone adopts a new spatial audio format, our library provides an immediate solution, with "translators" that handle conversion between formats.
SpatOSC was developed as a solution to the difficulty in spatializing audio for the Satosphère, which uses a Meyer system consisting of 157 speakers.
3d sound spatialization in real time for augmented performances. Added high-end 3d audio support for game engines and virtual reality systems.
The works presented in the Satosphère today use SpatOSC and a Meyer system with 157 acoustic speakers.
Researchers: Mike Wozniewski, Alexandre Quessy, Tristan Matthews, Zack Settel, Vijay Rudraraju
Authors: Mike Wozniewski, Tristan Matthews, Alexandre Quessy.