The tools presented in this page have been developed in the context of a more general research project focused on the control of sound spatialization in computer-aided composition (and in particular in the OpenMusic environment).
They aim at bridging an existing gap between offline compositional tools (where the advanced/formalized musical process are developed) and real-time environments (where sound rendering occurs during concerts and performances).
In order to communicate spatialization data, and more generally spatial scene descriptions, a standard set of types have been defined in the SDIF format.
The OM-Spat library in OpenMusic allows to generate and format spatial description scenes (a set of moving sources with their different spatial attributes and evolutions) in the form of SDIF files using these spatial description types. Tools are also provided in order to synthesize multichannel spatialized audio files from these SDIF files, via the IRCAM Spat offline renderer. We propose here alternative tools for the use of scene description files in interactive/real-time contexts.
This project is carried out and developed as a collaboration between the Music Representations team (J. Bresson) and CIRMMT (Marlon Schumacher / IDMIL, McGill University).
Spat-SDIF-Player is a standalone Max application allowing lo load and stream the contents of a spatial description file.
It is based on the MuBu multi-track container, and provides simple playback and cueing function (play / pause / loop / stop, speed control…).
The open and reload controls allow to select and load the contents of an SDIF file in the buffer. (Alternatively, it is also possible to drag a file on the pathname field at the top of the window). Only position data (SDIF frames/matrices of type "XSRC"/"XCAR"), orientation ("XSRC"/"XORI") and aperture ("XSRC"/"XAPE") are loaded and considered by the player.
It is possible to select one particular source, or all of them, using the menu at the top.
Note: It is possible ton control Spat-SDIF-Player from OpenMusic, bias OSC communication on the "Incoming OSC" port (top-right of the window). By default OM sends message to UDP port 3002. When an SDIF file is "played" (selected + 'space' key) in OM, its pathname is sent to Spat-SDIF-Player, which loads the files and starts the data streaming automatically.
When "Send OSC" is checked, the player sends OSC message for each control frame read in the SDIF file (depending on the speed controller) on the selected OSC port.
The "Send Inits" buttons allows to resend the initialization data (e.g. number and identification of the sound sources, etc.) in case of late startup of the receiving process.
The messages are formatted and comply with the SpatDIF specification.
They can be received in Max, for instance, using the udpreceive object set to this incoming port.
Note: In recent releases of Spat 4 (IRCAM), the spatdif-to-spat object allows to convert incoming SpatDIF messages into Spat-formatted messages for spat.oper, spat.viewer or spat.spat.
SpatDIF-Viewer is a rendering tool to display trajectories from incoming OSC/SpatDIF messages.
If the port is set to the Spat-SDIF-Player output port, if the initialization data have correctly be sent (or re-sent), it allows to view and navigate the scene in a 3D viewer.
- Only one same incoming OSC port number can be open at a time. SpatDIF-Viewer can therefore not work simultaneously with the Max patch above and the same incoming messages.
- SpatDIF-Viewer only displays position data and ignores all other SpatDIF message streams (except the initialization messages).
- J. Bresson (2012) Spatial Structures Programming for Music. Spatial Computing Workshop - SCW'12 (co-located w. the 11th Int. Conf. on Autonomous Agents and MultiAgent Systems - AAMAS'2012), Valencia, Spain.
- J. Bresson, M. Schumacher (2011) Representation and Interchange of Sound Spatialization Data for Compositional Applications. Proc. International Computer Music Conference, Huddersfield, UK.