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¶
Scenic is an on stage telepresence system that allows for real time transmission of audiovisual data over any IP network. Telepresence systems can be used in various artistic contexts, so that two different creative spaces can communicate with each other or present a combined performance. Thus, a dramatic work could be performed simultaneously in Paris and Montreal, with actors viewing each other and replying live over the network. The idea can also work during preproduction: the creative director of a stage performance, stationed in one city, could review and comment upon a rehearsal in another city, and this in real time.
Authors: Tristan Matthews, Alexandre Quessy, Nicolas Bouillot, Michal Seta, Simon Piette, Philippe Chevry, Koya Charles, Sylvain Cormier, Étienne Désautels, Hugo Boyer.
Projects using Scenic:
SPIN : Framework for spatial interaction in a networked system of virtual environments.¶
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¶
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.
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: