Hostname: page-component-74656f9884-8r8nv Total loading time: 0 Render date: 2026-11-08T23:51:37.468Z Has data issue: false hasContentIssue false

Spatial Sound Synthesis in Computer-Aided Composition*

Published online by Cambridge University Press:  25 October 2010

Marlon Schumacher*
Affiliation:
IDMIL – DCS – CIRMMT, Schulich School of Music of McGill University, 555 Sherbrooke St West, Montreal, QC, Canada E-mail: marlon.schumacher@music.mcgill.ca
Jean Bresson*
Affiliation:
IRCAM – CNRS UMR STMS, 1, place I. Stravinsky, 75002 Paris, France E-mail: jean.bresson@ircam.fr
Rights & Permissions [Opens in a new window]

Abstract

In this article we describe our ongoing research and development efforts towards integrating the control of sound spatialisation in computer-aided composition. Most commonly, the process of sound spatialisation is separated from the world of symbolic computation. We propose a model in which spatial sound rendering is regarded as a subset of sound synthesis, and spatial parameters are treated as abstract musical materials within a global compositional framework. The library OMPrisma is presented, which implements a generic system for the control of spatial sound synthesis in the computer-aided composition environment OpenMusic.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2010
Figure 0

Figure 1 Generation of 3D-curves via visual programs in OM. The 3DC-lib box is a set of 3DC objects. The data can be visualised and edited in graphical editors.

Figure 1

Figure 2 Sound source spatialisation with OMPrisma. Left: the patch in OpenMusic. Right: the generated Csound orchestra and score files.

Figure 2

Table 1 Spatial sound rendering concepts and respective classes in OMPrisma

Figure 3

Figure 3 The same spatial sound scene realised with different spatial sound rendering techniques: 5.0 (ITU) panning, VBAP and higher-order Ambisonics.

Figure 4

Figure 4 Example for a sound spatialisation process using the OMPrisma class spat.3D.continuous. The gen-trajectory function converts a 3DC-lib object containing 3-dimensional trajectories into envelopes for x, y, z. Functions, pre-defined lookup-tables and presets are used to control the rendering of perceptual distance-cues. Room-characteristics are specified via the function spat-room. The function ambi-setup is used to set global parameters for the rendering process.

Figure 5

Figure 5 Implementation of Sound Surface Panning via a user-fun applied to an OMPrisma matrix. a) Sound surfaces are graphically defined via BPC objects and provided as additional parameters (width/height/resolution) to the matrix. The patch labelled ‘SSP-userfun’ (b) is set as user-fun for the matrix, and therefore evaluated for each component in order to replace the sound sources with ‘sound surfaces’.

Figure 6

Figure 6 The Multiplayer standalone application decoding a third-order Bformat soundfile. On the right-hand side is a 3D visualisation of a hemispherical loudspeaker setup.

Figure 7

Figure 7 Spatial sound synthesis: merging synthesis and spatialisation classes in OMChroma. At the bottom right is the merged Csound instrument generated automatically from the class add–1 (add–1.orc, top left) and the class pan.quad.discrete from figure 2 (pan.quad.discrete.orc, top right).

Figure 8

Figure 8 Symbolic control of a spatial sound synthesis process in OpenMusic. The visual program on the right hand side (3d-polar-virtfun) converts the symbolic musical materials to synthesis and spatialisation parameters. The spatial positions of the synthesised score materials are shown in the 3DC-lib at the bottom left.

Figure 9

Figure 9 Interfacing sound spatialisation and analysis tools in OpenMusic. Control data is derived from sound analyses (transient detection, fundamental-frequency estimation and partial-tracking) of the original soundfile (a). A visual program (mapping) specifies mapping-functions to determine spatial positions and reverberation characteristics (b). The 3DC visualises the spatial distribution of the sound segments; indices denote their order of succession (c).

Figure 10

Figure 10 Spatial additive synthesis using the classes add–1 and ambi.2D.continuous: (a) a harmonic spectrum is generated (visualised as a chord) and additional partials (micro-clusters) added around each harmonic; (b) a set of envelopes (BPF-lib) is used to control both sound synthesis and spatialisation parameters; (c) two manually defined (i.e. hand-drawn) trajectories are interpolated over the number of partials. Each partial is assigned an individual trajectory, displayed in the 3DC-lib on the right-hand side.

Figure 11

Table 2 OMPrisma classes and respective slots (p-fields) for discrete control

Figure 12

Table 3 OMPrisma classes and respective slots (p-fields) for continuous control