Master 2012 2013
Stages de la spécialité SAR
Architecture audio dans OpenMusic


Site :IRCAM / UMR STMS
Lieu :IRCAM 1, place I. Stravinsky 75004 Paris
Encadrant : Jean Bresson
Dates :01/03/2013 au 31/07/2013
Rémunération :env. 435 euros
Mots-clés : Parcours ATIAM : Informatique musicale

Description

OpenMusic est un environnement de composition assistée par ordinateur permettant la création et la manipulation de structures musicales complexes et structurées par l’intermédiaire de programmes visuels [1,2]. Parmi les structures musicales présentes dans cet environnement, les signaux sonores font catégorie à part, et sont manipulés indirectement sous forme de fichiers par l’intermédiaire d’outils ou de bibliothèques logicielles externes [3].

L’objectif de ce stage est d’envisager un mode d’intégration dynamique entre l’environnement de CAO et les signaux sonores qu’il est susceptible de produire ou manipuler. Ainsi la définition et le contrôle des procédures de synthèse et de traitement des sons pourra s’insérer plus finement au sein de processus musicaux mis en oeuvre dans cet environnement. L’interaction d’un environnement symbolique avec un "moteur" audio séparé est l’approche généralement adoptée dans ce type de situation. Du point de vue de l’architecture comme de l’implémentation, cette approche permet de distinguer les processus de contrôle et de rendu, dont les priorités et les contraintes temporelles sont rarement conciliables.

Dans cette perspective, plusieurs approches seront étudiées :

- Application de traitements symboliques aux données de contrôle et aux signaux audio (au sein de l’environnement de CAO / Common Lisp).

- Extension de l’architecture audio de l’environnement (basée sur la bibliothèque C++ LibAudioStream) permettant la production et le traitement dynamique des ressources audio.

- Transmission de données de contrôle bas niveau depuis l’environnement de CAO vers des moteurs externes, à l’aide de protocoles standardisés tels que OSC (OpenSoundControl) [4]. Idéalement, ces moteurs devront être eux-même programmables : on favorisera des environnements ou langages de programmation existants tels que SuperCollider [5], Faust [6] ou Max [7].

On s’intéressera notamment au langage Faust, un langage de spécification pour la description de processeurs audio basé sur une sémantique fonctionnelle, permettant la création de traitements ou de synthétiseurs sonores fonctionnant en temps réel. Les programmes Faust peuvent être déployés sur un grand nombre de plateformes et de formats, et s’articulent notamment avec la bibliothèque LibAudioStream. Une partie de l’intégration dans OpenMusic pourra consister en l’utilisation du langage visuel pour la description des traitements Faust qui seront ensuite compilés et connectés dynamiquement sur des flux de rendu audio [8].

Bibliographie

[1] G. Assayag, C. Rueda, M. Laurson, C. Agon, O. Delerue. "Computer Assisted Composition at Ircam : PatchWork & OpenMusic", Computer Music Journal, 23 (3), 1999.

[2] J. Bresson, C. Agon, G. Assayag. "Visual Lisp/CLOS Programming in OpenMusic", Higher-Order and Symbolic Computation, 22(1), 2009.

[3] J. Bresson. "Sound Processing in OpenMusic", Proc. Int. Conference on Digital Audio Effects (DAFx-06), Montréal, QC, Canada, 2006.

[4] M. Wright. "Open Sound Control : an enabling technology for musical networking", Organised Sound, 10(3), 2005.

[5] J. McCartney. "Rethinking the Computer Music Language : SuperCollider." Computer Music Journal, 26(4), 2002.

[6] Y. Orlarey, D. Fober, S. Letz. "Faust : an Efficient Functional Approach to DSP Programming", New Computationals Paradigms for Computer Music, Edition Delatour (France), 2009.

[7] M. Puckette. "Combining Event and Signal Processing in the MAX Graphical Programming Environment." Computer Music Journal, 15(3), 1991.

[8] D. Fober, Y. Orlarey, S. Letz. "Faust Architectures Design and OSC Support", Proc. Int. Conference on Digital Audio Effects (DAFx-11), Paris, France, 2011.