Tools made at the SAT[Metalab]¶
This page lists free software tools created at the SAT[Metalab] and lists artworks and design projects made with each of them.
Scenic : Telepresence software for live performances and installations¶
Projects using Scenic:
SPIN : Framework for spatial interaction in a networked system of virtual environments.¶
The SPIN Framework¶
The SPIN Framework is a software suite and set of libraries for Linux and OSX that support 'Spatial Interaction' and 3D visualization in networked virtual environments. It uses a client-server model to support distributed immersive environments and collaborative interaction in shared virtual reality.
Authors: Mike Wozniewski, Zack Settel, Alexandre Quessy, Tristan Matthews, Michal Seta, Louis Bouchard.
Projects using SPIN:
SpatOSC :: C++ library that controls various 3D audio spatializers¶
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.
Projects using SpatOSC:
Lunch: distributed process launcher¶
Project integrators often need to deploy software processes on different computers and make sure they keep running as long as they want. Art installations might need to be alive for many days. Lunch answer these needs. It is a distributed process launcher. It launches processes through an encrypted SSH session if on a remote host. Those slave processes can in turn launch the desired commands on-demand.
Authors: Alexandre Quessy, Michal Seta.
Projects using Lunch:
Written for use with Pure Data, the pdsheefa library provides externals and patches to provide support for creating pd-based SPIN SPIN Framework clients for scene management (show control) and audio rendering. The library contains several objects related to distributed network control. Control signals can be managed, filtered and redirected using several utility objects and abstractions. There is support for simple HID devices (mouse, keyboard, joysticks) and the Ubisense tracking system. Some of the patches and extenals in this library, were taken from other (now frozen) repositories, such as "audioscape", spinwidgets, and pdsheefa-0.3.6. The library also consolidates the xjimmies library (from nSLAM).
Authors: Mike Wozniewski, Zack Settel.
License: GPL, LGPL, BSD, etc.
Projects using SPIN: