You are on page 1of 167

Journes

d'Informatique
Musicale
Captation, Transformation, Sonification

21 au 23 mai 2014

Bourges
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Sommaire JIM 2014

Prsentation des JIM 2014, Bourges_____________________________________________7

Comits des JIM 2014________________________________________________________9

Sessions et confrences______________________________________________________11

Journe Captation, mercredi, 21 mai 2014


_________________________________________________________________________13

Dominante de la Journe (Keynote) 1


Marcelo Wanderley
Motion Capture for Performance Analysis and Interactive Applications________________15

Session 1, Notations

Camille Le Roi, Colas Decron et Dominique Fober


Extension de Guido aux notations contemporaines________________________________ 17

Jaime Arias, Myriam Desainte-Catherine, Sylvain Salvati et Camilo Rueda


Executing Hierarchical Interactive Scores in ReactiveML___________________________ 25

Guillaume Jacquemin et Thierry Coduys


Partitions rtroactives avec ianniX_____________________________________________ 35

Mike Solomon, Dominique Fober, Yann Orlarey et Stphane Letz


Dploiement des services du moteur de rendu de partitions GUIDO sur Internet_________ 42

Session 2, Langages

Paul Hudak et David Janin


Programmer avec des tuiles musicales: le T-calcul en Euterpea ______________________47

Sarah Denoux, Stphane Letz et Yann Orlarey


FAUSTLIVE - un compilateur la vole pour Faust ... et bien plus encore______________57

3
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Session 3, Outils pour la cration

Olivier Blanger
Cecilia 5, la bote outils du traitement audio-numrique___________________________64

Pierre Guillot
Une nouvelle approche des objets graphiques et interfaces utilisateurs dans pure data____71

Tho de La Hogue, Myriam D. Catherine, Pascal Baltazar, Jaime Chao et Clment Bossut
OSSIA : Open Scenario System for Interactive Applications_________________________78

Journe Transformation, jeudi, 22 mai 2014


_________________________________________________________________________85

Dominante de la Journe (Keynote) 2 -


Transformation, la projection de diffrentes modalits dans lespace cratif

Jonatas Manzolli
From Concept to Sound: Transformation through Live Interactive Composition_________87

Fernando Iazzetta
Experimenting with transformation_____________________________________________89

Session 4, Studio Report

Roger Cochini
Dpartement de musique lectroacoustique et de cration, Conservatoire de musique et de
danse de Bourges___________________________________________________________91

Vittorio Montalti
Conservatoire de Tours______________________________________________________93

Session 5, Analyse

Didier Guigue
Vers un modle pour l'analyse de l'orchestration : rapport de recherche en cours________95

Raed Belhassen
Structures modales et ornementations dans la musique arabe : modlisations et prsentation
dune bibliothque dobjets dans Csound_______________________________________102

4
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Laurent David, Mathieu Giraud, Richard Groult, Florence Lev et Corentin Louboutin
Vers une analyse automatique des formes sonates________________________________113

Session 6, Analyse & prservation

Clarisse Bardiot, Guillaume Jacquemin, Guillaume Marais et Thierry Coduys


REKALL : un environnement open-source pour documenter, analyser les processus de
cration et simplifier la reprise des uvres______________________________________119

Guillaume Boutard et Fabrice Marandola


Dissmination et prservation des musiques mixtes : une relation mise en uvre
________________________________________________________________________130

Journe Sonification, vendredi, 23 mai 2014


________________________________________________________________________135

Dominante de la Journe (Keynote) 3,


Peter Sinclair
Sonification And Art_______________________________________________________137

Session 7, Composition

Thomas Hummel (invit)


Algorithmic Orchestration With Contimbre_____________________________________139

Andrea Agostini, ric Daubresse et Daniele Ghisi,


cage: une librairie de haut niveau ddie la composition assiste par ordinateur dans Max
________________________________________________________________________141

Daniel Puig,
Systemic Thinking and Circular Feedback Chains in A Live-Eletronics Algorithm For "Gosto
De Terra" _______________________________________________________________147

Table Ronde,
Avec la participation de Anne Sdes, Myriam Desainte-Catherine, Yann Orlarey, Laurent
Pottier, Alain Bonardi, Pierre Michaud et Julien Rabin.
Bilan et perspectives de la revue francophone dinformatique musicale_______________153

5
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Annexes
________________________________________________________________________155

Peter Sinclair,
Sonification And Art, Rsum tendu__________________________________________157

6
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Le son a une place particulire dans la vie de tous les jours et son utilisation dans un
environnement scientifique, comme vecteur de prsentation des donnes, est de plus en plus
rpandue. Nous consacrons ainsi, lors des Journes dInformatique Musicale Bourges, une
journe cette prsentation de la connaissance sous forme sonore - Journe Sonification. Elle
prend sa place aux cts des journes ddies au geste - Journe Captation - et au traitement
du signal - Journe Transformation.

Bourges a une remarquable histoire dans la recherche et le dveloppement de projets


concernant la musique lectroacoustique, linformatique musicale et la sonification en
particulier. Tout dabord cest le Centre National de Cration Musicale qui a contribu au
dveloppement de la recherche dans le domaine de linformatique musicale, de mme que le
Conservatoire avec sa classe de composition lectroacoustique et lcole Nationale
Suprieure dArt (ENSA) avec ses Ateliers son. Enfin, lun des permiers enseignements en
France de la sonification a t dispens lInstitut Universitaire de Technologie (IUT).

Cest en sinspirant de ces sources historiques que MusInfo, avec le soutien de lAssociation
Franaise dInformatique Musicale et en collaboration avec lENSA et lIUT de Bourges,
reprend la relve et organise les Journes dInformatique Musicale Bourges, accompagnes
de la premire dition des Journes Art & Science en Rgion Centre avec un nouveau
Concours de composition lectroacoustique. Nous souhaitons ainsi ouvrir une nouvelle page
dans lhistoire de la musique lectroacoustique et de la recherche en informatique musicale au
centre de la France.

Alexander Mihali
Prsident de MusInfo

7
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

8
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Comits JIM 2014

Comit dorganisation
Administration
Alexander Mihalic, IMRA Marseille / IRCAM Paris

Communication
Fabien Cothenet, Mmoire Magntique, Imphy

Scientifique
Mikhail Malt, IRCAM, IReMus, MINT OMF, Sorbonne, Paris

Artistique
Robert Rudolf, France Musique Radio France / Conservatoire de Noisy-le-Sec

Comit de pilotage, AFIM


Daniel Arfib, Grard Assayag, Marc Chemillier, Myriam Desainte-Catherine, Dominique Fober, Mikhal Malt,
Yann Orlarey, Franois Pachet, Laurent Pottier, Julien Rabin, Jean-Michel Raczinski et Anne Sdes.

Comit scientifique
Karim Barkati, Ircam, France ; Olivier Baudouin, MINT-OMF, Paris-Sorbonne, France ; Gregory Beller, Ircam,
France ; Didier Guige, University of Paraiba, Brsil ; Alain Bonardi, Ircam, France ; Bruno Bossis, APP
Universit Rennes 2 OMF MINT Paris Sorbonne, France ; Jean Bresson, UMR STMS: IRCAM-
CNRS-UPMC, France ; Claude Cadoz, Lab. ICA, Grenoble Inst. of Techn. /ACROE, Min. de la Culture et de la
Communication, France ; Thierry Coduys, Le Hub, France ; Arshia Cont, Ircam, France ; Pierre Couprie
IReMus, Paris-Sorbonne University ESPE, France ; Eric Daubresse, Ircam, France ; Myriam Desainte-
Catherine, LaBRI, Universit de Bordeaux, France ; Frdric Dufeu, CeReNeM University of Huddersfield,
Royaume Uni ; Franois-Xavier Fron, LaBRI CNRS (UMR 5800), France ; Jean-Louis Giavitto, Ircam
UMR STMS 9912 CNRS, France ; Karim Haddad, Ircam, France ; Fernando Iazzetta, University of Sao Paulo,
Brsil ; Florent Jacquemard, INRIA Ircam, France ; Emmanuel Jourdan, Ircam, France Cycling74, E.U. ;
Serge Lemouton, Ircam, France ; Marco Liuni, Ircam CNRS STMS, Analysis/Synthesis Team, France ;
Universit di Firenze, Dip. di Matematica U. Dini , Italie ; Grgoire Lorieux, Ircam, France ; Mikhail Malt,
Ircam IreMus MINT OMF, Sorbonne, France ; Jnatas Manzolli, University of Campinas NICS, Brsil ;
Tom Mays, CNSMD de Paris, CICM Paris VIII, France ; Nicolas Viel, Paris IV Sorbonne, France ; Geoffroy
Peeters, Ircam, France ; Laurent Pottier, UJM-CIEREC, France ; Julien Rabin, GMEA, France ; Jean-Michel
Raczinski, Arkamys, France ; Geber Ramalho, Universidade do Pernanbuco, Brsil ; Patrick Sanchez, CNRS
LMA Equipe SONS, France ; Stephan Schaub, University of Campinas NICS, Brsil ; Anne Sedes, Paris
VIII, France ; Peter Sinclair, Locus Sonus, France ; Benjamin Thigpen Musicien indpendant ; Vincent Tiffon,
Univ. de Lille-Nord de France, CEAC EDESAC IRCAM-CNRS, France ; Todor Todoroff,
UMONS/TCTS/ARTeM, BElgique

9
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

10
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Sessions & Confrences

11
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

12
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Journe Captation
mercredi, 21 mai 2014

13
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

14
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

MOTION CAPTURE FOR PERFORMANCE ANALYSIS AND


INTERACTIVE APPLICATIONS

DOMINANTE DE LA JOURNEE (KEYNOTE)

Prof. Marcelo M. Wanderley


Director - Centre for Interdisciplinary Research in Music Media and Technology
CIRMMT
www.cirmmt.mcgill.ca
Input Devices and Music Interaction Laboratory
www.idmil.org

Movements and gestures are an integral part of music performance. Musicians playing acoustic
instruments or digital musical instruments make a variety of movements that are either essential or
ancillary to the production of sound, contributing to the experience of the performer as well as to
the way and audience perceives the music.

In this talk I will discuss various research projects at the Input Devices and Music Interaction
Laboratory (IDMIL) at McGill University dealing with the measurement of movement in music
performances, focusing on motion capture of a variety of instruments (e.g. clarinet, violin, timpani)
as a means to a) quantify the movements present in performance with acoustic and digital musical
instruments, b) evaluate the repeatability of ancillary performer movements, c) create pedagogical
tools to improve the learning of musical instruments, and d) provide control data for the synthesis of
a virtual musician (timpanist).

Examples will be provided to illustrate the benefits (and limitations) of this approach.

15
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

16
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

EXTENSION DE GUIDO AUX NOTATIONS CONTEMPORAINES

Camille Le Roi, Colas Decron, Dominique Fober


Grame - Centre national de cration musicale
{cleroi, decron, fober}@grame.fr

R SUM les pratiques identifies dans la littrature contemporaine.


Nous montrerons galement comment une forme de lan-
Le projet G UIDO regroupe la fois un format textuel gage gnrique permet de combiner ces reprsentations et
de description de partitions musicales, un moteur de rendu offre lutilisateur un large ventail de solutions pour la
bas sur ce format, et une librairie qui fournit aux dvelop- reprsentation de la musique.
peurs dapplications un support de haut niveau pour len-
semble des services lis au format G UIDO et son rendu
2. LE FORMAT DE NOTATION GUIDO
sous forme graphique. A lorigine, le projet G UIDO traite
de la notation traditionnelle de la musique occidentale. Le Ci-dessous figurent les principes gnraux du format
projet a t rcemment tendu, tant du point de vue du for- de notation G UIDO. Ils sont fournis pour permettre la com-
mat que du point de vue du rendu, pour adresser galement prhension du contenu des sections suivantes. Pour plus
les besoins les plus courants de la musique contemporaine. de dtails on peut se reporter [1] ou [8].
Cet article prsente ces extensions et montre comment les Le format de base de G UIDO recouvre les notes, si-
choix de design fournissent lutilisateur une large palette lences, altrations, voix indpendantes, et les concepts les
de solutions pour la notation de la musique. plus courants de la notation musicale comme les clefs, m-
triques, armures, articulations, liaisons, etc. Les notes sont
1. INTRODUCTION reprsentes par leur nom (a b c d e f g h), une al-
tration optionnelle (# et & pour dise et bmol), un nu-
Le projet G UIDO est n il y a presque 20 ans, tout mro doctave optionnel (1 par dfaut) et une dure op-
dabord comme format textuel de reprsentation de la mu- tionnelle exprime sous forme de fraction (1/4 pour la
sique [7, 8], puis comme moteur de rendu graphique de noire, 1/8 pour la croche, 1/2 pour la ronde, etc. ).
partitions musicales [14]. Lors de sa conception, le for- Les tags sont utiliss pour donner des informations mu-
mat G UIDO se diffrencie des approches proposes par sicales supplmentaires, comme les liaisons, clefs, armures,
SCORE [10], MuseData [5], DARMS [15] ou encore Hum- etc. Un tag a une des formes suivantes :
drum [9] notamment parce quil est pleinement lisible par \tagname<param-list>
lutilisateur. Lapproche dveloppe par G UIDO repose sur \tagname<param-list>(note-series)
lide dadquation, qui invite noter simplement les con-
o param-list est une liste optionnelle de paramtres (cha-
cepts musicaux simples, et ne recourir une syntaxe
nes de caractres ou nombres), et o note-series est len-
complexe que pour les notions musicales complexes.
semble des notes ou accords concerns par le tag. Dans ce
Postrieurement au format G UIDO, dautres reprsen- cas nous parlerons de range-tag (tag possdant une dure
tations textuelles de la musique ont vu le jour, telles que explicite).
Lilypond [12, 11] qui est assez similaire dans son format,
ou MusicXML [3], oriente vers lchange de partitions.
Toutefois, le projet G UIDO reste unique car il est le seul 3. EXTENSIONS DE LA NOTATION
qui propose la fois une syntaxe, un moteur de rendu et
une librairie C/C++ permettant dembarquer des capaci- 3.1. Micro-tonalit
ts de rendu de partitions dans des applications indpen- La micro-tonalit est limite graphiquement la re-
dantes. Par ailleurs, la rapidit et lefficacit du moteur prsentation du quart de ton, alors que, du point de vue
de rendu le rendent utilisable dans un contexte temps rel du langage, elle sexprime comme un nombre flottant de
(pour des partitions dont le niveau de complexit nest pas demi-tons qui sont arrondis au quart de ton le plus proche
trop lev), ouvrant la voie des formes dinteractivit in- pour le rendu graphique :
dites [6, 2]. 1) \alter<detune>
Pour rpondre aux besoins les plus courants de la mu- 2) \alter<detune>(note-series)
sique contemporaine, le format G UIDO ainsi que le mo- La premire forme (1) introduit la notion daltration
teur de rendu ont t tendus. Aprs un bref rappel sur le courante : laltration reste valide jusqu une indication
format G UIDO, cet article dcrit ces extensions (nouveaux contraire. Dans la deuxime forme (2), laltration ne sap-
symboles puis amliorations des symboles existants), et plique quaux notes indiques.
situe les choix faits en matire de rendu graphique dans

17
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

E XEMPLE
[
a&& \alter<-1.5>(a) a& \alter<-0.5>(a)
a \alter<0.5>(a) a# \alter<1.5>(a)
\alter<1.8>(a)
]

Figure 3. Les 6 nouveaux noteheads ajouts

Pour lapparence graphique de ces lments, nous nous


sommes principalement inspirs des ouvrages de E. Gould
Figure 1. Micro-tonalit arrondie au quart de ton [4] et de K. Stone [16].
Des ajustements particuliers ont t ncessaires pour
La micro-tonalit est galement introduite dans les ar- tenir compte des diffrences graphiques entre les ttes de
mures de clef libres. De manire similaire, elle sexprime notes :
sous forme de nombres flottants indiqus entre crochets. insertion dun offset horizontal variable selon le sym-
bole choisi, lorientation de la hampe, lutilisation en
E XEMPLE accord ou non (les accords pouvant possder des no-
[ teheads diffrents pour chacune de leurs notes) ;
\key<"free=c[1.5]g#b&a[-1.5]"> a g# adaptation de la longueur de la hampe selon le type
\alter<0.5> g a \alter<1.5> g de symbole utilis (par exemple, diffrence de lon-
] gueur entre la croix et le losange).

3.3. Mtriques complexes


La mtrique complexe permet dindiquer une subdivi-
sion de la mtrique par une somme en place et lieu de la
mtrique habituelle. La syntaxe est la mme que pour une
Figure 2. Armure de clef libre avec micro-tonalit mtrique normale, elle fait usage du tag \meter et il suf-
fit de remplacer le numrateur par une somme, comme le
montre lexemple ci-dessous, illustr en figure 4.
3.2. Ttes de notes
E XEMPLE
La librairie G UIDO a t tendue avec 6 nouveaux sym-
boles de ttes de notes. Son implmentation repose sur le [ \meter<"3+3+2/4"> a b g ]
tag \noteFormat, dj existant, qui modifie lapparence
des notes qui le suivent (couleur, taille, offset, etc.), et au-
quel nous avons ajout un attribut de style, permettant
3+3+2
& X4 x Xhh xXx
lutilisateur de choisir lapparence des ttes de notes.
\noteFormat<style=noteHeadStyle>
o noteHeadStyle est parmi : Figure 4. Mtrique complexe
x : une croix
diamond : un losange
round : un rond 3.4. Clusters
square : un carr
triangle : un triangle, pointe en haut Un cluster est un accord musical contenant plusieurs
reversedTriangle : un triangle, pointe en bas notes conscutives. Il peut par exemple tre effectu sur un
piano o il se joue en dclenchant des touches contigus
La premire porte de lexemple de la figure 3 est g-
nre avec le code suivant : (en utilisant son avant-bras, par exemple).
Un cluster est indiqu par un range-tag sappliquant
[
des accords de deux notes : les notes extrmes du cluster
\noteFormat<style="x"> a
\noteFormat<style="diamond"> a
(les autres notes ventuelles seront ignores).
\noteFormat<style="round"> a \cluster<param-list>(chord-series)
\noteFormat<style="square"> a
\noteFormat<style="triangle"> a Comme lindique en partie la figure 5, les choix, faits
\noteFormat<style="reversedTriangle"> a partir douvrages rfrents [4, 16], ont t les suivants :
] le cluster est reprsent par un rectangle ;

18
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

E XEMPLE Il paraissait important de donner la possibilit lutili-


[ sateur de ncrire quune seule fois le tag pour dcrire plu-
\cluster({a, d} {c/8, f} sieurs glissandi conscutifs, contrairement la description
{a/2, d2} {c1/1, f2}) de lilypond o le tag doit tre rpt entre chaque note.
] Ainsi le range-tag apparaissait comme la meilleure so-
lution pour dcrire un ou plusieurs glissandi : toutes les
notes comprises dans les parenthses seraient prises en
compte et lies les unes aux autres par des glissandi.
Concernant le moteur de rendu, lalgorithme de dmul-
tiplication dun mme tag et de rpartition de celui-ci est
fortement inspir de celui du \tie, ou liaison de prolon-
Figure 5. Cluster gation, qui doit galement crer une liaison entre chacune
des notes affectes.

ce rectangle est plein ou vide, selon la dure du clus- E XEMPLE


ter ; [ \glissando(g b d) ]
la hampe est conserve pour garder lindication de
la dure.
Le tag \cluster supporte galement les paramtres de
contrle standards (size, dx, dy, color) auxquels ont t
ajouts des paramtres hdx et hdy permettant dintroduire
un dcalage sappliquant la tte de cluster.
Un cluster est vu comme une note et supporte donc Figure 7. Glissando
le tag \noteFormat ainsi que le contrle de lorienta-
tion des ttes de notes (\headsReverse, \headsLeft et
\headsRight) ainsi quillustr en figure 6.
3.6. Liens de croches en soufflet (feathered beaming)
E XEMPLE Dcrite par Gardner Read comme "a highly graphic re-
[ presentation of rythmic flexibility" [13] (p. 94), cette no-
\cluster<color="red", hdx=1, hdy=3>({a}) tation contemporaine dun accelerando ou ritardando
\cluster<size=0.5>({f, c2}) travers les liens de croches est, de manire gnrale, en-
\noteFormat<color="purple"> core peu rpandue dans les ouvrages de thorie, et se r-
\headsReverse sume souvent des cas simples, partant ou arrivant la
\cluster<color="green", size=2>({f, g2}) simple croche, cest dire partant de, ou arrivant vers,
\cluster<"blue">({d1/2, g})
un unique point. Pourtant il parat intressant de pouvoir
]
offrir la possibilit aux compositeurs de dcrire le pas-
sage entre nimporte quelles valeurs : par exemple dune
double-croche une triple-croche, ou dune quadruple-
croche une double-croche, etc. (figure 8).

E XEMPLE
[
Figure 6. Clusters : interactions avec dautres tags \fBeam(a/16 a a a/32) \fBeam(a/64 a a a a/16)
]

3.5. Glissando xxx xxx xxx xxx xxx xxx xxx xxx xx
& X X X X xX xX xX xX xX
Le glissando se prsente classiquement comme une li-
gne joignant deux notes dcales dans le temps (figure 7),
indiquant ainsi un glissement, continu ou non suivant le
type dinstrument, dune hauteur une autre. Figure 8. Feathered beams plus complexes
La syntaxe choisie a t la suivante :

\glissando<params>(notes) Dans un dsir de simplicit, il a t dcid de dcrire


params : par un seul range-tag un seul groupe de notes lies, corres-
- fill = "true" ou "false" : pondant un point de dpart et un point darrive uniques.
option de remplissage Il est cependant possible de chaner plusieurs feathered
- thickness : paisseur de la ligne beams en utilisant la forme Begin / End des range-tags
TM

19
PDF Editor
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

(i.e \fBeamBegin et \fBeamEnd), permettant alors, non les dures de dpart et darrive qui dfinissent las-
seulement de chaner deux beams par une note (figure 9), pect graphique du feathered beam.
mais aussi de les faire se chevaucher sur plusieurs notes.
Ces diffrents niveaux de description nous poussent
faire une claire distinction entre laspect temporel et las-
E XEMPLE pect graphique de notre groupe de notes. Il a t dcid
[ de laisser au compositeur la libert de donner son fea-
\fBeamBegin:1 c/8 d e/16 thered beam laspect graphique quil dsire, indpendam-
\fBeamBegin:2 f/32 \fBeamEnd:1 ment des dures internes de ses notes. Il pourra ainsi jouer
e/16 d/8 c \fBeamEnd:2 sur les espacements entre notes, sur le nombre de notes,
]
et sur la dure totale de manire "classique" en imposant
chaque note une dure, et en veillant ce que la somme
xx xx xx xx de toutes les notes corresponde la dure totale souhaite.
x xx x
& _Xxx xXx xX Xx xX Xx _Xxx
Cette dure totale peut tre indique sur la partition grce
au paramtre drawDuration (figure 11).

E XEMPLE
Figure 9. Feathered beams chans [ \fBeam<drawDuration="true"> (
a/8 a a/16 a a a/32 a )]
On remarque que, mme dans un ouvrage tel que celui
dE. Gould [4], peu de dtails sont donns sur cette nota- 1/2
tion, et on se heurte rapidement des incohrences telles xxXx xx xx xx xx xx xx
que celle de la figure 10 tire de ce mme ouvrage : on
& Xx Xx Xx Xx Xx Xx
veut faire tenir en un temps une croche et quatre notes de
dures infrieures la croche mais suprieures la triple-
croche.
TM Figure 11. Reprsentation de la dure

PDF Editor
Sans plus dindication de sa part, laspect graphique
suivra les dures relles des notes et prendra comme points
de dpart et darrive les dures des premire et dernire
notes. Cest le cas de la figure 11.
En revanche, le param durations pourra lui permettre
Figure 10. Exemple dincohrence entre la dure totale et dimposer un aspect graphique tout autre, lui donnant ainsi
les dures individuelles des notes dun groupe li (Behind la possibilit dindiquer linterprte un changement de TM

Bars, p. 158). tempo plus ou moins important, et pas ncessairement co-

PDF Editor
hrent avec les dures intrinsques des notes, mais ayant
Ce manque dune exacte cohrence entre tempo et as- du sens dans linterprtation (figure 12).
pect graphique est galement soulign par Kurt Stone [16] :
"Besides, the gradual increase or decrease in the num- E XEMPLE
ber of beams makes exact indications of beat-units impos- [ \fBeam<durations="1/16, 1/64",
sible" (p. 124). drawDuration="true">(
a/8 a/16 a a a/32 a )]
Ainsi on voit limportance des choix de design de ce
symbole, sur la manire de le dcrire textuellement, de le
dessiner en particulier dans le cas de plusieurs voix si- 3/8

multanes, et de manire gnrale sur la libert laisse xxXx xxXx xxXx xxxxX xxx xxx
lutilisateur. & Xx Xx
Concernant les possibilits de description donnes
lutilisateur, nous avons pu voir que plusieurs critres, par-
fois incohrents entre eux, pouvaient intervenir dans la Figure 12. Aspect graphique impos par lutilisateur
description et devaient pouvoir tre imposs par lutilisa-
En rsum, la syntaxe gnrique est la suivante :
teur :
\fBeam<params>(notes)
le nombre de notes dans le groupe ; params :
leurs dures individuelles et intrinsques qui dfi- - durations = "firstDur", "lastDur" :
nissent galement leur espacement ; dure des premire et dernire notes
la dure totale du groupe, directement dpendante - drawDuration : TM

des dures individuelles ; indication de la dure totale

PDF Editor
20
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

3.7. Tags \staffOff et \staffOn jpg ou bmp. Les paramtres de contrle permettent dajus-
ter la taille et la position de limage dans la partition.
Les tags \staffOff et \staffOn permettent de faire
Sa syntaxe est la suivante :
disparatre et apparatre des parties de la partition, en par-
ticulier pour cacher une voix muette pendant un certain 1) \symbol<params>
temps (figure 13). 2) \symbol<params>(notes)
Son usage est gnralis tous les lments et toutes params :
les voix de la partition et permet des montages plus com- - filePath : chemin du fichier
- position = [top | mid | bot] :
plexes (figure 14).
position de limage
- size : taille de limage
- w/h : largeur/hauteur de limage

Le tag \symbol peut tre utilis comme un tag simple


ou comme un range-tag :
1. le symbole ne possde pas de dure mais prend de
la place sur la porte, selon sa taille ;
2. le symbole sapplique aux notes indiques (sans ti-
Figure 13. \staffOff classique rement).
Le fichier est indiqu par un chemin absolu ou rela-
{ tif. Dans le second cas, le chemin est relatif au rpertoire
[ contenant le fichier source ou au rpertoire home de luti-
\clef \meter<"3/4"> a b/2 e/4
lisateur.
\staffOff f g
],
[ E XEMPLE
\meter<"3/4"> \staffOff \clef c Sur la premire porte, le symbole ne possde pas de du-
\staffOn d g | \staffOff f g \staffOn b re, contrairement la deuxime porte.
] {
} [
\meter<"4/4"> c f
\symbol<file="silence.png", dx=-5,
dy=-10>
c d f
],
[
\meter<"4/4"> a d
\symbol<file="ronds.png",
Figure 14. \staffOff plus complexe position="bot"> (f g) g
]
Limplmentation graphique est le pendant de la des- }
cription textuelle : tous les lments inscrits aprs un tag
\staffOff dans la description textuelle ne sont pas des-
sins jusquau prochain \staffOn dans la squence cou-
rante. Pour plusieurs lments simultans, cest donc bien
lordre dans la description textuelle qui indiquera le com-
portement adopter. Ainsi :
[ \meter<"4/4"> \clef \staffOff
a b \staffOn c ]
nest pas quivalent :
[ \staffOff \meter<"4/4">
\clef a b \staffOn c ]
Figure 15. Graphiques arbitraires
Quant la porte, elle commence, ou sarrte, aux po-
sitions correspondant au dbut des lments suivant le tag.

3.8. Graphiques arbitraires


Le tag \symbol permet dinsrer des graphiques arbi-
traires dans la partition, sous forme de fichier image ex-
terne. Les formats graphiques supports sont de type png,

21
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

4. CONTRLE DE RENDU la notation comprenne galement la ligne ondule du trille


qui suit celui-ci et en indique la dure. Comme ce symbole
Aprs avoir expos les nouvelles notations implmen- tait dj en partie implment, il fallait pouvoir lui offrir
tes dans G UIDO, nous allons prsent nous intresser plus de souplesse sans pour autant en complexifier la syn-
aux amliorations et subtilits rajoutes aux notations exis- taxe.
tantes. De plus, nous avons voulu donner la possibilit de choi-
sir de dessiner ou non le signe tr, ainsi que de pouvoir
4.1. Nouveaux paramtres changer lancrage de la ligne pour le dplacer sur la tte
de la note. Cela fut implment grce au param tr qui
De nouveaux paramtres ont t introduits pour plu- accepte comme valeurs true ou false et anchor qui
sieurs tags dj existants, permettant un contrle tendu accepte comme valeurs note ou tr (figure 17).
du rendu graphique : Le reste des modifications graphiques pouvant tre ef-
\staffFormat : nouvelle possibilit de contrle de fectues manuellement par lutilisateur travers les pa-
lpaisseur des lignes de la porte ramtres classiques de dplacement (dx, dy), de couleur
\tuplet : nouvelle possibilit de contrle de lpais- (color), et de taille (size).
seur des lignes, de la taille du texte, etc.
\cresc et \decresc : maintenant paramtrable en
position, paisseur, couleur. E XEMPLE
On se reportera la documentation utilisateur pour le d- [ \trill<tr="false", anchor="note">
tail de ces paramtres. ( {g} {a/2} ) ]
xxx xxEx
E XEMPLE
& X~~ ~~~~
Lexemple suivant illustre ces amliorations et gnre la
partition de la figure 16.
{ Figure 17. Cas du trille ancr la tte de note, et tr op-
[ \tuplet<"-3-", lineThickness=0.4, tionnel
bold="true", textSize=2, dy1=10> (
\cresc<dm="fff", dx1=-5, dx2=5, Enfin, une subtilit au niveau du contrle du rendu a
dy=1, deltaY=5, color="red", galement t ajoute. Il fallait dfinir le comportement
size=1.7> (a a a) )
quant aux notes lies. La solution adopte est de dessi-
],
ner la ligne du trille jusqu la fin de la dernire note lie
TM

[ \staffFormat<lineThickness=0.5>

PDF Editor
\decresc<thickness=0.8> (g d e f) si celle-ci provient dune note plus longue dcoupe au-
] tomatiquement, mais de sarrter normalement la pro-
} chaine note si la liaison a t explicite par lutilisateur,
qui pourra alors dcider de rpter le trille sur cette autre

&X x xX
3
xX note, ou non. (figure 18)

& xX xxX xX 'xxX E XEMPLE


{
[
\meter<"2/4"> \trill({a} {a/2})
],
[
\meter<"2/4"> \trill(
Figure 16. Contrle de rendu tendu {a} \tie({a} {a})
)
]
}
4.2. Amliorations des trilles x ~ ~ x ~ ~ ~ ~ x~ ~ ~
\trill<params>(chord-series)
params:
24 xxX xxX xxX
- tr = [true | false]
&
- anchor = [note | tr]
x ~ ~ ~~ ~~
2 xxX xxX xxX
Un trille est un ornement musical qui consiste alter-
ner rapidement la note de base, sur laquelle est not le
& 4
trille, et la note situe juste au-dessus.
Dans la version prcdente de G UIDO, le trille pro-
prement parler ntait indiqu que par le symbole tr plac Figure 18. Cas du trille appliqu des notes lies
au-dessus de la note. Il paraissait pourtant important que

22 TM
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

4.3. Glissandi et accords E XEMPLE


Un glissando entre deux accords soulve la question de [
la rpartition des glissandi entre les notes des accords. La \glissando<fill="true", dx1=-2, dx2=2,
thickness=2.2> (
solution propose est celle qui nous a paru la plus intui-
\cluster({e,g} {c,b})
tive : cest lordre des notes dans la description textuelle )
de laccord qui dtermine les relations entre les notes. Par \glissando<fill="true">(
exemple, pour 2 accords A et B, la premire note de lac- {c,e,g} {a,c2,f1}
cord A sera lie la premire note de laccord B, la se- )
conde de A la seconde de B, etc. (figure 19). ]
xx xxx xx xx
XxXxX
E XEMPLE & xx _xxx _XXxXxx
[ \glissando({e,a} {f,b} {a,d}) ]

xxXx xxx xxXx Figure 21. Glissandi entre accords et clusters avec param
XxXx de remplissage
& xX xXx

Figure 19. glissandi entre accords 4.4. Combinaisons de beams


Pour finir, concernant le feathered beaming comme le
Lunique problme avec ce choix peut se poser lors beaming classique, il est maintenant possible de crer des
dun conflit dans lordre impos par le glissando prcdent hirarchies de beams : cest dire denglober plusieurs
et par le suivant, comme dans le premier cas de lexemple beams dans un plus grand, afin de les joindre par une barre TM

de la figure 20. Il est alors possible de faire appel une se- principale commune (figure 22).
conde voix, et au tag \staff<numro de porte> qui
pourra crer sur une mme porte dautres glissandi en
parallle et indpendants des premiers (figure 20).
TM

[
PDF Editor
E XEMPLE

E XEMPLE
PDF Editor \beam(
\fBeam(c/8 e d f g/32)
\fBeam(a/16 f e d c/64)
)
[ \glissando(e {d,f,a} g) b ]
]

xxx xxXx xx
& xxX XXxXx hXhh xx xxx xxx xx xx xxX xx xx xxx xx
& _Xxxx xX Xx xX Xx xX xXx xxX
_Xxx
{
[ \glissando(e {d,f}) empty b ],
[ \staff<1> empty \glissando(a g) empty ] Figure 22. Feathered beams englobs dans un plus grand
}

xxXx xxx xxXx hXhh 5. CONCLUSION


& XxXxX
Le projet G UIDO se diffrencie des approches de type
gravure musicale telles que Lilypond ou MuseScore (pour
TM ne citer que les outils libres) en ce sens quil privilgie
Figure 20. Cas de recours une seconde voix pour le glis- un rendu efficace et quil met en uvre un grand nombre

PDF Editor
sando (empty reprsente une note invisible.)

Enfin, lors de combinaisons de glissandi avec des ac-


dautomatismes pour le calcul de la partition. Il est cepen-
dant plus limit en matire de complexit et de notations
supportes.
TM
cords ou des clusters, il nous a paru intressant, comme on Les extensions qui ont t prsentes comblent pour
peut le voir dans [4] (p. 143) ou dans [16] (p. 61), de don- partie le foss entre le moteur G UIDO et les approches ci-

PDF Editor
ner la possibilit de remplir lespace entre ces glissandi tes prcdemment. Elles ont t ralises principalement
grce un param fill. Une certaine flexibilit peut tre la demande de compositeurs et au service de crations
trouve dans le dessin grce aux params graphiques dx1, TM
en cours. Elles sintgrent dans le moteur existant dans
dx2, dy1, dy2, ainsi que thickness qui permettent de le respect des diffrentes combinaisons du langage. Leur

PDF Editor
modifier laspect du glissando (figure 21). implmentation a soulev des problmes de design qui ont

23
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

t rsolus en laissant lutilisateur le choix entre les dif- [13] G. Read. Music notation : a manual of modern prac-
frentes possibilits. Elles sont disponibles avec la version tice. Crescendo book. Allyn and Bacon, 1969.
1.52 de la librairie G UIDO. Le projet G UIDO est un projet [14] Kai Renz. Algorithms and Data Structures for a
open source hberg sur Sourceforge 1 . Music Notation System based on GUIDO Music No-
tation. PhD thesis, Technischen Universitt Darm-
6. REFERENCES stadt, 2002.
[15] E. Selfridge-Field. DARMS, Its Dialiects, and Its
[1] C. Daudin, Dominique Fober, Stephane Letz, and
Uses. In Beyond MIDI, The handbook of Musical
Yann Orlarey. La librairie guido une boite outils
Codes., pages 163174. MIT Press, 1997.
pour le rendu de partitions musicales. In ACROE,
editor, Actes des Journes dInformatique Musicale [16] K. Stone. Music Notation in the Twentieth Century :
JIM09 Grenoble, pages 5964, 2009. A Practical Guidebook. W W Norton & Company
Incorporated, 1980.
[2] Dominique Fober, Yann Orlarey, and Stephane Letz.
Inscore an environment for the design of live mu-
sic scores. In Proceedings of the Linux Audio Confe-
rence LAC 2012, pages 4754, 2012.
[3] M. Good. MusicXML for Notation and Analysis. In
W. B. Hewlett and E. Selfridge-Field, editors, The
Virtual Score, pages 113124. MIT Press, 2001.
[4] E. Gould. Behind Bars : The Definitive Guide to
Music Notation. Faber Edition Series. Faber Music
Limited, 2011.
[5] Walter B. Hewlett. MuseData : Multipurpose Re-
presentation. In Selfridge-Field E., editor, Beyond
MIDI, The handbook of Musical Codes., pages 402
447. MIT Press, 1997.
[6] Richard Hoadley. Calders violin : Real-time nota-
tion and performance through musically expressive
algorithms. In ICMA, editor, Proceedings of Inter-
national Computer Music Conference, pages 188
193, 2012.
[7] H. Hoos, K. Hamel, K. Renz, and J. Kilian. The
GUIDO Music Notation Format - a Novel Approach
for Adequately Representing Score-level Music. In
Proceedings of the International Computer Music
Conference, pages 451454. ICMA, 1998.
[8] H. H. Hoos and K. A. Hamel. The GUIDO Mu-
sic Notation Format Specification - version 1.0, part
1 : Basic GUIDO. Technical report TI 20/97, Tech-
nische Universitat Darmstadt, 1997.
[9] David Huron. Humdrum and Kern : Selective Fea-
ture Encoding. In Selfridge-Field E., editor, Beyond
MIDI, The handbook of Musical Codes., pages 376
401. MIT Press, 1997.
[10] Smith Leland. SCORE. In Beyond MIDI, The hand-
book of Musical Codes., pages 252280. MIT Press,
1997.
[11] Han-Wen Nienhuys. Lilypond, automated music for-
matting and the art of shipping. In Forum Interna-
cional Software Livre 2006 (FISL7.0), 2006.
[12] Han-Wen Nienhuys and Jan Nieuwenhuizen. Lily-
Pond, a system for automated music engraving. In
Proceedings of the XIV Colloquium on Musical In-
formatics (XIV CIM 2003), May 2003.
1 . http://guidolib.sf.net

24
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

EXECUTING HIERARCHICAL INTERACTIVE SCORES IN


REACTIVEML

Camilo Rueda
Jaime Arias, Myriam Desainte-Catherine, Sylvain Salvati
Departamento de Electrnica y
Univ. Bordeaux, LaBRI, Bordeaux, F-33000, France
Ciencias de la Computacin
CNRS, UMR 5800, Bordeaux, F-33000, France
Pontificia Universidad Javeriana
IPB, LaBRI, Bordeaux, F-33000, France
Cali, Colombia
{jaime.arias, myriam, sylvain.salvati}@labri.fr
crueda@javerianacali.edu.co

R SUM visualization of the execution of the score.

Le modle des partitions interactives permet dcrire et 1. INTRODUCTION


dexcuter des scnarios multimdia interactifs. Le logi-
ciel I - SCORE implmente ce modle au moyen des Hi- Interactive scores [10] proposes a model to write and exe-
erarchical Time Stream Petri Nets (HTSPN). Cependant, cute interactive scenarios composed of several multimedia
cette implmentation est trs statique et lajout de cer- processes. In this model, the temporal organization of the
taines fonctionnalits peut ncessiter une reconception com- scenario is described by means of flexible and fixed tem-
plte du rseau. Un autre problme de I - SCORE est quil poral relations among temporal objects (i.e., multimedia
ne fournit pas un bon retour visuel de lexcution dun processes) that are preserved during the writing and per-
scnario. Dans cet article, nous dfinissons et implmen- formance stage.
tons un interprte de partitions interactives avec le lan- The implementation of interactive scores in the soft-
gage de programmation synchrone R EACTIVE ML. Dans ware I - SCORE 1 is based on Petri Nets [17]. Such im-
ce travail, nous tirons parti de lexpressivit du modle plementation provides an efficient and safe execution, but
ractif et de la puissance de la programmation fonction- implies a quite static structure. Indeed, only elements that
nelle pour obtenir un interprte plus simple et plus dy- have been planned during the composition process can
namique. Contrairement limplmentation base sur les be executed. Therefore, it is not possible to modify the
rseaux de Petri, cette approche permet de dfinir prcis- structure of the scenario during execution, for example,
ment laspect hirarchique et permet de prototyper facile- dynamically add a new element that was not written be-
ment de nouvelles fonctionnalits. Nous proposons aussi fore execution. In addition, modelling new features for
une visualisation temps rel de lexcution en utilisant I - SCORE such as conditionals, loops or handling streams
lenvironnement INS CORE. would require a complete redesign of the network. There-
fore, this model is not suitable for compositional develop-
ABSTRACT ment and integration of new features that composers in-
creasingly need to write more complex scenarios.
Interactive scores proposes a model to write and execute In this paper, we explore a new way to define and im-
interactive multimedia scores. The software I- SCORE im- plement interactive scores, aiming at a more dynamic model.
plements the above model using Hierarchical Time Stream For this purpose, we use R EACTIVE ML [16], a program-
Petri Nets (HTSPN). However, this model is very static ming language for implementing interactive systems (e.g.,
and modelling new features would require a complete re- video games and graphical user interfaces). This language
design of the network or sometimes they cannot be ex- is based on the synchronous reactive model of Boussinot [8],
pressed. Another problem of I - SCORE is that it does not then it provides a global discrete model of time, clear se-
provide a good visual feedback of the execution of the mantics, and unlike Petri nets, synchronous and determin-
scenario. In this work, we define and implement an in- istic parallel composition and features such as dynamic
terpreter of interactive scores using the synchronous pro- creation of processes. Moreover, R EACTIVE ML has been
gramming language R EACTIVE ML. Our work takes ad- previously used in music applications [4, 5] showing to be
vantage of the expressiveness of the reactive model and very expressive, efficient, capable of interacting with the
the power of functional programming to develop an in- environment during the performance of complex scores,
terpreter more dynamic and simple. Contrary to the Petri and well suited for building prototypes easily.
Net model, our approach allows to model precisely the hi- The rest of the paper is organized as follows. In Section
erarchical behaviour, and permits the easy prototyping of 2 we present the I - SCORE system and we briefly introduce
new features. We also propose a visualization system us-
ing the environment INS CORE that provides a real-time 1 http://i-score.org

25
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

the R EACTIVE ML programming language. In Section 3 In Figure 1 we illustrate an interactive scenario with all
we describe the implementation in R EACTIVE ML of the its temporal relations. Here, the horizontal axis represents
new interpreter of interactive scores. Next, in Section 4 we time and the vertical axis has no meaning. Additionally,
present the improved visualization system in INS CORE. the start and end of boxes are partially defined by tempo-
Finally, in Section 5 we present related work, conclusions, ral relations that are represented as solid (rigid relation)
and ideas for future work. and dashed (flexible relation) arrows. Moreover, tabs rep-
resent the interactions points of boxes.
2. PRELIMINARIES
0
3
In this section we present the I - SCORE system and the nec- r1 r3
1
r5
essary notions of R EACTIVE ML language. 4

r7

2.1. I- SCORE
r6
r2 r4 5
2
I - SCORE [3, 17] is a software for composing and execut-
ing interactive multimedia scenarios [2]. It consists of two
sides: authoring and performance. In the authoring side,
the composer designs the multimedia scenario while in the 6

performance side the performer executes the scenario with


interactive capabilities. Next, we present in more detail
both sides.
Figure 1. Example of an interactive scenario.
2.1.1. Authoring side
In interactive scores [10], multimedia elements are tem- 2.1.2. Performance side
poral structures represented as boxes. These boxes can be
either simple or complex. A simple box represents a mul- In order to execute the scenario designed in the previ-
timedia process that will be executed by an external appli- ous side, I- SCORE translates the score into a Hierarchical
cation such as P URE DATA 2 or MAX/MSP 3 . I- SCORE Time Stream Petri Net (HTSPN) [19]. The Petri net model
controls such applications by means of OSC 4 messages. allows to trigger the interactive events, and also it denotes
On the other hand, a complex box allows to gather and and preserves the temporal organization of the score dur-
execute a set of boxes making possible the design of large ing the execution. The reader may refer to [17] for further
and complex scenarios. However, this box does not exe- information on generating the HTSPN structure from the
cute a multimedia process. score. The following example illustrates the execution of
The temporal organization of the score is partially de- a scenario.
fined by temporal relations. They indicate a precedence
relation between boxes using Allens relations [1], as well Example 1. Consider the interactive score in Figure 1
as a delay between them. A temporal relation can be ei- with the following configuration :
ther rigid or flexible. In a rigid relation, the duration of Box 1 starts 3 seconds after the start of the scenario.
the delay is fixed whereas in a flexible relation, the dura- Its duration is 4 seconds.
tion is partially defined by an interval of time (i.e., it has a
minimum and a maximum duration). Box 2 starts 1 second after the start of the scenario.
The composer can add interaction points to boxes. They Its duration is 5 seconds.
allow to modify the preceding relations (i.e., start date)
and the duration (i.e., end date) of boxes during the exe- Box 6 starts immediately (i.e., 0 seconds) after the
cution. In the case of a complex box, an interaction point end of the box 2. Its duration is 15 seconds.
stops abruptly the box with its children. It is important to
Box 3 is a complex box with two children; the box
know that the temporal organization of the score is pre-
4 and 5. The start of the box is defined by the flex-
served during composition and performance. Therefore,
ible relations r3 and r4 whose durations are [1, 4]
the performer can interpret the same score in different
and [3, 8], respectively. Therefore, at any instant
ways within the constraints of the composer. In I- SCORE,
in which the above relations are satisfied, the box
an interaction point is triggered by sending the OSC mes-
may be started by triggering the interaction point.
sage defined by the composer. Additionally, all preceding
In Section 3 we elaborate more on the semantics of
relations of a box with an interaction point are flexible,
temporal relations and interaction points.
otherwise they are rigid.
2 http://puredata.info
The duration of the box 3 is the interval [2, ], then
3 http://cycling74.com/products/max/ the box may be stopped after 2 seconds of its start-
4 http://opensoundcontrol.org/introduction-osc ing by triggering the interaction point.

26
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Box 4 starts 2 seconds after the start of its parent of logical instants. Additionally, parallel processes are ex-
(i.e., box 3). Its duration is the interval [3, 6], then ecuted synchronously (lock step) and they communicate
the box may be stopped after 3 seconds of its start- with each other in zero time. This communication is made
ing by triggering the interaction point. It is impor- by broadcasting signals that are characterized by a status
tant to know that the box will stop when it reaches defined at every logical instance: present or absent. In
its maximum duration (i.e., 6 seconds) if the inter- contrast to E STEREL [7], the reaction to absence of sig-
action point is not triggered before. nals is delayed, then the programs are causal by construc-
tion (i.e., a signal cannot be present and absent during the
Box 5 starts 3 seconds after the start of the box 3. same instant). Moreover, the reactive model provides dy-
Its duration is 1 second. namic features such as dynamic creation of processes. In-
The scenario finishes when the box 6 finishes and 4 deed, R EACTIVE ML provides a toplevel [15] to dynami-
seconds have elapsed after the end of the box 3. cally write, load and execute programs.
In R EACTIVE ML, regular OC AML functions are in-
Following [17], we translated the score into its equiva- stantaneous (i.e., the output is returned in the same in-
lent HTSPN structure (Figure 2). For the sake of simplic- stant) whereas processes (process keyword) can be exe-
ity, we do not show the time interval on the arcs. Note that cuted through several instants. Next, we use the program
transitions with double stroke are those with an interaction shown in Figure 3 to describe the basic expressions of R E -
point. ACTIVE ML.

start(4) end(4)
1 let process killable_p p s =
start(1) end(1) 2 do
3 run p
end(3)
start(3) 4 until s done
start(0)
5
start(5) end(5)
start(2) end(2)
end(0) 6 let process wait tic dur =
7 for i=1 to dur do await tic done
8
start(6) end(6)
9 let process emit_tic period tic =
10 let start = Unix. gettimeofday () in
11 let next = ref ( start +. period ) in
12 loop
13 let current = Unix. gettimeofday () in
14 if ( current >= !next) then begin
15 emit tic ();
16 next := !next +. period
Figure 2. HTSPN structure of the scenario specified in 17 end;
Example 1. 18 pause
19 end

We show in Figure 4 an execution of the above scenario


where only the interaction point of the box 3 is triggered. Figure 3. Example of R EACTIVE ML language.
All other intervals reach their maximum duration. Note
that box 3 must be stopped, otherwise it will never end Two expressions can be evaluated in sequence (e1;e2)
because it has an infinite duration. merge(r3,r4) repre- or in parallel (e1||e2). In R EACTIVE ML is possible to
sents the interval of time in which the box 3 may start. In write higher order processes like the process killable_p
this interval, the relations r3 and r4 are satisfied. As can (line 1) which takes two arguments: a process p and a
be seen, the interaction point is not triggered, then the box signal s. This process executes p until s is present. The
starts when the interval reachs its maximum duration. We expression run executes a process (line 3). There are two
can conclude that this scenario finishes in 27 seconds only important control structures: the construction do e until
if the interaction point at the end of the box 3 is triggered s to interrupt the execution of e when the signal s is
at 23 seconds. present, and the construction do e when s to suspend the
execution of e when the signal s is absent.
2.2. R EACTIVE ML Signals can be emitted (emit), and awaited (await).
For instance, the process wait (line 6) takes two argu-
R EACTIVE ML [16] is a synchronous reactive program-
ments: a signal tic and an integer dur. The purpose of
ming language designed to implement interactive systems
this process is similar to a timer; it waits for the signal
such as graphical user interfaces and video games. It is
tic to be emitted a number dur of times. The expression
based on the reactive model of Boussinot [8] and it is
await s waits for s to be emitted and it finishes in the next
built as an extension of the functional programming lan-
instant whereas the expression await immediate s waits
guage O CAML 5 . Therefore, it combines the power of
for s to be emitted and it terminates instantaneously. An
functional programming with the expressiveness of syn-
important characteristic of the R EACTIVE ML implemen-
chronous paradigm [6].
tation is the absence of busy waiting: nothing is computed
The reactive synchronous model provides the notion of
when no signal is present. The process emit_tic (line 9)
a global logical time. Then, time is viewed as a sequence
takes two arguments: a float period and a signal tic. It
5 http://ocaml.org works like a clock; it gets the current time by using the

27
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

min

Box 3
r6 r7

r5 Box 5

min max min max

merge (r3,r4) Box 4


min max

r3
Box 1 min max

r1 r4
r2 Box 6
Box 2

time
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Figure 4. Execution of Example 1 where only the interaction point of the box 3 is triggered.

function Unix.gettimeofday from the Unix module, and tempo (in beats) and the physical time (in ms). This mod-
emits the signal tic (line 15) whenever the period of time ule is based on the work of Baudart et al. [4, 5]. The mod-
expires (line 14). The pause (line 18) keyword awaits for ule Motor interprets the interactive score and interacts with
the next instant. The construction loop e end iterates in- the environment by listening external events and trigger-
finitely e. ing external multimedia processes. The implementation
R EACTIVE ML also provides valued signals. They can fulfills the operational semantics of interactive scores [10].
be emitted (emit s value) and awaited to get the associ- In the following, we describe the above modules.
ated value (await s (pattern)in expression). Differ-
ent values can be emitted during an instant (multi-emission).
3.1. Modelling Time
In this case, it is necessary to define how the emitted val-
ues will be combined during the same instant (signal R EACTIVE ML, like other synchronous languages, pro-
name default value gather function in expression). vides the notion of a global logical time. Then, time is
The value obtained is available at the following instant in viewed as a sequence of logical instants. The process
order to avoid causality problems. For example, the pro- emit_tic (Figure 3), explained in Section 2.2, is the in-
cess add (Figure 5) declares the local signal num (line 2) terface between the physical time and the logical time. Its
with an initial value 0 and a function which adds two in- purpose is to generate the clock of the system by emitting
tegers. The process gen (line 3) generates a set of values a signal in a periodic time. Therefore, from this signal of
that are emitted through the signal num at the same instant. clock, we can define a process to express delays by wait-
The process print (line 6) awaits for the signal num, and ing a specific number of ticks (process wait in Figure 3).
then it prints the value in n. Note that n contains the sum
of all values generated by the process gen.
3.2. Execution of Interactive Scores
1 let process add max = Interactive scores [10] are basically composed of: boxes
2 signal num default 0 gather fun x y -> x+y in
3 let process gen = that represent multimedia processes; temporal relations
4 (for i=1 to max do emit num i done) that define the temporal organization of the score (i.e.,
5 in
6 let process print = the start and the end of boxes); and interaction points that
7 await num (n) in transform a static score into dynamic by allowing the per-
8 print_endline ( string_of_int n)
9 in former to modify the temporal relations during the execu-
10 run gen || run print tion. In the following, we present the implementation of
the above elements in R EACTIVE ML.
Figure 5. Example of multi-emission of signals.
3.2.1. Temporal relations

3. SYNCHRONOUS MODEL OF INTERACTIVE Temporal relations partially define the temporal organiza-
SCORES tion of the scenario. They represent delays that allow to
specify the start and the duration of boxes. Relations can
In this section, we present a new execution model of in- be either rigid or flexible. In a rigid relation, the duration
teractive scores using the reactive programming language of the delay is fixed whereas in a flexible relation, the du-
R EACTIVE ML. The implementation of the interpreter is ration of the delay is partially defined by an interval of
divided into two main modules: Time and Motor. The time. This interval can be modified by triggering an inter-
module Time interfaces the abstract time relative to the action point during the execution.

28
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Hence, we define two types of intervals in order to rep- duration. The following example illustrates the represen-
resent temporal relations. The fixed interval represents a tation of boxes and relations in R EACTIVE ML.
rigid relation and the interactive interval represents a flex-
Example 2. Consider the hierarchical box shown in Fig-
ible relation with an attached interaction point (Figure 6).
ure 7a. This box, identified with the number 2, has a pro-
The interaction point allows to stop the interval during the
cess box as child and an interaction point at the end. The
defined interval of time (i.e., between the minimum and
duration of the hierarchical box is the interval [2, ]. The
the maximum duration) by triggering a specific event.
process box, identified with the number 1, starts 2 seconds
after the starting of its parent and its duration is 2 seconds.
We show the specification in R EACTIVE ML of Exam-
fixed interval
duration ple 2 in Figure 7b.
interaction point
enabled
interactive interval
minimum duration 2
maximum duration

r1 r2
time 1

Figure 6. Fixed and flexible intervals.


(a) Graphical representation.

In R EACTIVE ML, we represent a fixed interval as a tu-


1 signal pb1_s , hb1_s , hb2_s , r1_s , r2_s;
ple (d,s) where the signal s is emitted when the duration 2 let ip = ("/ stop ",[ Int32 3]);
d has elapsed. On the other hand, the interactive interval 3 let start_m = ("/ box /1" ,[ String " start "]);
4 let stop_m = ("/ box /1" ,[ String "stop "]);
is defined as a tuple (min,max,ip) where min and max are 5 let r1 = Fixed ( Finite 2, r1_s);
fixed intervals that represent the minimum and maximum 6 let r2 = Fixed ( Finite 0, r2_s);
7 let p_box = Process (1, Fixed ( Finite 2, pb1_s ), start_m ,
duration of the interval, and ip is its interaction point. It stop_m );
should be noted that the duration of a flexible interval can 8 let h_box = Hierarchical (2, [ p_box ], [(2 ,1 , r1);(1 ,2 , r2)
], Interactive (( Finite 2, hb1_s ), (Infinite , hb2_s )
be either finite or infinite. , ip))
Interaction points are represented as OSC messages
that are sent from the environment and transmitted through (b) Specification in R EACTIVE ML.
a signal. An OSC message is represented as a tuple (t,
Figure 7. Specification of a hierarchical box in R EAC -
a) where t is the address and a is the list of arguments
TIVE ML.
with their type. For example, (/light/1, [String
luminosity; Int32 90]). Firstly, we define the signals that will be emitted when
Hence, we define a temporal relation between two boxes the intervals reach their durations (line 1), the OSC mes-
as a tuple (from,to,intrvl) where from and to are the sage of the interaction point (line 2), and the OSC mes-
identifiers of the boxes involved in the relation, and intrvl sages to start (line 3) and stop (line 4) the external mul-
is the interval that defines the delay between them. timedia process. Then, we define the interval r1 (line 5)
that determines the start of the process box (i.e., box 1). It
3.2.2. Boxes is important to note that we need to specify both the type
of the interval (i.e., Fixed or Interactive) and the dura-
Boxes can be either simple or complex. A simple box rep- tion (i.e., Finite or Infinite). Since the parent of the box
resents a multimedia process that is executed by an exter- 1 has an interaction point, the duration of the interval r2 is
nal application. For this reason, the interpreter only sends not relevant, therefore we define its duration as 0 seconds
OSC messages in order to control its start and end. On (line 6). Next, we define the process box p_box (line 7)
the other hand, a complex box gather and execute a set of with a fixed duration of 2 seconds and the messages de-
boxes with their own temporal organization. Recall that fined previously. Finally, we define the hierarchical box
the duration of a box is defined by an interval. Then, it with its child p_box, its internal relations r1 and r2, and
can be either fixed or interactive. In the rest of the paper, its duration. Note that the duration of box 2 is defined
we call rigid boxes as process boxes and complex boxes by means of an interactive interval because it has an in-
as hierarchical boxes. teraction point at the end. As in the definition intervals,
A process box is defined as a tuple (id,intrvl,s_msg we need to specify the type of the box (i.e., Process or
,e_msg) where: id is the identifier of the box; intrvl is Hierarchical).
the interval that defines its duration; s_msg and e_msg are The execution of a box is performed by a R EACTIVE ML
the OSC messages to start and stop the external process, process (Figure 8). It first waits for the preceding intervals
respectively. We define a hierarchical box as a tuple (id, of the box are satisfied (line 3). Then, it executes the box
b_list, r_list, intrvl) where: id is the identifier of depending of its type (line 4). Finally, once the box has
the box; b_list is the list of its children; r_list is the list finished, it launches its succeeding intervals (line 5). The
of the relations; and intrvl is the interval that defines its above processes must be killed if the parent of the box is

29
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

stopped. In the following we describe the processes that 1 let process run_h_box h_box =
decode each type of box. 2 let (ident , boxes , relations , interval ) = h_box in
3 signal stop_box_h in
4 signal kill_m in
5 do (await immediate stop_f ; emit stop_box_h ) until
1 let rec process run_generic box w_rels s_rels stop_f kill_m done ||
id_box = 6 ((( do
2 (* .. *) 7 run ( run_intervals [ interval ]) ||
3 run ( killable_p ( wait_intervals w_rels id_box ) 8 (run ( wait_intervals [ interval ] ident );
stop_f ); 9 begin
4 run ( run_box box); 10 match interval with
5 run ( killable_p ( run_intervals s_rels ) stop_f ) 11 | Fixed _ -> ()
12 | Interactive _ -> emit stop_box_h
13 end
Figure 8. Process that executes a box. 14 ) ||
15 run ( run_intervals ( get_intervals ident relations
From)) ||
A process box, implemented in the process run_p_box 16 run ( wait_intervals ( get_intervals ident relations
To) ident )
(Figure 9), first gets its identifier (ident), the interval that 17 until stop_box_h done); emit stop_box_h ) ||
defines its duration (interval), and the OSC messages 18 run ( run_boxes_par boxes relations stop_box_h ));
emit kill_m
to start (start_m) and stop (end_m) the external process
(line 2). Then, it starts the external process by sending the
corresponding OSC message (line 4). Next, it runs the Figure 10. Process that executes a hierarchical box.
interval of its duration (line 5) and waits until it ends (line
6). Finally, once the box stops, it immediately sends the
corresponding OSC message to stop the external process box will start when one of its preceding relations has fin-
(line 7). The box and its external process finish suddenly ished, and the interaction point will be enabled when they
if the signal stop_f is emitted (do/until construction) by have reached their minimum duration (Figure 11b). In the
its parent. second case, the box will start when all its preceding rela-
tions have finished (Figure 11a). As noted, we can merge
a set of intervals into one that follows the behaviour de-
1 let process run_p_box p_box =
2 let (ident , interval ,star_m ,end_m) = p_box in scribed above. Next, we describe the processes to handle
3 do intervals.
4 emit output ( star_m );
5 (run ( run_intervals [ interval ]) ||
6 run ( wait_intervals [ interval ] ident));
7 emit output (end_m); interaction point
8 until stop_f -> emit output (end_m) done enabled

min max
Figure 9. Process that executes a process box. fix interval 1 interactive interval 1
fix interval 2 min max
interactive interval 2
merge fixed (1,2)
min max
merge interactive (1,2)
On the other hand, a hierarchical box is executed by
time time
the process run_h_box (Figure 10). It first gets the param-
eters of the box (line 2): its identifier (ident); its chil- (a) Fixed intervals. (b) Interactive intervals.
dren (boxes); the temporal relations of the sub-scenario
(relations); and the interval that defines its duration (interval Figure 11. Merging a set of intervals.
). Then, it executes in parallel: a monitor that emits the
signal stop_box_h when the parent of the box finishes sud- The process run_intervals (Figure 12) runs in parallel
denly (line 5); the interval that defines its duration (line 7); a list of intervals (line 3). Each interval emits a specific
a monitor that emits the signal stop_box_h when the box signal when it reaches its duration (line 7). In the case of
stops because of an interaction point (line 12); the rela- an interactive interval, a different signal will be emitted
tions that describe the temporal organization of the sub- when it reaches its minimum and maximum duration (line
scenario (line 15); a monitor that waits for the relations 12 and 14). Following the semantics described above, if
defining its end (line 16); and its children with their pre- a box has several preceding intervals, it will start when
ceding and succeeding intervals (line 18). Hence, the hi- one of them finishes (do/until construction). We use the
erarchical box and its children will finish abruptly when process iterator Rml_list.par_iter to execute in parallel
the signals stop_box_h or stop_f are emitted. Otherwise, a list of processes.
the hierarchical box will finish when its duration and all The process wait_intervals (Figure 13) waits for a
internal relations have finished. set of intervals are satisfied. Then, in the case that all in-
tervals are fixed, it waits until all intervals end (line 5 and
3.2.3. Synchronization 7). Otherwise, it first waits until all reach their minimum
duration (line 5), and then it begins to listen the external
Boxes can have one or more preceding and succeeding re- events (line 13) until one interval reaches its maximum du-
lations. In I- SCORE, all preceding relations of a box with ration (do/until construction) or the event associated to
an interaction point are flexible (interactive intervals). Oth- the interaction point is triggered (line 14). The emission
erwise, all are rigid (fixed intervals). In the first case, the of the signal max_s also will stop all intervals.

30
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

1 let process run_intervals inter_l = Simulation log ...


2 (* .. *) ==================
3 run ( Rml_list . par_iter
4 (proc i -> clock 0 -> ( scenario started ), ( h_box 0 started ).
5 match i with clock 1 -> ( p_box 2 started ).
6 | Fixed (d,s) -> clock 2 -> .
7 run ( handle_duration d s) clock 3 -> ( p_box 1 started ).
8 | Interactive (min ,max ,_) -> clock 4, 5 -> .
9 let (min_d ,min_s) = min in clock 6 -> ( p_box 2 finished ), ( p_box 6 started ).
10 let (max_d ,max_s) = max in clock 7 -> ( p_box 1 finished ).
11 begin clock 8 -> .
12 run ( handle_duration min_d min_s); clock 9 -> ( start listening ip 1).
13 do clock 10, 11 -> .
14 run ( handle_duration max_d max_s) clock 12 -> (stop listening ip 2) , ( h_box 3 started ).
15 until max_s done; clock 13 -> .
16 end clock 14 -> ( p_box 4 started ), ( start listening ip 2).
17 ) inter_l ) clock 15 -> ( p_box 5 started ).
clock 16 -> ( p_box 5 finished ).
clock 17 -> ( start listening ip 3).
clock 18, 19 -> .
Figure 12. Process that runs a set of intervals. clock 20 -> (stop listening ip 3) , ( p_box 4 finished ).
clock 21 -> ( p_box 6 finished ).
clock 22 -> .
1 let process wait_intervals inter_l id_box = clock 23 -> ( event ip 2 triggered ), (stop listening ip
2 (* .. *) 2) , ( h_box 3 finished ).
3 if (List. length inter_l > 0) then clock 24, 25 26 -> .
4 begin clock 27 -> ( h_box 0 finished ), ( scenario finished ).
5 run ( sync_minimum inter_l );
6 match (List.hd inter_l ) with
7 | Fixed (_) -> ()
8 | Interactive (_,max ,ip) ->
Figure 14. Execution log of Example 1 where only the
9 let (_, max_s) = max in interaction point at the start of the box 3 was triggered.
10 begin
11 do
12 loop Simulation log ...
13 await input (ip_e) in ==================
14 (if ( checkIP ip ip_e) then emit max_s );
15 pause clock 0 -> ( scenario started ), ( h_box 0 started ).
16 end clock 1 -> ( p_box 2 started ).
17 until max_s done clock 2 -> .
18 end clock 3 -> ( p_box 1 started ).
19 end clock 4, 5 -> .
clock 6 -> ( p_box 2 finished ), ( p_box 6 started ).
clock 7 -> ( p_box 1 finished ).
Figure 13. Process that waits for a set of intervals. clock 8 -> .
clock 9 -> ( start listening ip 1).
clock 10 -> ( event ip 1 triggered ), (stop listening ip
1) , ( h_box 3 started ).
clock 11 -> .
3.3. Running an Example clock 12 -> ( p_box 4 started ), ( start listening ip 2).
clock 13 -> ( p_box 5 started ).
In the following, we present two different executions of clock 14 -> ( p_box 5 finished ).
clock 15 -> ( start listening ip 3).
the scenario specified in Example 1 (Section 2.1) using clock 16 -> .
our interpreter. In both executions the period of the clock clock 17 -> ( event ip 2 triggered ), (stop listening ip
2) , ( p_box 4 finished ), ( h_box 3 finished ).
was one second. We used P URE DATA to run the multime- clock 18, 19, 20 -> .
dia processes and trigger the interaction points by sending clock 21 -> ( p_box 6 finished ), ( h_box 0 finished ), (
scenario finished ).
OSC messages.
In the first execution we only triggered at 23 seconds
the interaction point at the start of the box 3. Comparing Figure 15. Execution log of Example 1 where both inter-
the log of execution (Figure 14) with the execution shown action points of the box 3 were triggered.
in Figure 4, we observe our implementation follows cor-
rectly the operational semantics of interactive scores. Re-
It is important to remark that unlike the Petri Net model
call that Figure 4 illustrates the execution of Example 1
presented in [2], our model allows to represent precisely
under the same conditions.
the hierarchical behaviour of boxes. As can be seen in
On the other hand, in the second execution we started
Figure 2, the hierarchical box represented by the transi-
and stopped the box 3 at 10 and 17 seconds, respectively.
tions start(3) and end(3) only models the gathering of a
We illustrate the execution of Example 1 under the above
set of boxes, but it does not model the forced stopping of
conditions in Figure 16. Note that the box 3 started early
its children due to an interaction point.
because the interaction point was triggered at 10 seconds.
Furthermore, the children of the box 3 were stopped abruptly
at 17 seconds because the parent was stopped by the inter- 4. IMPROVING THE VISUALIZATION WITH
action point. Comparing the log of execution (Figure 15) INSCORE
with the execution shown in Figure 16, we observe our
implementation follows correctly the operational seman- Currently, the graphical interface of I - SCORE does not sup-
tics of interactive scores. port a good feedback in real-time of the dynamic execu-

31
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

min

Box 3
r6 r7
min max

Box 4
r5 Box 5

min max

merge (r3,r4)
min max

r3
Box 1 min max

r1 r4
r2 Box 6
Box 2

time
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Figure 16. Execution of Example 1 where both interaction points of the box 3 are triggered.

tion of the scenario. In this section, we attempt to over-


come this limitation by implementing a graphical inter-
face that changes depending on the events emitted during
the execution of a score.
Our approach consists in developing a visualization sys-
tem in INS CORE [11] that behaves like a synchronous ob-
server [13] of our interpreter (i.e., a process that listens
the inputs and outputs of other process without altering its
behaviour). INS CORE is a software for designing inter-
active and augmented scores. Here, scores are composed
of heterogeneous graphic objects such as symbolic music
notation, text, images, videos and files with a graphic and
temporal dimension. Moreover, this tool integrates a mes-
sage driven system that uses the OSC protocol in order to
interact with any OSC application or device. Therefore, Figure 17. Graphical interface in INS CORE.
the graphical interface can dynamically transform depend-
ing on the messages.
Roughly, in our graphical interface (Figure 17) events a box is moved to the right of the x-axis if the interpreter
can be triggered by clicking on the box. Single-click trig- has not emitted its start event and its start date has elapsed.
gers the interaction point at the start of the box whereas Additionally, we take advantage of the interaction capa-
double-click triggers the interaction point at the end. The bilities of INS CORE to trigger the interaction points of
performer knows that an interaction point can be triggered the boxes directly from the graphical interface. Next, we
when the border of the box is either dashed (the interac- describe in more detail the process box (Figure 18).
tion point at the start) or dotted (the interaction point at the First, it draws the box in INS CORE by means of the
end). A R EACTIVE ML process listens the events emitted function draw_box (line 2). This function also assigns IN-
by the interpreter and changes the organization and size S CORE events to boxes in order to trigger their interaction
of boxes in the graphical interface depending on them. points. Next, it verifies at each tick of clock if the box
Moreover, boxes change their colour when they are ex- needs to move to the right of the x-axis (line 8) because it
ecuting. The interface also shows the current time in the has not started and its start date has elapsed (i.e., the start
upper right of the scenario and indicates the current posi- date of the box is delayed). In the case of a hierarchical
tion of the execution with a vertical line. box, the children move along with the parent (line 10).
Additionally, it checks if the interaction point at the start
of the box is enabled. If that is true, the box changes its
4.1. Implementation
border to dashed (line 16).
In the following we describe the implementation of the Once the box starts (i.e., the interpreter emitted the start
process box. This process listens the events emitted by event of the box), it changes its colour (line 20) and returns
the interpreter and dynamically transforms the graphical to its original border (line 21). Then, the process verifies if
interface depending on them. the box started before its start date (line 22). In that case,
Roughly speaking, the process sends OSC messages to the box is moved to the current position in the execution of
INS CORE according to both the events emitted by the in- the score (line 24). Next, the process tests at each tick of
terpreter and the current time of execution. For instance, clock if the width of the box needs to be lengthened (line

32
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

33) because it has not stopped and its end date has elapsed 5. CONCLUDING REMARKS
(i.e., the end date of the box is delayed). In addition, it
examines if the interaction point at the end of the box is In this work, we presented a synchronous interpreter of
enabled. If that is true, the box changes its border to dotted multimedia interactive scores. It was implemented in the
(line 39). synchronous programming language R EACTIVE ML [16].
Once the box stops (i.e., the interpreter emitted the stop We showed that the implementation is simple and small
event of the box), it returns to its original colour (line 43) thanks to the synchronous model and high-order program-
and border (line 44). Finally, the process verifies if the ming provided by R EACTIVE ML. Contrary to the Petri
box stopped before its end date (line 46). In that case, the Net model presented in [17], our approach allows to model
box is resized to the current position in the execution of precisely the hierarchical behaviour of boxes.
the score (line 47). The box with identifier 0 is not resized We explored the use of INS CORE to develop a graphi-
because we do not want to resize the scenario. cal interface that provides a real-time visualization of the
execution of the score. In this sense, it improves the cur-
1 let process box b =
rent graphical interface of I - SCORE. We took advantage
2 draw_box id_b (! width *. dx) (get_x !pos_x) pos_y of the OSC protocol to communicate our interpreter with
height ip_start ip_end ;
3
external applications such as P URE DATA and INS CORE.
4 (* waiting the start *) We believe that our implementation provides many ad-
5 do
6 loop vantages for the composition and execution of interac-
7 await immediate clock; tive scores. For instance, as shown in [5], we can pro-
8 if (! pos_x < current ) then begin
9 pos_x := !pos_x +. 1.0; totype new features easily and execute living code using
10 List.iter the toplevel of R EACTIVE ML [15]. Moreover, our ap-
11 (fun i -> move_box i dx; emit dx_s .(i) 1.0)
12 (id_b :: children ) proach would allow to execute dynamic processes unlike
13 end; Petri Nets.
14 pause
15 end || Related work. The work in [4, 5] embeds the A NTES -
16 (await immediate start_ip .( id_b); change_border FOCO language [9] and presents how to program mixed
id_b "dash ")
17 until start_s .( id_b) done; music in R EACTIVE ML. A NTESFOCO is a score follow-
18
ing system that synchronizes in real-time electronic music
19 (* box started *)
20 change_color id_b r g b ; scores with a live musician. The approach defines a syn-
21 change_border id_b "solid "; chronous semantics of the core language of A NTESFOCO,
22 if (! pos_x > current ) then begin
23 let new_x = current -. !pos_x in and then it is implemented in R EACTIVE ML. Therefore,
24 List.iter composers can prototype new constructs and take advan-
25 (fun i -> move_box i (new_x *. dx); emit dx_s .(i
) new_x) tage of the expressiveness of synchronous model and the
26 (id_b :: children ) power of functional programming. For example, recur-
27 end;
28 sion, high order programming, type induction, among oth-
29 (* waiting the end *) ers.
30 do
31 loop Future work. Multimedia interactive scores have a
32 await immediate clock;
33 if ( current >= (! pos_x +. !width)) then begin
wide range of applications such as video games and mu-
34 width := !width +. 1.0; seum installations. Therefore, in some cases, it is highly
35 resize_box id_b (! width *. dx)
36 end;
necessary to use conditions and loops in order to model
37 pause the dynamics of the score easier and correctly. However,
38 end ||
39 (await immediate start_ip .( id_b); change_border
these constructions are not supported by the current model
id_b "dot ") of I - SCORE. For this reason, we plan to take advantage of
40 until end_s .( id_b) done;
41
the features of R EACTIVE ML to prototype these new con-
42 (* box stopped *) structions.
43 change_color id_b 238 238 238 ;
44 change_border id_b "solid "; Nowadays, composers have increasingly needed to ma-
45 let new_dy = ( current -. !pos_x) in nipulate streams in their multimedia scenarios. Then, we
46 width := if new_dy > 0.0 then new_dy else 0.0;
47 if (id_b <> 0) then resize_box id_b (! width *. dx); plan to examine the data-flow programming language L U -
CID S YNCHRONE [18] in order to handle streams in real-
time. This programming language combines the synchronous
Figure 18. Process that encodes the behaviour of a box in
model of L USTRE [12] with the features of ML languages.
the graphical interface.
In addition, we plan to perform tests to verify that the new
solutions are more efficient than the current implementa-
Hence, each box shown in the graphical interface (i.e., tions.
INS CORE score) represents a process box that is running We intend to increase the usability of our interpreter by
concurrently and interacting with other boxes of the graph- developing a compiler that translates automatically sce-
ical interface. Therefore, our visualization system allows narios designed in I - SCORE into the syntax of the inter-
performers to observe the current state of the execution of preter. Additionally, we plan to improve the graphical in-
the score. terface in INS CORE in order to provide an environment

33
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

where the user can directly design and visualize the exe- [9] Cont, A., ANTESCOFO: Anticipatory synchro-
cution of a scenario. nization and control of interactive parameters in
Finally, we intend to verify properties of scenarios [14]. computer music , Proceedings of International
For instance, we are interested in knowing the maximum Computer Music Conference, Belfast, Ireland, 2008.
number of processes that can be executed in parallel dur-
[10] Desainte-Catherine, M., Allombert, A., and As-
ing all possible executions of the scenario.
sayag, G., Towards a hybrid temporal paradigm
Acknowledgements. We thank the anonymous review-
for musical composition and performance: The case
ers for their detailed comments that helped us to improve
of musical interpretation , Computer Music Jour-
this paper. Also, we would like to thank Louis Mandel for
nal, MIT Press, vol. 37 (2), Cambridge, MA, USA,
his valuable remarks about the implementation. This work
2013, p. 6172.
has been supported by the OSSIA (ANR-12-CORD-0024)
project and SCRIME 6 . [11] Fober, D., Orlarey, Y., and Letz, S., An environ-
ment for the design of live music scores , Proceed-
ings of the Linux Audio Conference, CCRMA, Stan-
6. REFERENCES
ford University, California, US, 2012, p. 4754.
[1] Allen, J., Maintaining knowledge about temporal [12] Halbwachs, N., Caspi, P., Raymond, P., and Pilaud,
intervals , Communications of the ACM, ACM, vol. D., The synchronous dataflow programming lan-
26 (11), New York, NY, USA, 1983, p. 832843. guage LUSTRE , Proceedings of the IEEE, IEEE,
vol. 79 (9), 1991, p. 13051320.
[2] Allombert, A., Aspects temporels dun systme de
partitions musicales interactives pour la composition [13] Halbwachs, N., Lagnier, F., and Raymond, P., Syn-
et lexcution , Ph.D. Thesis, Bordeaux, France, chronous observers and the verification of reactive
2009. systems , Proceedings of the Third International
Conference on Methodology and Software Technol-
[3] Allombert, A., Desainte-Catherine, M., and As- ogy, Springer-Verlag, London, UK, 1994, p. 8396.
sayag, G., Iscore: A system for writing interac-
[14] Halbwachs, N., and Raymond, P., Validation of
tion , Proceedings of the Third International Con-
synchronous reactive systems: From formal verifica-
ference on Digital Interactive Media in Entertain-
tion to automatic testing , Proceedings of the Fifth
ment and Arts, ACM, New York, NY, USA, 2008, p.
Asian Computing Science Conference on Advances
360367.
in Computing Science, Springer-Verlag, 1999, p. 1
[4] Baudart, G., Jacquemard, F., Mandel, L., and Pouzet, 12.
M., A synchronous embedding of Antescofo, a [15] Mandel, L., and Plateau, F., Interactive program-
domain-specific language for interactive mixed mu- ming of reactive systems , Electronic Notes in The-
sic , Proceedings of the Thirteen International Con- oretical Computer Science, Elsevier, vol. 238 (1),
ference on Embedded Software, Montreal, Canada, Amsterdam, The Netherlands, 2009, p. 2136.
2013.
[16] Mandel, L., and Pouzet, M., ReactiveML, a reac-
[5] Baudart, G., Mandel, L., and Pouzet, M., Program- tive extension to ML , Proceedings of the Seventh
ming mixed music in ReactiveML , Proceedings of ACM SIGPLAN International Symposium on Princi-
the First ACM SIGPLAN Workshop on Functional ples and Practice of Declarative Programming, Lis-
Art, Music, Modeling, Boston, USA, 2013. bon, Portugal, 2005.

[6] Benveniste, A., Caspi, P., Edwards, S., Halbwachs, [17] Marczak, R., Desainte-Catherine, M., and Al-
N., Le Guernic, P., and De Simone, R., The syn- lombert, A., Real-time temporal control of musical
chronous languages 12 years later , Proceedings of processes , The Third International Conferences on
the IEEE, IEEE, vol. 91 (1), 2003, p. 6483. Advances in Multimedia, Budapest, Hungary, 2011,
p. 1217.
[7] Berry, G., and Gonthier, G., The Esterel syn-
[18] Pouzet, M., Lucid Synchrone, version 3. Tu-
chronous programming language, design, semantics,
torial and reference manual , http://www.
implementation , Science of Computer Program-
di.ens.fr/~pouzet/lucid-synchrone/
ming, Elsevier, vol. 19 (2), Amsterdam, The Nether-
lucid-synchrone-3.0-manual.pdf .
lands, 1992, p. 87152.
[19] Snac, P., De Saqui-Sannes, P., and Willrich, R.,
[8] Boussinot, F., and De Simone, R., The SL syn- Hierarchical Time Stream Petri Net: A model for
chronous language , IEEE Transactions on Soft- hypermedia systems , Proceedings of the Sixteenth
ware Engineering, IEEE Press, vol. 22 (4), Piscat- International Conference on Application and Theory
away, USA, 1996, p. 256266. of Petri Nets, Springer, Turin, Italy, 1995, p. 451
6 470.
http://scrime.labri.fr

34
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

PARTITIONS RETROACTIVES AVEC IANNIX

Guillaume Jacquemin Thierry Coduys


Association IanniX Association IanniX
guillaume@iannix.org thierry@iannix.org

RSUM Ces objets mettent des messages (les triggers en


mettent lorsqu'ils sont dclenchs, les curseurs en
Le logiciel IanniX offre la possibilit dcrire et de
mettent priodiquement lorsqu'ils progressent sur une
composer des partitions excutes en temps rel qui
courbe) qui sont envoys via des interfaces vers dautres
mettent des messages de contrle synthse, effets,
applications ou matriels.
etc. et reoivent des messages de structure ajout,
altration dobjets . La combinaison de ces
entres/sorties et des interfaces disponibles (scripts, 1.2. Simplification des interfaces
rseau, interface graphique) permet de composer des
Lcriture des partitions dans IanniX seffectue via
partitions de contrle de paramtres, des partitions
des messages envoys dans des interfaces [2] parmi
ractives des stimuli, des partitions stochastiques,
lesquelles figurent :
gnratives ou encore interactives o IanniX ralise des
mappings complexes et temporels. linterface graphique utilisateur (GUI),
Les partitions rtroactives dveloppes dans cet le rseau : Open Sound Control (OSC) [3] et
article reprsentent un nouveau champ de composition, UDP brut, pour les applications temps rel ;
o la sortie de la partition est boucle sur son entre. MIDI, pour les contextes de contrle simples ou
Elle entre parfois en rsonance, parfois semballe mais pour l'interfaage sur des DAW ; RS232, pour le
reproduit globalement les phnomnes observs dans les contrle de hardware ; HTTP GET, pour le
systmes boucls. contrle de pages Web ; WebSockets pour
Larticle prsente dabord ltat des lieux de ce linterfaage en HTML5,
phnomne graphique sonifi par IanniX pour ensuite le les scripts JavaScript bass sur la norme
proposer comme un nouveau processus gnratif ECMAScript (norme ECMA-262 [4]),
dcriture musicale. la boucle locale qui permet aux partitions de
Larticle se conclut sur une premire ralisation, senvoyer des messages.
Singularits, dveloppe avec ce mcanisme en utilisant
un robot industriel ainsi que le synthtiseur Cosmos. Lcriture de partitions repose donc sur lchange de
messages via ces protocoles (y compris lorsque
lutilisateur manipule linterface graphique, des
1. IANNIX
messages OSC sont automatiquement gnrs en
interne, de manire transparente pour lutilisateur).
1.1. Objets fondamentaux pour la composition Cependant, par souci de clart, de documentation et
aussi pour faciliter linterfaage avec des outils tiers,
IanniX est un squenceur graphique open source, une nouvelle fentre, le Helper, prsent en figure 1,
inspir des travaux de Iannis Xenakis et destin la affiche les messages venant de linterface graphique et
cration numrique [1]. Le logiciel propose une criture permet de copier dans le presse-papier des snippets pour
polytemporelle dvnements statiques (cues, Processing et Max qui reproduisent lopration ralise
dclencheurs, etc.) et dynamiques (variation de valeurs, manuellement dans linterface graphique.
automations, etc.) destins des environnement ddis
(Processing, PureData, SuperCollider, Max).
Pour composer une partition graphique dans IanniX,
une palette restreinte de trois objets fondamentaux et
distincts est disponible :
les triggers qui dclenchent des vnements
statiques (ex : dclenchement dun fichier son) ;
les courbes, vnements dynamiques qui sont des
suites de points dans l'espace tridimensionnel
(ex : changement dun paramtre de synthse) ;
les curseurs qui voluent sur des courbes et Figure 1. Capture dcran de IanniX de la fentre
progressent en fonction du temps. Helper montrant les messages gnrs par

35
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

linterface graphique utilisateur, ici un zoom, puis 2.1. Partition de contrle


deux dplacements dobjets.
Une partition de contrle est une partition qui
Enfin, larchitecture de IanniX 0.9 [5] a aussi t contrle une ou plusieurs applications tierces. Elle ne
repense et optimise pour recevoir et envoyer rpond aucun stimulus externe. Linterprtation de la
massivement des messages. partition est autonome, reproductible et dterministe. Ce
type de partition est trs proche dune surface de
contrle MIDI.
1.3. Consquences sur la sauvegarde des partitions
Ce type de partition permet par exemple dcrire des
La multiplicit des interfaces de cration et courbes de contrle deffets, de synthse ( la manire
daltration de partitions dans IanniX a soulev le de lUPIC) ou de spatialisation (figure 2).
problme de la sauvegarde en fichier.
Prenons par exemple une partition cre dans
linterface JavaScript, sur laquelle le compositeur ajoute
et modifie quelques lments via linterface graphique
et finalement dcide de rendre la partition interactive
avec des capteurs [6]. Lorsque tous ces facteurs (du
code, des modifications dans linterface graphique et des
donnes de capteurs) altrent ou gnrent la partition,
une simple sauvegarde de ltat de la partition est
insuffisante. Par exemple, si le rle dun des capteurs est
de supprimer une partie de la partition, la sauvegarde
aprs la performance sera inluctablement partielle
IanniX propose donc une solution en unifiant le Figure 2. Capture dcran de IanniX de la
format des sauvegardes : tout document IanniX est partition de contrle de spatialisation pour World
dsormais un script JavaScript, mme si la partition est Expo de Charles de Meaux ; chaque courbe
par exemple cre uniquement par linterface graphique. reprsente le dplacement dune source sonore.
Le code gnr par IanniX et par lutilisateur est ensuite
ventil dans quatre procdures en fonction de lorigine
des modifications (procdures appeles au chargement 2.2. Partition ractive
dans lordre ci-dessous) : Une partition ractive est une partition qui ragit
makeWithScript() : code JavaScript utilisateur ; des stimuli externes mais qui ne produit aucun message
madeThroughGUI() : section auto-gnre par de contrle. Elle est interprte par un humain qui la lit
IanniX retranscrivant les ajouts et modifications et/ou remplit une fonction esthtique et graphique.
raliss dans linterface graphique ;
madeThroughInterfaces() : section auto-
gnre par IanniX retranscrivant les ajouts et
modifications raliss par des capteurs ou des
interfaces rseau
alterateWithScript() : code JavaScript
utilisateur permettant daltrer lensemble de la
partition juste avant la fin du chargement.

Une rtrocompatibilit est videmment maintenue


pour louverture de documents IanniX crs avant la
version 0.9.

2. CLASSIFICATION DES PARTITIONS


Figure 3. Capture dcran de IanniX de la
Le champ des possibilits dcriture ouvertes par les partition ractive esthtique pour Influences de
messages et protocoles de IanniX peut se classifier selon Davide Gagliardi et Victor Nebbiolo di Castri ;
lvolution de la partition au fil de son interprtation. les courbes sont gnres en rponse lalto sur
videmment, le compositeur est amen hybrider ces scne.
mthodes dcriture dans la conception de son uvre ;
cette classification vise surtout comprendre les 2.3. Partition stochastique
grandeurs mises en jeu au niveau des entres, des sorties
et des interactions avec un environnement. La partition stochastique est une partition dont le
processus global est prvisible, mme si les vnements
qui la composent sont alatoires.

36
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Lusage du JavaScript dans IanniX permet dcrire


les rgles de contrle et de distribution stochastiques qui
rgissent les grandeurs alatoires de la partition.
Associs des librairies JavaScript externes, les script
IanniX permettent dcrire rapidement des tirages
alatoires sous contraintes, des implmentations de la
thorie des jeux ou des fonctions de distribution [7].

Figure 6. Capture dcran de IanniX de la


partition gnrative pour Still Life de Cesare
Saldicco ; modle gnratif volutif reproduisant
la propagation des virus.

2.5. Partition interactive

Une partition interactive fait intervenir la


coopration de IanniX avec plusieurs entits (hommes
Figure 4. Capture dcran de IanniX de la ou applications) qui agissent mutuellement en ajustant
partition stochastique pour Ultimarium de leur comportement.
Thomas Bouaziz ; la partition effectue des tirages IanniX est alors lintermdiaire entre plusieurs entits
alatoires dhexagrammes Yi King. et rgule, par lcriture et la composition, les
interactions entre ces entits. IanniX agit comme un
2.4. Partition gnrative dispositif classique de mapping (transformation dune
grandeur vers une autre) mais introduit une dimension
Une partition gnrative est une partition gnre de composition et dcriture du temps fondamentale.
par des algorithmes, qui peut galement voluer delle-
mme de manire dtermine lavance ou non.
Tout comme les partitions stochastiques, le
JavaScript offre une libert dcriture gnrative
(figure 5) et permet aussi de reproduire des phnomnes
biologiques grce des librairies externes ddies
(figure 6).

Figure 7. Capture dcran de IanniX de la


partition interactive pour Fa Octothorp de
Guillaume Jacquemin et Matthieu Ranc ; une
camra Kinect capte une image 3D qui extrude un
maillage de courbes dans IanniX sur lesquelles
circulent des curseurs contrlant la synthse
Figure 5. Capture dcran de IanniX de la sonore.
partition gnrative pour Eros3 de Joachim
Montessuis ; la partition nvolue pas au fil du 2.6. Partition rtroactive
temps.
Une partition rtroactive ou boucle est une
partition dont linterface de sortie est connecte
directement lentre, avec un ou plusieurs systmes
insrs dans la boucle.
Les valeurs mises par les objets de la partition
linstant t contrlent la structure et les objets de la

37
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

partition linstant t+1. Le dlai de rtroaction entre


deux itrations de calcul est initialement rgl 5 ms
dans IanniX mais reste modifiable par lutilisateur (de
1 ms 1 seconde).
Tout comme les systmes boucls, lvolution de la
partition (rptition itrative en fonction du temps) peut
aboutir plusieurs rsultats.

2.6.1. Rudiments de code IanniX / JavaScript

Les partitions prsentes dans la suite de larticle ont


t crites en JavaScript. Il convient alors de donner
quelques rudiments de syntaxe.
IanniX respecte la norme JavaScript ECMA-262
ainsi que ses classes de base (Math, String) auquel on
ajoute une fonction spciale permettant denvoyer un
message IanniX : run(). Figure 9. Progression linaire de lamplification
Les messages IanniX permettant de crer, modifier (volution des coordonnes x et y du point).
ou supprimer un lment de la partition respectent
systmatiquement la syntaxe : <action> <ID objet> 2.6.3. Emballement
<paramtres>.
Ainsi la commande run("add curve 1") permet Dans la partition suivante code en JavaScript, le
crer une courbe qui aura lID #1 ; la commande curseur fait voluer en fonction de sa position, la taille
run("setPointAt 23 0 5 8"); permet de modifier le de lellipse sur laquelle il progresse :
premier point (index n0) de la courbe #23 et de le
run("add curve 1");
placer la coordonnes 2D (5 ; 8). run("setPointsEllipse lastCurve 1 1"); //Rayon = 1

run("add cursor 2");


2.6.2. Amplification continuelle ou extinction run("setCurve current lastCurve");
progressive run("setPattern current 0 0 1"); //Joue en boucle
run("setMessage current direct:// setResize lastCurve
{cursor_xPos+1} {cursor_yPos+1}");
Dans le code suivant, le curseur fait voluer en
fonction de sa position, le point terminal de la courbe Un emballement va se produire car la figure va tre
sur laquelle il progresse : redimensionne dans lespace des rels ngatifs, et va
donc se retourner (figure 10) ; de fait, le curseur ira
run("add curve 1");
run("setPointAt lastCurve 0 0 0"); galement rebours et la partition va entrer dans une
run("setPointAt lastCurve 1 1 1 "); rsonnance non contrle (figure 11).
run("add cursor 2");
run("setCurve current lastCurve");
run("setMessage current direct:// setPointAt lastCurve
1 1 {cursor_yPos+1} ");

La figure 8 montre que la partition stire


verticalement au fil du temps tandis que la figure 9 Figure 10. Captures dcran de IanniX montrant
(extraite laide OSCulator) montre que les dformations de la figure dues
lagrandissement est linaire. lemballement du systme

Figure 8. Captures dcran de IanniX montrant le Figure 11. Emballement de la partition


phnomne damplification continuelle t = 0 (visualisation du redimensionnement en x et
sec., t = 1 sec., t = 2 sec. et t = 5 sec. en y).

38
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

2.6.4. Rgulation stable

Pour cette dernire partition rtroactive, nous allons


placer deux cercles avec deux curseurs. Le curseur du
cercle #1 contrle le diamtre du cercle #2 ; et le
curseur du cercle #2 contrle le diamtre du cercle #1.
Avec certaines conditions initiales (cest dire le
diamtre et la position initiale des cercles), les cercles
entrent graphiquement en oscillation (code fourni en
annexe pour n cercles). La figure 12 propose quelques
extraits graphiques de la partition tandis que la figure 13
montre lvolution des rayons des cercles laide
dOSCulator.
Figure 14. Capture dcran de IanniX de la
partition rtroactive Rcurrences de Thierry
Coduys.

3. SINGULARITES

Figure 12. Rgulation stable de la partition 3.1. Contexte


rtroactive, les cercles entre en oscillation /
capture dcran de IanniX Les recherches menes sur les partitions rtroactives
nous ont conduits naturellement aux systmes boucls et
aux asservissements. Dans loptique de crer une pice
ddie ces mcanismes, deux pistes nous ont paru
intressantes :
lasservissement dans le domaine de la
robotique industrielle ;
le feedback utilis en synthse sonore.

Aprs plusieurs sances de travail avec le


compositeur Sinan Bkesoy (concepteur du synthtiseur
stochastique inspir des travaux de Iannis Xenakis,
Cosmos [8] et auteur dune publication sur lutilisation
des robots industriels en performance artistique [9]), une
Figure 13. Rgulation stable de la partition rsidence autofinance Bykada en Turquie sest
(visualisation des rayons deux instants donns). tenue du 29 juillet au 12 aot 2013 afin desquisser les
grands principes de la pice et ses enjeux majeurs.
2.6.5. Du phnomne observ au processus dcriture
gnratif

Rcurrences a t la premire uvre compose avec


IanniX qui utilisait la rtroactivit. La pice utilise
six jeux de 8 courbes + curseurs qui contrlent chacun
un oscillateur indpendant. Chaque curseur dun jeu de
courbes contrle lamplitude et la dure de la courbe du
jeu de courbes suivant.
La pice a t joue au centre DATABAZ
dAngoulme et la partition est distribue librement avec
lapplication IanniX. Figure 15. Capture dcran du plugin Cosmos.

3.2. Intentions

La pice Singularits amorce lors de cette rsidence


va exploiter le principe de singularit.
En mathmatiques, une singularit est un point, une
valeur, dans lequel un objet mathmatique n'est pas
dfini, par exemple une valeur o une fonction d'une
variable relle devient infinie.

39
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

En physique, une singularit gravitationnelle est un


point spcial de l'espace-temps au voisinage duquel
certaines quantits crivant le champ gravitationnel
deviennent infinies.
La singularit technologique est un point
hypothtique de l'volution technologique o il ny a
plus de progrs mais une explosion exponentielle de la
science et des techniques.
En robotique, les singularits sont des points de
lespace que le robot ne peut atteindre. Contraint par ses
moteurs et la rigidit de ses axes, le robot essaye
datteindre les positions spatiales donnes par son
oprateur tout en vitant les postures impossibles (les Figure 17. Mesures temps rel des capteurs sur le
singularits). Ainsi, en donnant comme consigne au robot pour cinq consignes (dplacements)
robot, des positions aux voisinages des singularits, il donnes au robot.
est contraint demprunter des itinraires trs complexes.
Ces singularits se retrouvant galement dans les
3.3. Prototypage
partitions rtroactives de IanniX (points, valeurs ou
structures graphiques qui entranent un emballement Dans le cadre du prototypage de la pice, une camra
graphique de la partition), un dispositif trs simple a t et un laser placs sur le robot permettent galement
imagin : dobtenir un retour vido (camra) et une projection du
IanniX prendra le rle de loprateur et mouvement du robot sur un plan (laser).
contrlera les mouvements dun
robot (chorgraphie) ;
le robot industriel ABB IRB120 sera quip de
capteurs embarqus ;
Cosmos sera utilis pour la synthse sonore en
temps rel.

Figure 18. Camra et laser sur la main du


robot.

Enfin, le fonctionnement du robot tant extrmement


bruyant, loutil RoKiSim [10] a permis afin de simuler
et didentifier les singularits, et ainsi dcrire des
partitions sans tester systmatiquement avec le robot.

Figure 16. Robot industriel ABB-IRB120.

La rtroaction sera la suivante :


1. IanniX pilote le robot et donne des ordres de
positions absolues,
2. le robot calcule les itinraires pour atteindre ce
point tout en vitant les singularits,
3. les capteurs placs sur le robot mesurent les
rotations, acclrations, mouvements des axes
(figure 17) et envoient ces informations vers
Cosmos qui va sonifier les mouvements du
robot,
4. les mesures des capteurs du robot sont
galement renvoyes vers IanniX et altrent la Figure 19. Logiciel RoKiSim permettant de
partition initiale, bouclant le systme en simuler les comportements et singularits du
rtroactivit. robot.

40
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

4. CONCLUSION ANNEXE

Les partitions rtroactives ont t envisages dans Code de la partition rtroactive stable pour n cercles
IanniX depuis quelques annes. Elles permettent un
function makeWithScript () {
auto-contrle de la partition allant du simple vnement run("clear");
rtroactif (trigger qui arrte la partition ou saute un
var iMax = 2;
timecode prcis) jusqu la mise en oscillation complexe for(var i = 0 ; i < iMax ; i++) {
des lments constitutifs de la partition. run("add curve " + (100+i));
run("setPos current 3 3 0");
Au dpart mal comprises, les partitions rtroactives run("setEquation current polar radius, TWO_PI*t,
constituent pour lquipe de recherche IanniX une theta");
formidable opportunit de trouver de nouvelles run("setEquationParam current radius " + (1+i));
run("setEquationParam current theta 0");
approches dans la composition, mme si lcriture de run("setColorHue current " + map(i, 0, iMax, 0, 255)
telles partitions reste encore difficile apprhender. + " 255 128 255");

Au travers de lamorce de la pice Singularits, un run("add cursor " + i);


premier socle prometteur [11] a t produit et la viabilit run("setSpeed current lock " + map(i, 0, iMax, 0.2,
0.3));
technique et esthtique est prouve. Lenvironnement de run("setCurve current lastCurve");
travail tant conomiquement lourd cause du robot, run("setPattern current 0 0 1");
run("setBoundsSourceMode current 2");
des partenariats et des financements sont en cours.
run("setMessage current 5, direct:// setEquationParam
" + (101+i) + " radius cursor_xPos ");
}
5. REFERENCES run("setMessage current 5, direct:// setEquationParam " +
100 + " radius cursor_yPos");
[1] Coduys, T. et Ferry G., "IanniX, aesthetical / }

symbolic visualisations for hypermedia


composition", Sound and Music Computing, 2004
[2] Jacquemin, G., Coduys T. et Ranc M.,
"IanniX 0.8", Journes dInformatique Musicale,
Mons, 2012
[3] Wright, M. et Freed, A. Open Sound Control: A
New Protocol for Communicating with Sound
Synthesizers Proceedings of the International
Computer Music Conference 1997, Thessaloniki,
Hellas, pp. 101-104.
[4] Norme ECMA-262
http://www.ecma-
international.org/publications/files/ECMA-
ST/Ecma-262.pdf
[5] IanniX 0.9, http://www.iannix.org
[6] Jacquemin, G. et Coduys T., Simone Beneventi +
IanniX , 56me Biennale de Venise, octobre 2012,
http://www.labiennale.org/en/mediacenter/video/be
neventi-int.html
[7] RandomJS, http://simjs.com/random.html
[8] Bkesoy S., "Synthesis of a macro sound structure
within a self-organizing system", DAFX07 (Digital
Audio FX Conference), Bordeaux 2007
[9] Bkesoy S., "1city 1001vibrations: development of
a interactive sound installation with robotic
instrument performance. ", NIME, Oslo 2011
[10] RoKiSim, http://parallemic.org/RoKiSim.html
[11] Vido du projet Singularits,
http://vimeo.com/76981622

41
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

DPLOIEMENT DES SERVICES DU MOTEUR DE RENDU DE


PARTITIONS GUIDO SUR INTERNET

M. Solomon, D. Fober, Y. Orlarey, S. Letz


Grame
Centre national de cration musicale
mike@mikesolomon.org - {fober, orlarey, letz}@grame.fr

Resume 1.2. Outils de partage de partitions sur Internet


Plusieurs outils musicaux dont Sibelius 4 , Muse-
La librairie Guido embarque un moteur de rendu Score [1], Maestro 5 et Capriccio 6 , proposent des
de partitions musicales et fournit une API de haut services de partage sur Internet des partitions cres
niveau pour un ensemble de services lis au rendu partir de ces logiciels. Ces services permettent le
de partition. Cette librairie est dsormais embarque tlchargement, la lecture et parfois le rendu sonore
dans un serveur HTTP qui permet daccder son de ces partitions. Capriccio propose une application
interface par le biais didentifiants de ressource uni- web crite en Java qui reproduit les aspects essen-
formes (URI). Aprs avoir dcrit le style darchitec- tiels de son diteur principal alors que MuseScore,
ture representational state transfer (REST) sur lequel Sibelius et Maestro permettent la synchronisation au-
repose le serveur, larticle montre comment lAPI tomatique des partitions avec leurs reprsentations
C/C++ de la librairie est rendue accessible sous forme MIDI.
de requtes HTTP.
1.3. Services de compilation JIT sur Internet
1. LDITION MUSICALE SUR INTERNET WebLily 7 , LilyBin 8 et OMET 9 proposent tous
la compilation JIT de partitions LilyPond qui sont
Pendant les dix dernires annes, plusieurs outils visualises en SVG, PDF et/ou canvas HTML 5, selon
de gravure musicale ont t dvelopps selon un mo- loutil. Le "Guido Note Server" [11] utilise le moteur
dle client-serveur, destination dutilisateurs finaux Guido pour compiler des documents au format GMN
et dusagers du cloud computing. Le serveur GUIDO (Guido Music Notation Format) [9] et calculer des
allie la gravure musicale sur Internet aux principes de images PNG.
larchitecture REST (labors dans la section 2) afin
dexposer lAPI de la librairie Guido [8] [10] [4] par 1.4. Une alternative RESTful
le biais dURIs. Aprs un survol des outils ddition
musicale en ligne, nous dgagerons les thmatiques Tous les outils exposs ci-dessous permettent la
sur lesquelles se basent les services actuellement dis- cration et la visualisation de partitions par le biais
ponibles et nous situerons le serveur Guido dans le de diffrentes mthodes dentre (reprsentation tex-
paysage de la gravure musicale sur Internet. tuelle, MusicXML, etc.). En revanche, ils ne sont pas
adapts des changes dinformation dynamiques
entre un serveur et un client, du fait quils ne pro-
1.1. Editeurs de musique sur Internet posent pas dAPI publique et ne fournissent pas din-
formation au-del dune reprsentation graphique
Il y a actuellement trois outils majeurs ddition de la partition. Le serveur Guido rsout ce problme
musicale sur le web Noteflight 1 , Melodus 2 et en fournissant une API HTTP, qui agit comme une
Score 3 . Noteflight et Melodus fournissent un en- passerelle entre le client HTTP et lAPI C/C++ de la
vironment immersif ddition musicale sur Internet librairie. Le serveur fournit donc aussi bien des repr-
comparable Finale ou Sibelius. Scorio est un outil sentations graphiques de la partition quun ensemble
hybride qui utilise des algorithmes de mise en page dinformation lies la partition : nombre pages, du-
lmentaires pour sa plate-forme mobile et propose re, rpartition des lments musicaux sur la page
le tlchargement des documents de haute qualit
4. http://www.sibelius.com
compils avec GNU LilyPond. 5. http://www.musicaleditor.com
6. http://cdefgabc.com
1 . http://www.noteflight.com 7. http://weblily.net
2 . http://www.melod.us 8. http://www.lilybin.com
3 . https://scorio.com 9. http://www.omet.ca

42
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

et dans le temps, reprsentation MIDI... Le serveur curl -d"data=[a b c d]" http://guido.grame.fr:8000


Guido comble donc une lacune dans le paysage des Pour un code GMN valide, une rponse est ren-
outils de gravure musicale sur Internet en fournissnt voye au format JSON [3], avec un identifiant unique
la fois des services de rendu de partition et en per- qui correspond au code GMN.
mettant le dploiement dapplications bases sur ces {
services. "ID": "07a21ccbfe7fe453462fee9a86bc806c8950423f"
}
2. REPRESENTATIONAL STATE TRANSFER Cet identifiant est gnr via lalgorithme de hachage
cryptographique SHA-1 [6] qui transforme des do-
Le serveur Guido est bas sur une architecture cuments numriss en cl de 160 bits. La probabilit
de type REST (REpresentational State Transfer) [5]. Ce de collision de deux cls est trs faible ( 2163 ), et lon
type darchitecture est largement utilis pour llabo- peut donc considrer que cette cl constitue un iden-
ration de services Internet et repose sur un modle tificateur unique. Ce type didentification est, par
client-serveur classique, orient resource , cest-- exemple, utilis par Git [2], le systme de gestion
dire que le fonctionnement du serveur est optimis de versions distribu.
pour la transmission dinformations relatives des La cl SHA-1 est la reprsentation interne du code
ressources [12]. Une des caractristiques essentielles GMN qui est utilise pour toutes les requtes ult-
dun serveur REST repose sur un fonctionnement rieure. Dans lexemple suivant, on accde une par-
sans tat : toutes les informations requises pour traiter tition en faisant rfrence sa cl SHA-1. Cette cl
une requte se trouvent dans la requte elle mme. sera dsormais abrge en <key> pour faciliter la lec-
Cela signifie, par exemple, quune ressource sur le ture.
serveur ne peut jamais tre modifie par un client http://guido.grame.fr:8000/<key>
une modification quivaut au remplacement dune Sans autre information dans lURL, lobjet de re-
ressource par une autre. tour par dfaut est illustr par la Figure 1.
Plusieurs conventions sont proposs pour struc-
turer les requtes en forme dURI afin quelles soient
Figure 1. Score with SHA-1 tag <key>.
plus faciles construire et dcoder. Pour acclrer les
interactions entre le serveur et le client, larchitecture
Pour un fonctionnement totalement RESTful, le
REST permet la mise en cache de certains lments,
code GMN devrait tre fournit avec toute requte le
tant du ct du client que serveur. Le serveur doit
concernant. Dans la pratique, on peut considrer que
proposer une interface uniforme en harmonisant sa
la cl SHA-1 remplace ce code sans effet de bord.
syntaxe daccs et en proposant les mmes services
Son utilisation minimise la dviation du style RES-
tous les clients qui lutilisent.
Tful tout en proposant un point daccs unique la
Un serveur qui met en uvre les recommanda- partition.
tions REST sappelle un serveur RESTful.
3.2. La mthode GET
3. LE SERVEUR GUIDO HTTP
Une requte GET permet dobtenir des informa-
Le serveur Guido est un serveur RESTful qui com- tions sur une partition identifie sur le serveur par
pile des documents au format GMN (Guido Music une cl SHA-1 ou diffrentes reprsentations de cette
Notation) et renvoie diffrentes reprsentations de la partition. Selon la requte, les donnes renvoyes par
partition calcule partir du code GMN. Il accepte le serveur sont de type :
des requtes par le biais de deux mthodes du pro- image (jpeg, png ou svg) pour une reprsenta-
tocole HTTP : POST pour envoyer des partitions au tion graphique de la partition,
format GMN au serveur, et GET pour interroger ces MIDI pour une reprsentation MIDI de la par-
partitions ou pour en demander diffrentes reprsen- tition,
tations.
JSON pour toute autre demande dinformation.

3.1. La mthode POST


4. LAPI HTTP DE LA LIBRAIRIE GUIDO
Limplmentation de POST dans le serveur Guido
est RESTful dans la mesure o il ne garde pas din- Le serveur Guido expose lAPI de la librairie Guido
formation par rapport aux clients et ne stocke que en crant des quivalences une une entre lAPI
les documents GMN quon lui envoie. Supposons HTTP et les fonctions C/C++ correspondantes. Les
quun serveur Guido HTTP fonctionne sur le site arguments des fonctions sont passs par le biais de
http://guido.grame.fr sur le port 8000, une re- paires cl-valeur dans la partie query de lURI trans-
qute POST avec le code GMN [a b c d] pourrait mise au serveur. Une prsentation complte de lAPI
tre envoye de la manire suivante : se trouve dans la documentation du serveur [7].

43
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Cette section dcrit les conventions utilises pour C/C++ API URI segment cible
passer de lAPI C/C++ lAPI HTTP. Elle est suivie GuidoGetPageCount pagescount partition
de plusieurs exemples concrets dinteractions avec le GuidoGetVoiceCount voicescount partition
serveur. GuidoDuration duration partition
GuidoFindPageAt pageat partition
GuidoGetPageDate pagedate partition
4.1. Cl SHA-1 comme reprsentation de partition GuidoGetPageMap pagemap partition
La section 3.1 a dcrit comment la cl SHA-1 rem- GuidoGetSystemMap systemmap partition
GuidoGetStaffMap staffmap partition
place du code GMN dans les URIs envoys au ser-
GuidoGetVoiceMap voicemap partition
veur. Cette cl peut-tre vue comme lquivalent dun
GuidoGetTimeMap timemap partition
pointeur sur une partition, en loccurrence un handler
GuidoAR2MIDIFile midi partition
sur une reprsentation abstraite (GAR) de la partition GuidoGetVersionStr version moteur
pour la librairie Guido. GuidoGetLineSpace linespace moteur

4.2. Fonction comme segment dURI Table 1. Reprsentation des fonctions de lAPI Guido
comme segments dURI.
Un segment dURI dans lAPI HTTP correspond
une fonction dans lAPI C/C++. Par exemple, la
fonction GuidoGetPageCount dans lAPI C/C++ cor- http://guido.grame.fr:8000/<key>/staffmap?staff=1
respond au segment pagescount dans une URI.
Pour permettre aux URIs incomplets ou mal-forms
Les fonctions de lAPI Guido peuvent tre classes
dtre traits, tous les arguments passs aux fonctions
en deux catgories :
ont des valeurs par dfaut pour le serveur. Ces va-
fonctions qui fournissent de linformation sur leurs sont parfois indiques dans lAPI et sinon cor-
la librairie. respondent des valeurs qui auraient du sens pour
fonctions qui fournissent de linformation sur la plupart de partitions.
une partition.
Pour lAPI C/C++ de la librairie, les fonctions qui
sadressent une partition prennent comme argu- 4.4. Options de mise en page et formatage
ment une handler sur la partition, qui peut tre vu Le serveur Guido permet le contrle de la mise
comme un pointeur sur la reprsentation interne de en page et le formattage de la partition grce des
la partition. Avec lAPI HTTP, la cl SHA-1 remplace paires cl-valeur indiqus de manire similaire aux
ce handler dans lURI et permet de dfinir la partition arguments des fonctions dcris ci-dessus. Ces para-
cible de la requte : mtres sont utiliss de diffrentes manires selon leur
les requtes adresses une partition sont pr- fonction dans lAPI C/C++ Guido . Certains para-
fixes par la cl SHA-1, mtres, comme topmargin, font partie dune struc-
les requtes adresses au moteur de rendu ne ture GuidoPageFormat qui est utilise pour contrler
sont pas prfixes. la taille globale dune page. Dautres, comme resize,
Par exemple, dclenchent un appel une fonction. Le paramtre
http://guido.grame.fr:8000/version width est utilis plusieurs fois dans le processus de
compilation selon le format de sortie choisi.
renvoie la version de la librairie.
Par ailleurs, lURI : Toutes les options de mise en page et de forma-
tage sont spcifies dans lURI, afin de fournir toutes
http://guido.grame.fr:8000/<key>/voicescount
les informations ncessaires au rendu de la partition
ou <key> est la cl SHA-1
sans grer dtats et de satisfaire ainsi aux recom-
expose la fonction GuidoCountVoices par le biais du
mendations RESTful.
segment voicescount, adress la partition identi-
fie par <key>, et renvoie le nombre de voix de la
partition. 4.5. Valeurs de retour
La table 1 prsente une liste de fonctions de lAPI
Guido et les segments dURI correspondants dans les Les paquets renvoys par le serveur sont consti-
requtes au serveur. tus dune enveloppe et dun contenu. Lenveloppe
indique un code de retour et un type MIME pour le
contenu associ. Les types renvoys sont parmi :
4.3. Arguments comme paires cl-valeur
image/[jpeg | png | svg+xml] pour une repr-
Pour les fonctions qui prennent des arguments, sentation graphique de la partition au format
ceux-ci sont dclins en paires cl-valeur dans lURI. jpeg, png ou svg,
Par exemple, la fonction GuidoGetStaffMap prend
un argument staff qui permet de prciser la staff audio/midi pour une reprsentation MIDI de la
(porte) cible de la requte. partition,

44
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

application/json pour des informations struc- un tempo) o 1 reprsente la ronde. La requte cor-
tures sur la partition. respond la fonction GuidoGetStaffMap de lAPI
JSON est utilis de manire consistante pour toutes Guido.
les demandes informations. Pour les fonctions qui LURI :
http://guido.grame.fr:8000/<key>/staffmap?staff=1
renvoient des structures de donnes, les donnes ren-
produit la rponse suivante du serveur (abrge pour
voyes par le serveur sont types et structures de
des raison de commodit) :
manire quivalente en JSON. Par exemple, la struc- {
ture Time2GraphicMap contient une liste de paires "<key>": {
o chaque paire contient la dure dun vnement "staffmap": [
(TimeSegment) et les coordonnes du rectangle en- {
globant lvnement dans la la page (FloatRect). "graph": {
TimeSegment et FloatRect sont elles mmes des struc- "left": 916.18,
tures qui contiennent dautres donnes. Ces struc- "top": 497.803,
tures peuvent tre articules comme une hirarchie "right": 1323.23,
de dictionnaires JSON, comme dans lexemple fourni "bottom": 838.64
dans la section 4.6.3 o time correspond un },
TimeSegment et graph correspond un FloatRect. "time": {
"start": "0/1",
4.6. Exemples "end": "1/4"
}
4.6.1. voicescount
},
La requte voicescount demande le nombre de .
voix dans une partition. Elle correspond la fonction .
GuidoCountVoices de lAPI Guido . LURI : .
http://guido.grame.fr:8000/<key>/voicescount {
produit la rponse suivante du serveur : "graph": {
"left": 2137.33,
{
"top": 497.803,
"<key>": {
"right": 2595.51,
"voicescount": 1
"bottom": 838.64
}
},
}
"time": {
o <key> est la cl SHA-1. "start": "3/4",
"end": "1/1"
4.6.2. pageat }
}
La requte pageat demande la page contenant la
]
date passe en argument, o date correspond
}
une date de la partition. Elle correspond la fonction
}
GuidoFindPageAt de lAPI Guido . LURI :
http://guido.grame.fr:8000/<key>/pageat?date=1/4
5. CONCLUSION
produit la rponse suivante du serveur :
{ Le serveur Guido repose sur une architecture ar-
"<key>": { chitecture RESTful afin dexposer lAPI C/C++ de la
"page": 1, librairie Guido travers une API HTTP. La spcifi-
"date": "1/4" cation cette API permet de traiter les requtes sans
} grer dtats successifs, dans la mesure o toutes les
} informations ncessaires une requte sont conte-
nues dans son URI. La disponibilit de ce service
4.6.3. staffmap sur Internet ouvre de nouvelles perspectives dans
le dveloppement dapplications Web qui souhaitent
La requte staffmap demande la description des incorporer la notation musicale symbolique, que ce
relations entre espace graphique et temporel de la soit pour visualiser des partitions ou encore pour ex-
partition. Elle renvoie une liste de paires associant ploiter des donnes sur ces partitions.
un espace graphique dcrit comme un rectangle, et Le projet Guido est un projet open source hberg
un espace temporel dcrit comme un intervalle born sur sourceforge (http://guidolib.sf.net). Le serveur
par deux dates. Les dates sont indiques par des est actuellement accessible ladresse
rationels exprimant du temps musical (i.e. relatif http://guidoservice.grame.fr/.

45
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Rfrences nical report, National Institute of Standards and


Technology, March 2012.
[1] T. Bonte. MuseScore : Open source mu-
sic notation and composition software. [7] Grame. Guido Engine Web API Documentation
Technical report, Free and Open source Soft- v.0.50, 2014.
ware Developers European Meeting, 2009. [8] Grame. GuidoLib v.1.52, 2014.
http://www.slideshare.net/thomasbonte/
musescore-at-fosdem-2009. [9] H. Hoos, K. Hamel, K. Renz, and J. Kilian. The
GUIDO Music Notation Format - a Novel Ap-
[2] Scott Chacon. Pro Git. Books for professionals proach for Adequately Representing Score-level
by professionals. Apress, 2009. Music. In Proceedings of the International Compu-
[3] D. Crockford. The json data interchange format. ter Music Conference, pages 451454. ICMA, 1998.
Technical report, ECMA International, October [10] H. H. Hoos and K. A. Hamel. The GUIDO Mu-
2013. sic Notation Format Specification - version 1.0,
[4] C. Daudin, D. Fober, S. Letz, and Y. Orlarey. The part 1 : Basic GUIDO. Technical report TI 20/97,
Guido Engine - a toolbox for music scores rende- Technische Universitat Darmstadt, 1997.
ring. In Proceedings of the Linux Audio Conference [11] Renz K. and H. Hoos. A Web-based Approach
2009, pages 105111, 2009. to Music Notation Using GUIDO. In Proceedings
[5] R. Fielding. Architectural Styles and the Design of of the International Computer Music Conference,
Network-based Software Architectures. PhD thesis, pages 455458. ICMA, 1998.
University of California, Irvine, 2000. [12] L. Richardson and S. Ruby. RESTful Web Services.
[6] P. Gallagher. Secure hash standard (shs). Tech- OReilly Media, 2008.

46
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

PROGRAMMER AVEC DES TUILES MUSICALES:


LE T-CALCUL EN EUTERPEA

Paul Hudak David Janin


Department of Computer Science LaBRI, CNRS UMR 5800,
Yale University IPB, Universit de Bordeaux,
New Haven, CT 06520-8285 F-33405 Talence
paul.hudak@yale.edu david.janin@labri.fr

Rsum modlisation musicale plus adaptes une pense mu-


sicale abstraite. Paradoxalement, les structures mu-
Euterpea est un langage de programmation ddi la sicales induites par ces langages de programmation
cration et la manipulation de contenus media tem- peuvent aussi souffrir de limitations.
poriss son, musique, animations, vido, etc.. . . Il est Les concepts de listes, darbres ou mme de fonc-
enchass dans un langage de programmation fonction- tions, sont bien entendu applicables une criture al-
nelle avec typage polymorphe : Haskell. Il hrite ainsi gorithmique de la musique. Les travaux autours de la
de toute la souplesse et la robustesse dun langage de linguistique applique la musicologie [24] tmoigne
programmation moderne. de leur pertinence. Cependant, de nombreuses construc-
Le T-calcul est une proposition abstraite de mod- tions musicales ne sy prtent pas vraiment comme
lisation temporelle qui, travers une seule opration lillustre, par exemple, des pices polyrythmiques la
de composition : le produit tuil, permet tout la fois structure complexe telles que les arabesques de De-
la composition squentielle et la composition parallle bussy.
de contenus temporiss.
En prsentant ici une intgration du T-calcul dans Programmer lespace et le temps.
le language Euterpea, nous ralisons un outil qui de- Une problmatique majeure laquelle ces langages
vrait permettre dvaluer la puissance mtaphorique doivent rpondre est de rendre compte des caractris-
du tuilage temporel combine avec la puissance pro- tiques spatiales et temporelles du langage musical.
grammatique du langage Euterpea. Dans une approche classique, la dimension tem-
porelle est modlise par le produit squentiel : la
1. INTRODUCTION concatnation de deux listes, et la dimension spa-
tiale est modlise par le produit parallle. Cette ap-
Programmer des pices musicales. proche est formalise dans [9]. Elle conduit dfinir
lalgbre des flux mdia polymorphes. Applicable
De nos jours, il existe de nombreux langages de pro- la musique comme dans le Domain Specific Language
grammation ddis la composition musicale tels que, Euterpea[10] bas sur la librairie Haskore [13] ralis
parmi dautres, le langage Euterpea en Haskell [10] en Haskell, elle est aussi applicable tout flux media
qui sappuie sur la bibliothque Haskore [13], le lan- temporis tels que les flux vido, les animations ou
gage Elody [25] qui tend le -calcul, ou encore CLISP/ mme les flux de contrle-commande [8].
CLOS [4] pour OpenMusic [1].
Une tude rcente des structures rythmiques [15]
Ces langages permettent de dcrire des squences
montre cependant que la distinction faite entre com-
de notes ou des agencements de flux audio. Ils offrent
position squentielle et parallle nest pas compatible
aussi, de plus en plus, des oprations abstraites de
avec une description hirarchique, multi-chelle, des
manipulation de squences musicales entires, en in-
structures musicales. Par exemple, un dpart en ana-
tgrant des concepts de programmation classiques. La
crouse peut empiter sur le flux musical qui le pr-
musique crite dans ces langages peut ainsi rsulter de
cde. Il induit un paralllisme local. Pourtant, au ni-
lexcution dalgorithmes de gnration de flux musi-
veau de lintention musicale, plus abstraite, il pourra
caux.
apparaitre lors de la composition squentielle de deux
Dans ces langages, bon nombre de structures de
mlodies.
donnes et de contrles usuelles des langages de pro-
Bien sur, ces superpositions locales pourraient tre
grammation sont ainsi disponibles pour cette criture
traites comme des exceptions cette distinction s-
algorithmique. Elles permettent de prendre de la hau-
quentielle/parallle. Notre proposition consiste, au
teur en offrant aux compositeurs des mtaphores de
contraire, les expliciter. Ce faisant, la composition
travail partiellement soutenu par ANR-12-CORD-0009 nest plus squentielle ou parallle : elle est tuile.
47
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

La modlisation par tuilage spatio-temporel. rel, implicite, allant du pass, gauche, vers le futur,
Dans la continuit des propositions existantes pour la droite. Parfois produites par des programmes, ces
programmation musicale [1, 25, 10], comme dans la structures peuvent tre de dure infinie.
continuit des approches en musicologie formelle [24], Les oprations naturellement associes ces flux
la modlisation par tuilage permet dunifier les no- mdia temporiss sont : la composition squentielle
tions de compositions squentielles et parallles.
m1 :+: m2
Plus prcisment, en nous appuyant sur le concept
de flux media temporiss [8, 9] enrichi par des mar- qui modlise le lancement de deux flux mdia tem-
queurs de synchronisation [3], nous obtenons une no- poriss lun aprs lautre, le premier tant ncessaire-
tion de flux media temporels tuils. Le produit associ, ment fini, et, la composition parallle
appel produit tuil, apparat tout la fois comme un
oprateur squentiel et un oprateur parallle. m1 :=: m2
En pratique, la composition tuile sinspire de tra-
vaux dj anciens. Le produit de tuilage ne fait quof- qui modlise le lancement de deux flux mdia tem-
frir une alternative la notion de barre de mesure en poriss en mme temps. Ces notions sont illustrs Fi-
musique. Il permet par exemple de modliser la no- gure 2.
tion musicale danacrouse [15]. Le produit tuil ap-
m1 m2
parat dj implicitement dans le langage LOCO [6],
une adaptation du langage Logo la manipulation de m1
flux musicaux. m2
La formalisation du produit tuil, nous a conduit
proposer une algbre ddie la synchronisation des Figure 2. Composition squentielle m1 :+:m2 et com-
flux musicaux [3]. Deux outils de manipulations de position parallle m1 :=: m2 des flux m1 et m2 .
flux audio tuils, la librairie libTuiles et linterface li-
veTuiles [22], drivent de cette approche. In fine, une Il apparait que ces deux oprations sont des cas
proposition abstraite : le T-Calcul [21], propose din- particuliers dune opration plus gnrale : le produit
tgrer ces concepts un langage de programmation. synchronis ou produit tuil.
En thorie, le produit de tuilage apparat aussi
dans les monodes inversifs [23]. Son usage comme 2.2. Flux media temporiss tuils
outil de modlisation pour les systmes informatiss
semble prometteur [20]. Le produit tuil, tel que nous Un flux media temporis tuil est dfinit comme
proposons de le manipuler en vue dapplications musi- un flux media temporis m enrichi de deux marqueurs
cales, est donc une construction particulirement bien de synchronisation pre et post qui sont dfinis par la
fonde au cur dune thorie mathmatique dont la distance, mesure en temps, qui les spare du dbut
robustesse nest plus dmontrer. du flux. Autrement dit, un flux media tuil t peut
simplement tre cod comme un triplet

2. TUILER LES FLUX TEMPORISS t = (pre, post, m)

Nous dcrivons ici comment les flux media tuils avec pre et post dfinit comme deux rationnels posi-
peuvent tre construit partir des flux media en les tifs et m un flux media. Un tel flux tuil est illustr
enrichissant simplement de deux marqueurs de syn- Figure 3.
chronisation. Cette construction peut tre vue comme
une abstraction des notions de synchronisation et de pre
mixage telle quelle sont couramment mise en uvre m
dans les langages de programmation musicale comme post
dans les studios de montage audio.

2.1. Flux media temporiss Figure 3. Un flux media temporel.


Un flux mdia temporis [8] est une structure abs-
Remarque. Cette dfinition des flux tuils reste va-
traite reprsentant des donnes qui sont positionnes
lide avec des flux infinis, la position de rfrence pour
dans le temps relativement au dbut du flux media.
positionner pre et post sur un flux tant toujours le
Cette notion est illustre Figure 1 sur un axe tempo-
dbut de ce flux.
m1 m2
2.3. Produit tuil
Figure 1. Un flux mdia temporis fini m1 et un flux Le produit tuil t1 % t2 de deux flux tuils de la
mdia temporis infini m2 . forme t1 = (pre 1 , post 1 , m1 ) et t2 = (pre 2 , post 2 , m2 ),
48
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

se dfinit alors en deux tapes successives. La syn- durT :: Tile a Dur


chronisation, qui consiste positionner les deux flux durT (Tile pr po m) = po pr
t1 et t2 lun par rapport lautre, de telle sorte que
le marqueur de sortie post1 du premier flux tuil t1 Dans le cas o le marqueur pre se trouve avant le mar-
concide avec le marqueur dentre pre2 du second queur post on dit que le flux tuil est positif. Dans le
flux tuil t2 . La fusion, qui consiste alors fusion- cas contraire, lorsque le marqueur pre est situ aprs
ner 1 les deux flux sous-jacents ainsi positionns, en le marqueur post, on dit que le flux tuil est ngatif.
conservant pre1 comme marqueur dentre et post2 Dans tous les cas, le flux media est inchang. Il sera
comme marqueur de sortie rsultant de ce produit. toujours produit du pass (reprsent gauche) vers
Cette construction est illustre Figure 4. Dans cette le futur (reprsent droite).

pre 1 3.2. Le produit tuil


m1
Le produit synchronis, not % est alors cod par :
post 1 pre 2
m2
pre post 2 (%) :: Tile a Tile a Tile a
m1 Tile pr 1 po1 m1 % Tile pr 2 po2 m2 =
silence
silence m2 let d = po1 pr 2
post in Tile (max pr 1 (pr 1 d))
(max po2 (po2 + d))
(if d > 0 then m1 :=: mDelay d m2
Figure 4. Une instance de produit synchronis else mDelay (d) m1 :=: m2 )

figure le dbut du flux musical rsultant provient de o mDelay est la fonction dfinit par :
la premire tuile. Cest l un cas particulier comme on mDelay d m = case signum d of
peut le vrifier sur un autre example, dcrit Figure 5. 1 rest d :+: m
0m
3. IMPLMENTATION EN HASKELL 1 m :+: rest (d)

Limplmentation en Haskell/Euterpea des flux me- Dans ce codage, la fonction mDelay assure la phase
dia tuils et du produit tuil ne fait que mettre en de synchronisation, le produit parallle :=: assure la
uvre les schmas ci-dessus. Les oprateurs qui peuvent phase de fusion. Implicitement, du silence est insr
driver de ces structures sont dcrits par la suite, de part et dautre des flux musicaux sous-jaent afin
la fois par leur implmentation en Haskell et par le de permettre cette composition parallle.
schma correspondant. Selon la position des marqueurs de synchronisa-
tion, le dbut de la musique peut provenir de la pre-
mire tuile, comme dans le cas de la Figure 4 ou bien
3.1. Le type tuile de la seconde tuile, comme dans le cas de la Figure 5.
Le type de donne Tile a est cod de la faon sui-
vante partir du type Music a, qui est une instance pre 1
particulire du type Temporal a :
m1
data Tile a = Tile {preT :: Dur, pre 2 post 1
postT :: Dur, m2
musT :: Music a }
pre post 2
silence m1 silence
avec type Dur = Rational. On utilise ici le type m2
Rational afin dviter les erreurs dapproximation qui post
pourraient rsulter, par exemple, de lutilisation du
type Float.
Une fonction durT permet de calculer la dure de Figure 5. Une autre instance de produit synchronis
synchronisation dun flux tuil, cest dire, le temps
relatif entre la marque de synchronisation pre et la
marque de synchronisation post.
3.3. Reset, co-reset et inverses
1 . Fusion qui dpendra du media considr : mixage pour
de laudio, union pour de la musique, superposition pour de la Trois fonctions sur les tuiles : le reset, le co-reset
vido, etc. et linverse, dcoulent de ces dfinitions. Elles sont,
49
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

comme on le verra, lies les unes aux autres. o les fonctions Euterpea takeM et dropM sur les
objets de type Music permettent de supprimer ou ex-
re, co, inv :: Tile a Tile a traire, comme sur les listes, des sous-squences musi-
re (Tile pre post m) = Tile pre pre m cales selon le paramtre de dure pass en argument.
co (Tile pre post m) = Tile post post m La musique code dans une tuile peut alors tre
inv (Tile pre post m) = Tile post pre m joue par composition :
Leur effet sur une tuile t est dcrit Figure 6. playT = play tToM

pre pre o la fonction play est la fonction en Euterpea per-


m m mettant de jouer des squences musicales de type
post (t) post (inv t) Music.
pre pre
m m 3.5. Premier exemple
post (co t) post (re t) On peut ainsi proposer un premier exemple :
fj 1 = t c 4 en % t d 4 en % t e 4 en % t c 4 en
Figure 6. Reset, co-reset and inverse fj 2 = t e 4 en % t f 4 en % t g 4 qn
fj 3 = t g 4 sn % t a 4 sn % t g 4 sn % t f 4 sn
% t e 4 en % t c 4 en
fj 4 = t c 4 en % t g 3 en % t c 4 qn
3.4. Codage des tuiles musicales
Chaque note, de type Music Pitch en Euterpea, est qui code le canon Frre Jacques. Il pourra tre jou
dcrite comme un triplet (n, o, d) avec un nom 2 n, par la commande
une octave 3 o et une dure 4 d. Ces notes peuvent test 1 = playT (fjr % r 4)
tre converties en notes tuiles laide de la fonction
t dfinie par : Une fonction tempoT permet aussi de changer le tempo
des tuiles. Elle est code de la faon suivante, hritant
t :: (Octave Dur Music Pitch) en quelque sorte de la fonction tempo sur les objets
Octave Dur Tile Pitch musicaux sous-jacents :
t n o d = if d < 0 then Tile d 0 (n o (d))
else Tile 0 d (n o d) tempoT :: Dur Tile a Tile a
tempoT r (Tile pr po m) =
De mme pour les silences, avec la fonction r dfinie assert (r > 0) (Tile (pr /r) (po/r) (tempo r m))
par :
On utilise ici la fonction Control.Exception.assert qui
r :: Dur Tile a permet de vrifier que le coefficient r de changement
r d = if d < 0 then Tile d 0 (rest (d)) de tempo est strictement positif.
else Tile 0 d (rest d) Plus gnralement, toute fonction agissant sur les
objets musicaux peut tre applique aux tuiles, lors-
Pour jouer une tuile, on ne convient de ne garder quon ne souhaite pas modifier les paramtres de syn-
que la partie musicale situ entre les marqueurs pre chronisation, grce la fonction dordre suprieur
et post. Cette projection est ralise par la fonction liftT dfinie par :
tToM dcrite ci-dessous.
liftT :: (Music a Music b) (Tile a Tile b)
tToM :: Tile a Music a liftT f (Tile pr po m) = Tile pr po (f m)
tToM (Tile pr po m) = takeM (po pr)
(dropM pr m) Ainsi, lexemple suivant nous permettra de jouer Frre
Jacques sur un piano Rhodes deux fois plus vite.
fjR = litfT (intrument rhodesPiano) fjr
2 . En notation anglaise, de a pour la g pour sol, avec c test 2 = playT (tempoT 2 (fjR % r 4))
pour do, cf (c flat) pour do bmol, cs (c flat) pour do dise,
etc.
3 . Cest--dire un numro doctave, le do la cl correspon-
dant c 4 ; il est prcd de b 3 et suivie de d 4, un clavier de
4. QUIVALENCE OBSERVATIONNELLE
piano allant typiquement de a 0, le la le plus grave, c 8, le
do le plus aigu. Un concept important en Euterpea est lquiva-
4 . En valeur symbolique valant fraction de ronde, avec des lence observationnelle. Elle se gnralise sur les flux
constantes prdfinies, en notation anglaise, telle que wn (whole
note) pour la ronde, valant 1, ou bien qn (quarter note) pour
musicaux tuils nous permettant de donner un sens
la noire, valant 1/4, ou encore en (eight note) pour la croche, laffirmation les flux tuils t1 et t2 se comportent
calant 1/8, etc. de la mme faon .
50
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

4.1. Equivalence de flux then mDelay (d) m2 else m2


in if p > 0 then n1 equiv mDelay p n2
Deux flux musicaux m1 et m2 sont observationel-
else mDelay (p) n1 equiv n2
lement quivalent, ce quon note

m1 equiv m2 On vrifie que deux flux tuils t1 et t2 sont quivalents


si et seulement si, pour toute tuiles de silence r1 et r2
lorsquils produisent le mme effet lexecution, cest on a bien
dire, lorsque play m1 et play m2 produisent le mme
effet, o play dsigne la fonction jouant les flux mu- tToM (r1 % t1 % r2 ) equiv tToM (r1 % t2 % r2 )
sicaux.
Les dtail sur cette quivalence equiv peuvent tre
trouv dans [8, 9]. Pour ce qui nous interesse, il suffit 4.3. Structure algbrique induite
de savoir quelle satisfait les axiomes suivants :
On vrifie aussi que pour tous flux tuils t, t1 , t2
(m1 :+: m2 ) :+: m3 equiv m1 :+: (m2 :+: m3 ) et t3 , les quivalences suivantes sont satisfaites.
(m1 :=: m2 ) :=: m3 equiv m1 :=: (m2 :=: m3 )
t1 % (t2 % t3 ) (t1 % t2 ) % t3
m1 :=: m2 equiv m2 :=: m1
t %r 0 t
rest 0 :+: m equiv m
r 0%t t
m :+: rest 0 equiv m
La premire quivalence indique que lordre dans le-
et, lorsque dur m1 = dur m3
quel on value les composants dun produit tuil na
(m1 :+: m2 ) :=: (m3 :+: m4 ) pas dimportance. Cest lquivalence dassociativit.
Les deux suivantes indiquent que la tuile silence (r 0)
equiv (m1 :=: m3 ) :+: (m2 :=: m4 ),
de dure de synchronisation nulle agit comme un le-
On suppose en outre que lquation suivante ment neutre. Autrement dit, lquivalence observa-
tionnelle induit une structure de monode sur les tuiles.
m equiv (m :=: m) Plus encore, on constate aussi que pour tout flux
tuil t on a :
est satisfaite pour tout flux tuil m.
Remarque. Bien que raisonnable, cette dernire qui- t inv(invt)
valence necessite une relle mise en oeuvre. En ef- t (t % (inv t) % t)
fet, dans de nombreux logiciels, jouer en parallle
(re t) (t % (inv t))
deux fois le mme flux musical saccompagne, en g-
nral, dune augmentation du volume. A dfaut dune (co t) ((inv t) % t)
telle implementation, cette quivalence devra donc
tre comprise modulo la balance des volumes des pistes. La premire quivalence indique que lopration din-
version est une involution. La seconde, que linverse
dun flux est bien un inverse au sens de la thorie des
4.2. Equivalence de flux tuils
semigroupes [23]. Les quatrime et cinquime quiva-
Cette quivalence observationnelle se gnralise aux lences montrent le reset et le co-reset sont en fait des
flux tuils en disant que deux flux tuils t1 et t2 sont oprations drives du produit tuil et de linversion.
observationnellement quivalents lorsquils produisent On peut poursuivre plus en dtail ltude de cette
le mme effet lexcution quel que soit le contexte quivalence est dcouvrir, comme en thorie des semi-
dexcution dans lequel on les joue. Cette mise en groupes inversifs, que les flux tuils de dure de syn-
contexte nous permet de rendre compte des para- chronisation nulle sont les seuls qui satisfont nim-
mtres de synchronisation. porte laquelle des quivalences suivantes :
Formellement, en notant playT la fonction qui per-
met de jouer le flux media dune tuile entre les points t t %t
de synchronisation pre et post, deux flux tuils t1 et t inv t
t2 seront quivalents, ce qui sera not t1 t2 lorsque
Tile pr 1 po1 m1 Tile pr 2 po2 m2 = et que, de plus, ils commutent, cest--dire que
pr 1 po1 == pr 2 po2 | t1 % t2 t2 % t1 |
let d = dur m1 dur m2 lorsque t1 et t2 sont deux tuiles de dure de synchro-
p = pr 1 pr 2 nisation nulle. La thorie des monoides inversifs [23]
n1 = if d < 0 nous assurent alors que, modulo quivalence observa-
then mDelay d m1 else m1 tionnelle, tout flux tuil t admet un unique inverse
n2 = if d > 0 (inv t). La structure induite est un monode inversif.
51
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

4.4. Codage inverse 5.1. Fonctions de resynchronisation


Dans ce langage de manipulation de tuiles, nous La fonction resync permet de dplacer le point de
retrouvons aussi les produits squentiels et parallles sortie post de la synchronisation. De faon duale, la
de Euterpea. fonction coresync permet de dplacer le point dentre
En effet, dans le cas flux musicaux finis, on dfinit pre de la synchronisation.
la fonction mToT qui transforme tout flux musical
fini m en un flux tuil par : resync :: Dur Tile a Tile a
resync s (Tile pre post m) =
mToT :: Music a Tile a
let npost = post + s
mToT m = let d = dur (m)
in if npost < 0
in Tile 0 d m
then Tile (pre npost) 0 (mDelay (npost) m)
On constate que ce codage est injectif vis vis de else Tile pre npost m
lquivalence observationnelle. On constate de sur- coresync :: Dur Tile a Tile a
croit que ce codage est fonctoriel vis vis de la com- coresync s (Tile pre post m) =
position squentielle. En effet, pour tout flux musical let npre = pre + s
fini m1 et m2 on a bien : in if npre < 0
mToT (m1 :+: m2 ) (mToT m1 ) % (mToT m2 ) then Tile 0 (post npre) (mDelay (npre) m)
Autrement dit, le produit de synchronisation code, else Tile npre post m
via la fonction mToT , le produit squentiel.
Dans le cas de flux (potentiellement) infinis, len- Le comportement de ces fonctions est illustr Figure 7
codage dcrit ci-dessous choue. En effet, le produit pour un offset s > 0.
squentiel de deux flux infinis ne peut tre dfinit de
faon satisfaisante puisque le second flux se voit en pre
quelque sorte repouss linfini. Il ne pourra tre jou.
On retrouve ici une problmatique aborde et r- (t) m
solue par la thorie des -semigroupes [27] en distin- pre s post
guant les structures finies (les strings) et les struc- (coresync (s) t) m
tures infinies (les streams). Pourtant, il apparait que pre + s post
la manipulation conjointe de ces deux types dobjets (coresync s t) m
peut tre faites ds lors quils sont tuils (voir[7] pour
pre post
plus de dtails).
En pratique, on dfinit la fonction sToT qui trans- (resync (s) t) m
forme tout flux musical (potentiellement) infini m en pre post s
un flux tuil par : (resync s t) m
post + s
sToT :: Music a Tile a
sToT m = Tile 0 0 m
On vrifie que ce codage est injectif sur les flux mu-
Figure 7. Resynchronisation et co-resynchronisation
sicaux infinis. De plus, il est fonctoriel vis vis de la
composition parallle. En effet, pour tout flux musical
(potentiellement) infini m1 et m2 on a bien :
sToT (m1 :=: m2 ) (sToT m1 ) % (sToT m2 )
Autrement dit, le produit tuil encode, via la fonction 5.2. Proprits de la resynchronisation
sToT , le produit parallle.
Bien entendu, ces deux exemples peuvent sembler Ces fonctions gnralisent les fonctions reset re et
artificiels puisque le produit tuil, lui-mme, est dfi- co-reset co au sens o on a :
nit partir des produits squentiels et parallles. Mais
cette objection ne tient pas puisque quelle sappuie re (Tile pr po m) = resync (pr po)
sur une implmentation particulire. Tout autre im-
(Tile pr po m)
plmentation du produit tuil satisfera les proprits
nonces ci-dessus. co (Tile pr po m) = coresync (po pr)
(Tile pr po m)
5. RESYNCHRONISATION
On remarque par ailleurs que ces fonctions induisent
Un premier jeu de fonctions dfinit sur les flux tui- des actions du groupe des nombres rationnels muni de
ls permet de manipuler la position des points de syn- laddition sur lensemble des flux tuils. En pratique,
chronisation positionns sur un flux musical tuil. pour tout flux musical tuil t et tout offset rationnel
52
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

a et b on a en effet : coder simplement laide du produit tuil, des reset


et co-reset, et des tuiles silencieuses. En effet, pour
resync 0 t = t tout flux tuils t1 et t2 , et pour tout offset d, on a :
resync a (resync b t) = resync (a + b) t
coresync 0 t = t insertT d t1 t2 r d % re t2 % r (d) % t1
coresync a (coresync b t) = coresync (a + b) t coinsertT d t1 t2 t1 % r d % co t2 % r (d)

En particulier, pour toute tuile t et toute dure s, on 5.4. Exemple : croisements temporels
constate quon a :
Pour illustrer la puissance de la mtaphore du tui-
resync s t t %r s lage au sein dun langage de programmation complet
coresync s t r s%t tel que Haskell, on propose ci-dessous le codage dune
fonction crossing qui simule, par rptitions et dca-
Elles sont aussi duales lune de lautre au sens des lages successifs, le croisement de deux flux musicaux
quivalences suivantes : tuils.

resync a (inv t) (inv (coresync a t)) crossing :: Dur Tile a Tile a Tile a
coresync a (inv t) (inv (resync a t)) crossing o t1 t2 =
if ((centerT (t1 ) > 0)
Enfin, leur comportement vis vis du produit tuil (centerT (t2 ) > 0)) then
est dcrit par les quivalences observationnelles sui- let v1 = (resync o t1 )
vantes. Pour tout flux musical tuil t1 et t2 et tout v2 = (resync (o) t2 )
offset de dure a, on a aussi : in (t1 % t2 % (crossing o v1 v2 ))
else (t1 % t2 )
resync a (t1 % t2 ) (resync a t1 ) % t2
coresync a (t1 % t2 ) t1 % (coresync t2 )
Cette fonction est alors mis en oeuvre dans lexemple
musicale suivant.
5.3. Fonctions drives
train1 = liftT (instrument RhodesPiano)
Des exemples de fonctions drives des fonctions
(r en % t a 3 en % t c 4 en % t e 4 en
de resynchronisation sont les fonctions insertions de
% t d 4 en % r (3 en))
tuiles. Elles sont de deux sortes.
train2 = liftT (instrument RhodesPiano)
La premie, fait un fork parallle dune tuile t2
(t e 4 en % t g 3 en % t a 3 en
dans une tuile t1 la position d depuis lentre de
% t a 3 en % r (4 en))
synchronisation pre.
crossL = crossing (en) train1 train2
insertT :: Dur Tile a Tile a Tile a
insertT d t1 t2 = coresync (d) (re t2 % coresync d t1 )
Laudition de lensemble se fait en executant la com-
De faon duale, la seconde, co insertion fait un join. mande playT crossL. Une ligne de percussion rgu-
lire percL telle que dcrite ci-dessous lance en pa-
rallle par la commande playT ((re percL) % crossL),
coinsertT :: Dur Tile a Tile a Tile a permettra dentendre les phnomnes de dcalage de
coinsertT d t1 t2 = resync (d) (resync d t1 % co t2 ) la ligne crossL.
Le comportement de ces fonctions est dcrit Figure 8.
6. CONTRACTIONS ET EXPANSIONS

d d Lors dune resynchronisation, linvariant et le flux


m1 m1 musicale sous-jacent au flux tuils. Un jeu de fonc-
(t1 ) (t1 ) tions sensiblement diffrent est obtenu en prservant
m2 m2 la taille de la synchronisation tout en contractant ou
(t2 ) (t2 )
m1 m1 tirant le flux musicale sous-jacent. Ce jeu de fonc-
m2 m2 tions est prsent ici.
(insertT d t1 t2 ) (coinsertT (d) t1 t2 )
6.1. Les fonctions de contraction/expansion
Figure 8. Insertions par Fork et Join. La fonction strech permet dtirer et de contracter
le flux musical en maintenant la position du point
Remarque. Bien quon ait propos un codage directe dentre de synchronisation pre sur le flux musical. de
de cette fonction, remarquons quelle peut aussi se faon duale, la fonction costretch tire ou contracte
53
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

le flux musical en maintenant le point de sortie de costretch a (t1 % t2 )


synchronisation post sur le flux musical. (costretch a t1 ) % (tempoT (1/a) t2 )
La fonction stretch est dfinit par :
stretch :: Dur Tile a Tile a 6.3. Exemples : gnration rythmique
stretch r (Tile pre post m) = Lutilisation de stretch et costretch peut tre illus-
assert (r > 0) (Tile (pre r) (pre (r 1) + post) tr par les transformations rythmiques dj voques
(tempo (1/r) m)) dans [15].
La fonction costretch est, quant elle, dfinit par :
march = t c 4 qn % r qn % t g 4 qn % r qn
costretch :: Dur Tile a Tile a waltz = costretch (2/3) march
costretch r (Tile pre post m) = tumb = costretch (5/4) march
assert (r > 0) (Tile (post (r 1) + pre) (post r)
Le rythme initial march, dans une mtrique deux
(tempo (1/r) m))
temps, consiste jouer un do sur le premier temps et
Le comportement de ces fonctions est dcrit Figure 9 un sol sur le second temps.
avec un facteur r > 1 et en notant (abusivement) mr Dans le rythme waltz, dans une mtrique trois
le flux tempo (1/r) m, et m/r le flux tempo r m. temps, les notes se retrouvent joues sur le deuxime
et le troisime temps de la dure de synchronisation.
pre Cest donc effectivement une ligne de basse pour une
(t) m valse.
post Dans le rythme tumb, dans une mtrique quatre
(costretch (1/r) t) m /r temps, le do est jou sur le 4me temps de la mesure
qui prcde, et le sol sur la leve du 2me temps. Cest
post /r
l une ligne de basse typique de la salsa cubaine : le
(costretch r t) mr tumbao. Ces trois exemples sont dcrits Figure 10.
post r pre/r
(stretch (1/r) t) m /r c g
pre r (march)
(stretch r t) mr c g
(waltz)
Figure 9. Stretch et co-stretch c g
(tumb)

6.2. Proprits des contractions/expansions


Figure 10. Cellules rythmiques engendres par
De faon analogue aux fonctions de resynchroni-
contraction/expansion
sation, ces fonctions induisent une action du groupe
des nombres rationnels strictement positifs muni de
Jous en parallle une structure rythmique r-
la multiplication sur lensemble des flux tuils. Pour
ptitive marquant le dbut de chaque mesure, cest
tout flux musical tuil t et tout offsets a et b, on a :
dire le point pre, on peut couter ces cellules laide
stretch 1 t = t du code suivant :
stretch a (stretch b t) = stretch (a b) t bass = liftT (instrument Percussion)
costretch 1 t = t (Tile 0 wn (perc AcousticBassDrum wn))
costretch a (costretch b t) = costretch (a b) t hiHat = liftT (instrument Percussion)
(Tile 0 (1/8) (perc ClosedHiHat (1/8)))
Ces deux fonctions sont duales lune de lautre au sens
des quivalences suivantes : bassL = bass %\ re bassL
hiHatL = repeatT 4 hiHat %\ re hiHatL
stretch a (inv t) (inv (costretch a t))
percL = re bassL % hiHatL
costretch a (inv t) (inv (stretch a t))
testW = playT (re bassL % tempoT (3/4)
Enfin, le comportement de ces fonctions vis vis du (re hiHatL) % repeatT 4 waltz)
produit synchronis est dcrit par les equations sui- testS = playt (re bassL % re hiHatL
vantes. Pour tout flux musical tuil t1 et t2 et tout % repeatT 4 tumb)
facteur a > 0, on a :
Remarque. Ces exemples sont construits laide dun
stretch a (t1 % t2 ) oprateur de produit %\ qui, en limitant les super-
(tempoT (1/a) t1 ) % (stretch a t2 ) positions vers le pass, permet de dfinir facilement
54
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

des tuiles rcursives. On trouvera ci-dessous, une pre- peut maintenant tre type par Haskell. Le type de
mire discussion sur les dfinitions rcursives tuils. la tuile x est bien le type de la tuile t. En effet, lan-
Une discussion plus pouss sur cette problmatique ticipation induite par (re x) a t supprime dans le
dlicate pourra tre trouv dans [12]. produit restreint et sa dure de synchronisation est
nulle grace au reset. Les marqueurs dentre pre et de
7. TUILES RCURSIVES sortie post de toute solution sont donc uniquement
dtermins par ceux de la tuile t. Une gnralisation
Dans les exemples ci-dessus, nous avons vu com- de ce codage, plus souple, est propose dans [12].
ment les structures de contrle classique des langages
de programmation permettent de dfinir algorithmi- 8. CONCLUSION
quement des flux tuils finis complexes.
Le langage Haskell, reposant sur un principe dva- Le T -calcul en Euterpea apparait clairement, via
luation paresseuse, permet aussi de dfinir des objets les nombreuses proprits algbriques quil satisfait,
potentiellement infinis qui sont valus la demande. comme un formalisme particulirement robuste pour
Nous souhaiterions pouvoir utiliser cette caractris- une description hirarchique de la structure tempo-
tique pour dfinir des tuiles potentiellement infinies. relle des flux media temporiss. Son exprimentation
Par exemple, tant donn une tuile finie t, on sou- pour la modlisation musicale est en cours.
haiterait pouvoir dfinir une tuile x de support musi- Bien entendu, limplmentation propose ici ne traite
cal infini, via une equation de la forme que des flux musicaux symboliques. Une intgration
des flux audio tuils reste mettre en oeuvre. Elle
x = t % (re x)
pourrait sappuyer sur la libTuiles dj ralise [2, 22].
Dans une telle equation, lappel rcursif se fait sur le Une telle extension offrirait sans doute un gain de
reset de la variable x afin de produire une tuile dont productivit important pour la cration et la produc-
la distance de synchronisation serait celle de la tuile tion de musique lectroacoustique. Une bonne partie
t. Pourtant, malgr cette prcaution, lvaluation de du mixage, parfois fastidieux et rptitif, peut en ef-
cette quation en Haskell boucle ! fet tre factorise grace la mtaphore du tuilage :
En effet, le modle des flux tuils est ainsi fait que chaque tuile audio intgre une fois pour toute, dans
les superpositions en amont du point de synchronisa- ses points de synchronisation, toute linformation ne-
tion pre peuvent provenir de tuiles situes arbitraire- cessaire pour positionner, avant ou bien aprs, les
ment en aval dans une suite de produit synchronis. autres tuiles audio.
Notre implmentation boucle donc sur une telle qua- Remarquons aussi que le langage propos ici nest
tion car elle doit drouler toute les rptitions de x destin qu une manipulation hors temps des
pour en connaitre les anticipations : le typage de la structures musicales. Bien sur, en toute gnralit, on
tuile x ainsi dfinit par quation choue tre calcul ne peut dcider de la terminaison de ces programmes.
par Haskell. Remarquons cependant que, ds lors quun flux tuils
Dans [21], des conditions ncessaires et suffisantes, est typ, il est de dure de synchronisation fini. La
calculables, sont dcrites pour rsoudre cette rcur- fonction playT de lecture de ce flux terminera donc
sion. Nanmoins, elles sont proposes dans une dfi- puisquelle ne parcourt les flux quentre les marqueurs
nition de T-calcul pure, particulirement limite. Il de synchronisation Pre et Post.
ne contient pas de structure de contrle telle que les On peut mentioner enfin quune thorie des lan-
conditionnelles. Dans limplmentation du T-calcul gages adapte la description et la manipulation de
propose ici, qui hrite de toute lexpressivit dHas- sous-ensembles de monodes inversifs est actuellement
kell, le calcul du type dun flux tuil dfinit par qua- en cours de dveloppement. Elle offre des outils tra-
tion est, en toute gnralit, indcidable. ditionnels de manipulation des langages, quils soient
Pour remdier cela, nous proposons un nouveau logiques [17], algbriques [14, 16] ou quils sappuient
produit synchrone, partiel, qui rsout ce calcul de sur la thorie des automates [19, 18, 16]. Autrement
type potentiellement cyclique en coupant les anti- dit, en sappuyant sur cette thorie, il sera possible
cipations qui y conduisent. Plus prcisment, on d- de dvelopper les outils de spcification, danalyse et
finit le produit restreint %\ suivant : de validations qui pourront accompagner efficacement
les outils de modlisations par tuilage.
(%\) :: Tile a Tile a Tile a
Tile pr 1 po1 m1 %\ (Tile pr 2 po2 m2 ) = 9. REFERENCES
Tile pr 1 po1 (m1 :=: mDelay po1 (dropM pr 2 m2 ))
Remarque. Le dans cette dfinition est une techni- [1] C. Agon, J. Bresson, and G.Assayag. The OM
cit qui permet de gouverner lvaluation paresseuse. composers Book, Vol.1 & Vol.2. Collection Mu-
On vrifie facilement quune quation de la forme sique/Sciences. Ircam/Delatour, 2006.
[2] F. Berthaut, D. Janin, and M. DeSainteCatherine.
x = t %\ (re x) libTuile : un moteur dexcution multi-chelle de pro-
55
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

cessus musicaux hirarchiss. In Actes des Journes Comp. Science (SOFSEM), volume 8327 of LNCS,
dinformatique Musicale (JIM), 2013. pages 720. Springer, 2014.
[3] F. Berthaut, D. Janin, and B. Martin. Advanced syn- [19] D. Janin, F. Berthaut, M. DeSainte-Catherine,
chronization of audio or symbolic musical patterns : Y. Orlarey, and S. Salvati. The T-calculus : towards a
an algebraic approach. International Journal of Se- structured programming of (musical) time and space.
mantic Computing, 6(4) :409427, 2012. In ACM Workshop on Functional Art, Music, Mode-
[4] J. Bresson, C. Agon, and G. Assayag. Visual Lisp ling and Design (FARM), pages 2334. ACM Press,
/ CLOS programming in OpenMusic. Higher-Order 2013.
and Symbolic Computation, 22(1), 2009. [20] D. Janin, F. Berthaut, and M. DeSainteCatherine.
[5] P. Desain and H. Honing. LOCO : a composi- Multi-scale design of interactive music systems : the
tion microworld in Logo. Computer Music Journal, libTuiles experiment. In Sound and Music Compu-
12(3) :3042, 1988. ting (SMC), 2013.
[6] A. Dicky and D. Janin. Embedding finite and infinite [21] M. V. Lawson. Inverse Semigroups : The theory of
words into overlapping tiles. Research report RR- partial symmetries. World Scientific, 1998.
1475-13, LaBRI, Universit de Bordeaux, 2013. [22] F. Lerdahl and R. Jackendoff. A generative theory
[7] P. Hudak. An algebraic theory of polymorphic tem- of tonal music. MIT Press series on cognitive theory
poral media. In Proceedings of PADL04 : 6th In- and mental representation. MIT Press, 1983.
ternational Workshop on Practical Aspects of Decla- [23] S. Letz, Y. Orlarey, and D. Fober. Real-time compo-
rative Languages, pages 115. Springer Verlag LNCS sition in Elody. In Proceedings of the International
3057, June 2004. Computer Music Conference, pages 336339. ICMA,
[8] P. Hudak. A sound and complete axiomatization of 2000.
polymorphic temporal media. Technical Report RR- [24] D. Perrin and J.-E. Pin. Infinite Words : Automata,
1259, Department of Computer Science, Yale Univer- Semigroups, Logic and Games, volume 141 of Pure
sity, 2008. and Applied Mathematics. Elsevier, 2004.
[9] P. Hudak. The Haskell School of Music : From si-
gnals to Symphonies. Yale University, Department of
Computer Science, 2013.
[10] P. Hudak and D. Janin. Tiled polymorphic temporal
media. Research report RR-1478-14, LaBRI, Univer-
sit de Bordeaux, 2014.
[11] P. Hudak, T. Makucevich, S. Gadde, and B. Whong.
Haskore music notation an algebra of music. Jour-
nal of Functional Programming, 6(3) :465483, May
1996.
[12] D. Janin. Quasi-recognizable vs MSO definable lan-
guages of one-dimensional overlapping tiles. In Ma-
thematical Found. of Comp. Science (MFCS), vo-
lume 7464 of LNCS, pages 516528, 2012.
[13] D. Janin. Vers une modlisation combinatoire des
structures rythmiques simples de la musique. Re-
vue Francophone dInformatique Musicale (RFIM),
2, 2012.
[14] D. Janin. Algebras, automata and logic for languages
of labeled birooted trees. In Int. Col. on Aut., Lang.
and Programming (ICALP), volume 7966 of LNCS,
pages 318329. Springer, 2013.
[15] D. Janin. On languages of one-dimensional over-
lapping tiles. In Int. Conf. on Current Trends in
Theo. and Prac. of Comp. Science (SOFSEM), vo-
lume 7741 of LNCS, pages 244256. Springer, 2013.
[16] D. Janin. Overlaping tile automata. In 8th In-
ternational Computer Science Symposium in Russia
(CSR), volume 7913 of LNCS, pages 431443. Sprin-
ger, 2013.
[17] D. Janin. Walking automata in the free inverse mo-
noid. Research report RR-1464-12, LaBRI, Univer-
sit de Bordeaux, 2013.
[18] D. Janin. Towards a higher dimensional string theory
for the modeling of computerized systems. In Int.
Conf. on Current Trends in Theo. and Prac. of
56
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

FAUSTLIVE
UN COMPILATEUR LA VOLE POUR FAUST
... ET BIEN PLUS ENCORE

Sarah Denoux Stphane Letz Yann Orlarey


GRAME GRAME GRAME
sdenoux@grame.fr letz@grame.fr orlarey@grame.fr

R SUM te, est bien plus long pour un compilateur que pour un
interprteur. Pour un artiste en situation de cration, lex-
FaustLive est une application qui, grce son compila- primentation rapide est indispensable. Un long cycle de
teur Faust embarqu, se propose de runir le confort dun compilation peut donc tre un frein. Dautre part, le code
langage interprt avec lefficacit dun langage compil. binaire nest pas compatible entre diffrentes plateformes
Base sur libfaust, une librairie qui offre une chane de et systmes dexploitation.
compilation complte en mmoire, FaustLive ne requiert FaustLive essaie de runir le confort dun langage in-
aucun outil externe (compilateur, diteur de lien, ...) pour terpret autonome avec lefficacit dun langage compil.
traduire du code FAUST en code machine excutable. Par Grce libfaust, une librairie qui offre une chane de com-
lintermdiaire de cette technologie, FaustLive offre de pilation complte en mmoire, FaustLive ne requiert au-
multiples fonctionnalits. Par exemple, il est possible de cun outil externe pour traduire du code FAUST en code
glisser un nouveau fichier DSP sur une application FAUST machine, et lexcuter. Grce son cycle de dveloppe-
en fonctionnement pour remplacer son comportement et ment trs court, FaustLive se comporte sur de nombreux
ce, sans interruption du son. Il est aussi possible de trans- points comme un interprteur FAUST (se rapprochant des
frer une application qui fonctionne en local, sur une autre environnements modernes LISP compils, ou de lapproche
machine, mme si celle-ci utilise un systme dexploita- prsente par A. Graef avec Pure dans [1]).
tion diffrent. Bas sur ce court cycle de dveloppement, FaustLive
prsente des fonctionnalits avances. Il est, par exemple,
1. INTRODUCTION possible dditer le code source pendant quune applica-
tion FAUST tourne. Le code est alors recompil dynami-
FAUST [Functional Audio Stream] [5] est un langage quement, sans interruption du son. Si cette application uti-
fonctionnel, ddi spcifiquement la synthse et au trai- lise JACK comme driver, toutes les connexions sont main-
tement du signal en temps rel. Comparativement autres tenues. FaustLive offre donc une certaine flexibilit pour
langages existants comme Max, PD, Supercollider, Csound, le prototypage des applications FAUST. Dautre part, lors-
Chuck etc, loriginalit de FAUST est de crer des pro- que FaustLive fonctionne sur un rseau, il est possible de
grammes non pas interprts mais entirement compils 1 . transfrer les calculs audio dune application sur une ma-
Il offre ainsi une alternative au C/C++ pour limplmenta- chine distante, mme si celle-ci utilise un systme dex-
tion dalgorithmes DSP travaillant efficacement lchan- ploitation diffrent.
tillon prs. Les applications FAUST peuvent aussi tre contrles
Alors que les compilateurs ont lavantage de leffica- distance, en utilisant les protocoles HTTP ou OSC. En-
cit, ils prsentent certains dsavantages par rapport des fin, FaustLive peut se connecter FaustWeb, un service
interprteurs. Dabord, les compilateurs traditionnels ont de compilation distant pour exporter une application en
besoin dune chaine complte doutils (compilateurs, di- un binaire traditionnel pour lun des systmes dexploita-
teurs de liens, librairies de dveloppement, ...). Pour des tion et une des architectures supportes par la distribution
"non-programmeurs", linstallation de ces outils peut tre FAUST.
assez complexe. De plus, le cycle de dveloppement, de-
puis ldition du code source jusqu lapplication excu- 2. LE COMPILATEUR FAUST
1 . Les langages interprts ont souvent recours une phase de tra- Le compilateur FAUST traduit un programme FAUST
duction, parfois appele compilation, permettant de traduire le pro-
gramme en une reprsentation interne, par exemple du bytecode, plus en son quivalent dans un langage impratif (C, C++, Java,
efficace pour linterprtation. Dans le domaine audio, les langages in- etc), soccupant de gnrer du code efficace. La distri-
terprts ont galement recours une autre technique, le groupage des bution FAUST inclut de nombreux fichiers darchitecture,
chantillons par vecteur, de faon amortir davantage le cot de linter-
faisant la liaison entre le code gnr et le monde extrieur
prtation. Nanmoins ces techniques ne permettent pas datteindre leffi-
cacit dun programme vritablement compil en code machine, comme (drivers audio, interfaces de contrle, ...).
cest le cas pour les programmes FAUST. La version officielle du compilateur FAUST transforme

57
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Figure 1. tapes de la chaine de compilation FAUST Figure 3. LLVM Compiler Structure

le code DSP en une classe C++, insre ensuite dans une back-end FAUST-LLVM, pour finalement produire du code
architecture. Le fichier C++ rsultant est finalement com- excutable grce au compilateur LLVM-JIT. Toutes les
pil avec un compilateur standard pour produire une ap- tapes sont ralises en mmoire. Des pointeurs sur les
plication ou un plugin (Figure 1). fonctions excutables sont ensuite accessibles dans le mo-
Lapplication finale est alors structure de la manire dule LLVM rsultant, et leurs codes pourront tre appels
suivante : le DSP est reprsent sous forme dun module avec les paramtres appropris.
de calcul alors que larchitecture joue le rle de lien vers Dans la branche de dveloppement faust2, le compila-
le driver audio et vers linterface graphique (Figure 2). teur FAUST a t compil sous forme dune librairie em-
barquable, libfaust, publie avec une API associe, [2].
Cette API imite le concept des langages orients objet,
comme le C++. Ltape de compilation, habituellement
ralise par GCC, est accessible au travers de la fonction
createDSPFactory. partir du code FAUST sous forme de
string ou de fichier, la chaine de compilation embarque
(FAUST + LLVM-JIT) gnre le prototype de la classe,
appele llvm-dsp-factory. Puis, la fonction createDSPIns-
tance, correspondant un new nomClasse du langage
C++, permet dinstancier un llvm-dsp. Linstance peut en-
suite tre utilise comme nimporte quel objet, fonction-
ner et tre contrle travers son/ses interfaces.

3. FAUSTLIVE - UTILISATION
Figure 2. Structure dune application FAUST
FaustLive est un logiciel bas sur QT 2 , qui permet de
lancer des applications FAUST partir de leur code source,
sans avoir les prcompiler. La figure 4 prsente donc
2.1. LLVM la transformation des fichiers source FAUST baa.dsp et
foo.dsp en applications JACK-QT, une fois dposs dans
LLVM (anciennement "Low Level Virtual Machine") FaustLive.
est une infrastructure de compilateur. Elle est conue pour
compiler, diter les liens et optimiser des programmes crits
dans un langage arbitraire. Le code excutable est pro-
duit dynamiquement par un compilateur la vole, partir
dune reprsentation spcifique appele LLVM IR (Repr-
sentation Intermdiaire). Clang, le compilateur natif LLVM
pour le C/C++/Objective-C est un front-end pour le com-
pilateur LLVM. Il peut, par exemple, convertir un fichier
C en code LLVM IR (Figure 3).
Les langages spcialiss, comme FAUST, peuvent faci-
lement produire du code LLVM IR. Un back-end spci-
fique FAUST vers LLVM IR a t ajout au compilateur
FAUST pour gnrer ce code, [4].

2.2. Chane de Compilation Dynamique Figure 4. Principe de FaustLive


La chane de compilation complte dmarre donc au
code source DSP, compil en LLVM IR en utilisant le 2 . framework pour la conception dinterfaces graphiques

58
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

FaustLive exploite la compilation dynamique, associe


diffrents systmes dinterfaage et drivers audio pour
moduler la structure des applications FAUST.
Pour donner une ide du potentiel de FaustLive, la sec-
tion qui suit prsente ses diverses fonctionnalits, mon-
trant pour chacune dentre elles les altrations correspon-
dantes dans la structure des applications.
Figure 6. Migration des applications vers un nouveau dri-
Le point de dpart de FaustLive est le glisser/dposer. ver audio
Un DSP FAUST peut tre ouvert dans une nouvelle fentre,
ou bien il peut tre gliss sur une application en fonc-
tionnement. Il apparat alors un tat intermdiaire pen- est intgr FaustLive pour fournir plus dinteroprabi-
dant lequel les deux applications co-existent. Lapplica- lit. De nombreux environnements et matriels audio im-
tion entrante copie les connexions audio tablies, puis les plmentent ce protocole, grce auquel FaustLive pourra
deux comportements audio sont interpols, via un cross- communiquer avec eux. Un smartphone peut alors ouvrir
fade (Figure 5). Pour finir, lapplication entrante remplace une interface OSC, contrlant lapplication distance (Fi-
durablement la prcdente. Ce systme permet de modi- gure 7).
fier indfiniment lapplication courante dans une fentre,
en vitant les interruptions audio.

Figure 5. Interpolation de comportements Figure 7. Interface OSC

De mme, une interface HTML est accessible partir


Ce mcanisme permet aussi ldition du code source.
dun QrCode 4 . Une fois scann, par exemple par une ta-
Lorsquun utilisateur choisit dditer son code source, il
blette, linterface est ouverte dans un navigateur. Dans le
est ouvert dans lditeur de texte par dfaut. Puis, au mo-
cas dOSC comme dans celui dHTTP, linterface est du-
ment o les modifications sont enregistres, lapplication
plique et une synchronisation est tablie entre linterface
est mise jour, en utilisant linterpolation de comporte-
locale et celle dporte.
ments. Cette fonctionnalit est centrale. Elle simplifie gran-
dement le processus de prototypage : un utilisateur peut
Linterface HTML prsente un intrt additionnel : elle
modifier son code loisir et entendre/voir le rsultat ins-
est paramtre pour accepter le glisser/dposer. Lutilisa-
tantanment.
teur contrlant linterface distance peut donc modifier
le comportement de lapplication en glissant son DSP sur
Originairement, JACK a t choisi comme driver au-
linterface. Le code source est envoy lapplication lo-
dio, puisquil permet lutilisateur de connecter ses appli-
cale, o elle remplace lapplication en fonctionnement par
cations FAUST entre elles. Les drivers NetJack, CoreAu-
le processus dinterpolation. Enfin, linterface distante est
dio et PortAudio ont ensuite t intgrs FaustLive don-
remplace (Figure 8).
nant lutilisateur la possibilit de changer dynamique-
ment de driver. Lapplication na pas besoin dtre quitte.
Dans le cas o de nombreuses applications coteuses
La migration est ralise pendant lexcution de FaustLive
en calculs sont ouvertes, la charge CPU peut saturer le
et sapplique toutes les applications FAUST en fonction-
processeur. Le dplacement du calcul sur une machine dis-
nement (Figure 6).
tante peut donc permettre dallger cette charge (Figure
9).
Afin doffrir une application modulaire, FaustLive offre
3
plusieurs choix dinterfaces de contrle. Le protocole OSC
4 . QR code (abbrviation de "Quick Response Code") est un type de
3 . Open Sound Control code barre deux dimensions

59
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

ou le plugin demand.

Lorsque FaustLive est quitt, la dernire configuration


est sauvegarde et sera restaure la prochaine excution.
Dautre part, lutilisateur peut choisir denregistrer ltat
de lapplication nimporte quel moment. Il pourra en-
suite recharger son "snapshot" en limportant dans ltat
courant ou en le rappelant (Figure 10).

Figure 10. Reloading Snapshot

4. FAUSTLIVE - ASPECTS TECHNIQUES

4.1. Fonctionnalits basiques


Le but principal de FaustLive est de crer un environne-
ment dynamique pour le prototypage dapplications FAUST
Figure 8. Glisser/Dposer sur une interface distante en embarquant libfaust. Les fentres QT, une fois param-
tres pour accepter le glisser/dposer, permettent luti-
lisateur de glisser son code FAUST sous forme de fichier,
de string ou durl. Le code est immdiatement donn au
compilateur embarqu par le biais de la fonction crea-
teDSPFactory de lAPI libfaust (cf 2.2). Lavantage de la
chane de compilation rsultante (Figure 11) est daccl-
rer le processus de compilation, en retournant quasiment
instantanment les pointeurs sur les fonctions excutables.
Le nouveau processeur audio remplace alors lapplication
courante par le biais dun crossfade, vitant une coupure
brutale du son.

Figure 9. Calcul distribu

Un utilisateur peut vouloir utiliser son application FAUST


dans un environnement diffrent (Max/MSP, SuperColli- Figure 11. Compilation chain in FaustLive
der, ...). Dans ce but, un lien au service web de compi-
lation, FaustWeb, est intgr dans FaustLive. Lutilisateur
doit seulement choisir la plateforme et lenvironnement Un avantage important de FaustLive est la coexistence
quil dsire cibler. En retour, il reoit lapplication binaire de plusieurs applications FAUST, en opposition avec lar-

60
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

chitecture QT-JACK de la distribution FAUST "statique" 4.2.2. NetJack


o chaque programme doit tre compil sparment pour
NetJack est un systme de transport audio en temps rel
produire une application propre. Lenvironnement rsul-
travers un rseau IP. Il est intgr JACK. NetJack syn-
tant est prsent Figure 12.
chronise ses clients sur une unique carte son pour quil
ny ait pas de rchantillonnage ou de click. Le "mas-
ter" impose sa frquence dchantillonnage, ainsi que sa
taille de buffer, en liaison avec le dispositif audio quil
utilise. Grce NetJack, plusieurs utilisateurs peuvent en-
voyer leurs sorties audio sur une unique carte son. Une
utilisation typique de ce systme est une classe o seule la
machine du professeur est connecte au systme audio et
les lves envoient leurs sorties audio travers NetJack.

4.2.3. CoreAudio et PortAudio


Sous OSX, lapplication FaustLive en version JACK
nest pas autonome, elle ncessite que lutilisateur installe
JACK par ailleurs. Pour faciliter linstallation de Faust-
Live aux utilisateurs dbutants, une version CoreAudio 6 ,
ainsi quune version PortAudio 7 ont t cres. Incluses
par dfaut dans les systmes ou facilement distribues sous
la forme de DLL, ces architectures najoutent pas de con-
trainte dinstallation supplmentaire pour lutilisateur.
Figure 12. FaustLives environment
4.3. Interfaces de contrle
Pour pouvoir contrler linterface utilisateur distance,
4.2. Audio Drivers un port UDP doit tre ouvert pour le protocole OSC et un
port TCP pour la connexion HTTP. Les deux protocoles
FaustLive a intgr JACK, CoreAudio, NetJack et Por-
utilisent par dfaut le port 5510 et sont configurables dans
tAudio. Selon la plateforme, les librairies sont ou non com-
la barre doptions de la fentre. Lorsque le port est uti-
piles dans FaustLive 5 . Grce cette diversit de drivers,
lis, le systme utilise automatiquement le prochain port
il est possible de basculer de lun lautre ou de modifier
disponible.
les paramtres (taille de buffer, frquence dchantillon-
nage, ...) durant lexcution de FaustLive. Tous les clients
audio sont dabord arrts, puis les applications sont trans- 4.3.1. Interface HTML
fres dans le nouveau domaine pour tre redmarres. Lorsquune interface HTML est construite, un serveur
HTTP est dmarr et soccupe de dlivrer la page HTML
4.2.1. JACK (Figure 13). Ce serveur est gr par la librairie libmicro-
httpd.
JACK est un systme qui gre en temps rel de lau-
Pour simplifier laccs cette interface, un QrCode est
dio/midi basse-latences. Il fonctionne sous GNU/Linux,
construit partir de ladresse HTTP, grce la librairie
Solaris, FreeBSD, OSX et Windows. Il peut connecter plu-
libqrencode. La plupart des smartphones et des quipe-
sieurs applications un dispositif audio. De plus, il permet
ments portables sont quips de dcodeurs de QrCode. En
de partager des flux audio entre applications.
scannant le code, un navigateur se connecte la page de
Une contrainte intressante amene par lutilisation de
linterface.
JACK a donc t la question des connexions audio. Lors-
que des connexions ont t tablies, lobjectif est de les
conserver, quels que soient les changements dapplication 4.3.2. Glisser/dposer distance
FAUST dans une fentre. Lorsquune nouvelle application
Comme le reste de la distribution FAUST, linterface
entre dans la fentre, le graphe des connexions JACK est
HTML a un comportement "statique". Pour dynamiser son
sauv sous forme de fichier. Ce dernier est pars pour rem-
comportement limage des interfaces locales de Faust-
placer le nom du client sortant par le nom du nouveau
Live, une zone de glisser/dposer a t ajoute linter-
processeur audio. Le nouveau client JACK peut alors tre
face HTML. Ce service HTTP est indpendant et spci-
connect la manire de son prdecesseur. Si la nouvelle
application a plus de ports que la prcdente, lutilisateur 6 . CoreAudio est linfrastructure audio de iOS et OS X. Elle offre un
devra faire les connexions lui-mme. framework pour manipuler de laudio dans les applications.
7 . PortAudio est une librairie audio crite en C/C++. Elle est libre et
5 . JACK, CoreAudio et NetJack sont utiliss sur OSX, JACK et Net- cross-platformes. Son intention est de promouvoir le portage dapplica-
Jack sur Linux, PortAudio, JACK et NetJack sur Windows. tion audio entre diffrentes plateformes.

61
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

fique FaustLive. Le serveur, dmarr par FaustLive, est envoy est indpendant et pourra tre correctement com-
capable de crer une page HTML qui encapsule les in- pil du ct serveur. La remote-dsp-factory peut ensuite
terfaces de contrle. Les interactions de cette page sont tre instancie pour crer des remote-dsp instances, qui
gres avec Javascript. Le service rsultant (interface de peuvent tre lances dans larchitecture audio et visuelle
contrle + glisser/dposer de DSP) a ladresse suivante : choisie, ici FaustLive (Figure 14).
http ://adresseIP :portServiceGlisserDposer/portInterface- Pour tre capable de crer linterface localement, le ser-
Controle (Figure 13). veur renvoie une interface encode en JSON 8 . De cette
manire, la fonction buildUserInterface peut tre recre
!
pour donner limpression quun remote-dsp fonctionne de
!
la mme manire quun dsp local.
De plus, les calculs audio sont redirigs travers une
connexion NetJack. Les donnes audio sont envoyes la
"#$%&#!'(%))*+,!-(#-! "#$%&#!.%+&(%/!*+&#(0-.#!
machine distante qui traite les donnes avant de renvoyer
ses rsultats. Outre le flux audio standard, un port midi est
utilis pour transfrer les valeurs des contrleurs. Lint-
rt de cette solution est de transmettre les buffers audio
et les contrleurs, synchroniss dans la mme connexion.
Dautre part, les chantillons audio peuvent tre encods
12//!3&$/!)-,#!
en employant les diffrents types de donnes audio : float,
integer et audio compress 9 .
Figure 13. Interface HTML avec le service de glis-
ser/dposer

Le port du service de glisser/dposer est configur dans


les prfrences gnrales de FaustLive et il est commun
toutes les applications FAUST. Les interfaces de contrle
ont, elles, chacune un port diffrent, modifiable dans les
options de la fentre.
La raction un glisser/dposer sur linterface distante
suit le mme modle que sur linterface locale. Le code
DSP est dabord envoy FaustLive par une requte HTTP,
POST. Le code est alors compil et lapplication est rem- Figure 14. Compilation et Calcul distribus
place aprs le mcanisme de crossfade. Enfin, linterface
distante est remplace.
libfaustremote utilise la librairie libcurl pour envoyer
des requtes HTTP au serveur de calcul, lui mme mani
4.4. Calcul distribu avec libmicrohttpd.
Pour lagir ses bnfices, FaustLive permet de faire du
Sur chaque fentre de FaustLive, laccs au service de
calcul distance. La compilation ainsi que le calcul audio
calcul distance est simple. Le protocole ZeroConf est
sont redirigs sur la machine distante. La charge du pro-
utilis pour scanner les machines distantes prsentant ce
cesseur local peut ainsi tre rduite.
service. Une liste est construite dynamiquement partir
des machines disponibles. En naviguant dans cette liste,
Sur la machine distante, une application dmarre un
lutilisateur peut ensuite faire basculer son application FAUST
serveur HTTP, offrant le service de calcul distribu. Ce
dune machine lautre trs facilement.
serveur attend des requtes de compilation/calcul.
Du ct du client (FaustLive), une API "proxy" rend
4.5. FaustWeb
transparent la cration dun remote-dsp plutt quun llvm-
dsp local (c.f 2.2). Cette API, libfaustremote, prend soin Pour simplifier laccs la compilation FAUST, un ser-
dtablir la connexion avec le serveur. vice de compilation web a t conu. Il reoit du code
FAUST et renvoie une application ou un plugin pour lar-
La premire tape (la compilation) est excute par la chitecture et la plateforme choisie. Ds lors, linstallation
fonction createRemoteDSPFactory. Le code est envoy au de la distribution complte FAUST nest plus ncessaire.
serveur, qui le compile et cre la "relle" llvm-dsp-factory. Nimporte qui peut dcrire un programme FAUST, len-
La remote-dsp-factory est, pour lutilisateur, une image voyer au serveur puis utiliser le plugin quil aura reu.
de la "vritable" factory. Avant denvoyer le code FAUST,
8 . JavaScript Object Notation est un format de donnes textuelles,
une tape de compilation FAUST-FAUST rsout les dpen- driv de la notation des objets du langage JavaScript.
dances du code ses librairies. De cette manire, le code 9 . laide du codec OPUS : http ://www.opus-codec.org

62
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Ce service est accessible depuis un navigateur mais n- Pour rduire le temps de compilation dun DSP, la sor-
cessite plusieurs requtes. travers FaustLive, lexport tie du compilateur FAUST (le code LLVM IR optimis)
des applications est facilit. Un menu est construit dyna- est enregistre. Lorsquune application est recharge, la
miquement avec les plateformes et les architectures dispo- phase de compilation FAUST du code DSP au code LLVM
nibles, encodes sous forme de JSON . Tandis que luti- IR est alors conomise, ainsi que la phase doptimisation
lisateur fait le choix dexporter son application, le code du code LLVM IR. Pour des programmes couteux, le gain
FAUST correspondant est envoy au serveur. Ce dernier est notable. On peut passer de quelques secondes de com-
vrifie la syntaxe FAUST. Une cl SHA1 unique corres- pilation une excution instantane.
pondant ce DSP est gnre pour faire ensuite les re-
qutes de diffrents binaires. La seconde tape est la com- 4.7. Limites
pilation, utilisant la chane de compilation "statique" rali-
se cot serveur, pour renvoyer enfin lapplication choisie Certains aspects techniques limitent louverture dun
par lutilisateur (Figure 15). Pour raliser les requtes au nombre indfini de fentres FaustLive.
!
service FaustWeb, FaustLive utilise la librairie NetWork Dabord, pour pouvoir synchroniser la recompilation
du framework QT. avec lenregistrement du fichier source, un moniteur est
plac sur le fichier, ce qui consomme des ressources sys-
!"#$%&'()* !"#$%+),* tmes. Selon la plateforme utilise, cette limite est plus ou
moins grande. De plus, il existe une limitation du nombre
de liaisons OSC parallles. Enfin, le nombre de clients
123! JACK est limit.
43$%/#.0! Pour toutes ces raisons, un maximum de soixante ap-
"#$%&'!()%!!
$*$+,$-,#!.$%/#.0! plications FAUST peuvent tre ouvertes paralllement.
5+0.!)(!
.$%/#.0!
5. CONCLUSION
!
89:;! FaustLive runit le confort dun langage interprt au-
<6-7!&%=#! "#$%&%'()%*+!*&!! tonome et lefficacit dun langage compil. FaustLive offre
&(,-)!-.+)(/! actuellement le cycle de dveloppement le plus rapide pour
-2(345#.! ! des applications FAUST, fournissant un outil modulaire
0$#()%*+!*&! pour le prototypage dapplications FAUST. Elle intgre
,+%1,#!-2(345#.! aussi des fonctionnalits avances de calcul distribu et de
&*$!)2#!6-7! contrle distance pour des applications audio temps-rel.
! De plus, FaustLive met disposition, travers sa fonction
?@;!
<5#.<7=()&*$>! dexport, un front-end confortable pour FaustWeb, le ser-
<($'2%)#'),$#! 0*>7%=()%*+!&*$! vice de compilation web.
'2*-#+! Ce projet est open-source et disponible sur SourceForge
A%+($.!&%=#! ($'2%)#'),$#! [3]. Il fonctionne sur Linux, OS X et Windows.

Figure 15. Les tapes de la chane de compilation travers 6. REMERCIEMENTS


FaustLive
Ces dveloppements ont t mens dans le cadre des
projets INEDIT [ANR-12-CORD-0009] et FEVER [ANR-
13-BS02-0008], soutenus par lAgence Nationale pour la
4.6. Concept de session Recherche.

Un concept de session est conserv pour prserver ltat


de lapplication (valeur des paramtres, position sur lcran, 7. REFERENCES
connexions audio, options de compilation, ...). Quand lap-
[1] A. Graef. Functional signal processing with pure and
plication est quitte, la session est enregistre par dfaut
faust using the llvm toolkit. 2011.
pour tre restaure la prochaine excution. Lutilisateur
peut aussi sauvegarder ltat de lapplication complet dans [2] faust2 repository. http ://source-
un "snapshot", enregistr dans un dossier, xxx.tar. forge.net/p/faudiostream /code/ci/faust2/tree/.
Toutes les ressources locales ncessaires (fichiers DSP, [3] faustlive repository. http ://source-
...) sont copies dans le dossier, xxx.tar, rendant indpen- forge.net/p/faudiostream /faustlive/ci/master/tree.
dants les "snapshots" de FaustLive. Les chemins daccs [4] S. Letz, Y. Orlarey, and D Fober. Dynamic compila-
vers les ressources originelles sont utiliss prioritairement. tion of parallel audio applications. 2013.
Cependant, si un fichier source est supprim ou si un "snap-
[5] Y. Orlarey, S. Letz, and D. Fober. Faust : an efficient
shot" est dplac sur une autre machine, les copies doivent
functional approach to dsp programming. 2009.
tre utilises.

63
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

CECILIA 5, LA BOTE OUTILS DU TRAITEMENT


AUDIO-NUMRIQUE

Olivier Blanger
iACT (institut Arts Cultures et Technologies)
Universit de Montral, Facult de Musique

R SUM le dveloppement de Cecilia, en conservant la structure


originale, jusquen 2008. La version officielle tait alors
Le logiciel de traitement sonore Cecilia est une bote
Cecilia 2.5. En 2009, afin de permettre lajout dun cer-
outils pour la manipulation du son, utilise autant en p-
tain nombre de fonctionnalits et une maintenance plus
dagogie quen production musicale. Grce sa panoplie
aise du logiciel, un changement darchitecture sopre et
de modules de traitement originaux et son interface gra-
Cecilia 4 est reconstruit neuf en remplaant TCL par Py-
phique modulaire, Cecilia reprsente un environnement
thon [5], un autre langage de programmation interprt,
idal pour lexploration et la cration sonore. La version
plus moderne, orient-objet et soutenu par une commu-
5 [2], dont le dveloppement a dbut en octobre 2011,
naut trs active. Linterface de Cecilia est compltement
constitue une rcriture complte de linfrastructure du lo-
redessine avec la librairie graphique WxPython [3] et
giciel. Une modernisation qui aura permis lajout de plu-
Csound demeure le langage assurant les services audio
sieurs nouvelles fonctionnalits au logiciel. Cet article se
de lapplication. Cette version sera maintenue et dvelop-
divise en deux sections. Dans un premier temps, seront
pe, par Olivier Blanger et Dominic Thibault, jusquen
illustrs les mcanismes que met en place le logiciel afin
2011, anne o Csound ft remplac par pyo [1], un mo-
de favoriser une exprience de travail efficace et crative.
dule python, cr par Olivier Blanger, ddi au traitement
Nous y retrouverons des outils tels que le grapheur, la lec-
de signal audio. Lutilisation dun module python comme
ture boucle variable de fichiers son, la communication
moteur audio, plutt quun langage de programmation ex-
MIDI 1 et OSC 2 ainsi que la gnration algorithmique
terne tel que Csound, offre certains avantages au niveau
de trajectoires de contrle. Ensuite, sera dtaill lAPI 3
du design du logiciel. Dune part, lintgration du moteur
de Cecilia, qui offre une interface simplifie lutilisa-
audio linterface de contrle est grandement simplifie
teur dsirant dvelopper de nouveaux modules, tout en b-
en ce que les deux existent dans le mme environnement
nficiant de la flexibilit de linterface graphique fournie
de programmation. Pour communiquer avec Csound, les
par lenvironnement. Cecilia 5 est un logiciel gratuit, de
versions antrieures de Cecilia devaient avoir recours soit
sources libres et fonctionnant sur toutes les plates-formes
une traduction pour python de lAPI de Csound, soit au
majeures.
protocole de communication OSC [7]. Ces deux mthodes
imposaient plusieurs contraintes en ce qui concerne le d-
1. INTRODUCTION veloppement de nouveaux paradigmes de contrle du pro-
cessus audio. Avec un module audio ddi au langage py-
Cecilia fut initialement dvelopp, de 1995 1998, par thon, le transfert des donnes de linterface graphique vers
Jean Pich et Alexandre Burton [4] la facult de musique les paramtres du processus sonore seffectue sans inter-
de lUniversit de Montral. Lobjectif initial du projet mdiaire, de faon plus directe que lorsque deux logiciels
tait de pourvoir les studios de composition dune plate- indpendants tentent de communiquer entre eux. Enfin,
forme numrique unifie comme environnement de tra- un langage de programmation orient-objet tel que py-
vail. La structure modulaire du logiciel permettait, lin- thon offre beaucoup plus de flexibilit concernant lcri-
trieur dun environnement unique, deffectuer une multi- ture dalgorithmes audio et de contrle, la gestion de la
tude de tches relies la cration de musiques concrtes. polyphonie ainsi que la manipulation en temps-rel des
La version initiale de Cecilia fut crite en TCL/TK, une paramtres du son. Ce changement majeur dans larchitec-
combinaison constitue dun langage de programmation ture du logiciel a donn naissance Cecilia 5, la version
interprt (TCL) et dune bibliothque graphique (TK), actuelle du logiciel.
permettant le dveloppement rapide dapplications multi-
plateformes. Le moteur audio utilis pour effectuer les Dans les versions prcdentes, Cecilia tait compos de
tches relatives au traitement de signal tait Csound [6], deux lments dinterface distincts. Une premire fentre
un langage de programmation pour la cration sonore d- prsentait un diteur de texte, optimis pour lcriture de
velopp par Barry Vercoe au MIT. Jean Pich a poursuivi programmes Csound, permettant de dvelopper des mo-
1 . Musical Instrument Digital Interface
dules de traitement mme le logiciel. Ensuite, une se-
2 . Open Sound Control conde fentre contenant linterface graphique de jeu, cest-
3 . Application Programming Interface -dire le grapheur, les potentiomtres et plusieurs autres

64
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Figure 1. Fentre principale de linterface graphique de Cecilia 5. On y retrouve diffrentes sections. En haut gauche : le
panneau de transport. Au centre gauche : le panneau de contrle avec les commandes dentre, de sortie et de sauvegarde
des pr-rglages. En bas gauche : la section des menus et boutons. Au centre de linterface : le grapheur o sont dites
les automations de paramtres. Sous le grapheur : la section ddie aux potentiomtres.

outils de contrle, permettait de manipuler le processus les techniques proposes pour moduler les paramtres au
audio en temps rel. Les modules de traitement audio de cours du temps et quelques utilitaires favorisant une exp-
la version 5 tant crit avec le langage python, il a t d- rience crative avec Cecilia.
cid dallger la structure du logiciel en retirant lditeur
de texte. Il existe dj une grande quantit dditeurs de
texte gratuits et multi-plateformes, o le langage python
est automatiquement reconnu, pouvant servir lcriture 2.1. Source sonore
des modules. Olivier Blanger est maintenant le dvelop-
peur principal de Cecilia 5, alors que Jean Pich demeure La porte dentre du logiciel est la source sonore mo-
le pre spirituel du projet. Jean-Michel Dumas a grande- difier. Traditionnellement, Cecilia tait conu pour traiter
ment contribu la traduction des modules Csound (de la un fichier son lu en boucle par lapplication. Au fil des
version 4) en modules pyo pour la version 5. versions, la lecture en boucle du son a t grandement bo-
nifie, au point de devenir un lment important en tant
que traitement audio dans le module. Divers modes de jeu,
2. UTILISATION DU LOGICIEL
permettant notamment laccs aux signaux provenant de
la carte de son, ont aussi t ajouts. Ces fonctionnalits,
Lobjectif de base de lapplication consiste fournir un
accessibles en cliquant sur licne la droite du menu,
environnement simple et efficace afin dexplorer les ef-
font de Cecilia un environnement de traitement en temps
fets audio-numriques sur le son. Une bibliothque de mo-
rel simple dapproche et versatile. La configuration du
dules, couvrant un large ventail de traitements, est four-
mode de jeu et le choix de la source sonore seffectue
nie avec le logiciel. Lutilisateur, aprs avoir charg un son
laide de la section Input du panneau de contrle.
dans le module choisi, peut manipuler et automatiser les
diffrents paramtres du processus laide des lments
dinterface graphique. Diffrentes fonctions denregistre-
ment permettent de sauvegarder le rsultat sonore sur le
disque dur.
Dans cette section seront dcrits les principaux l-
ments de linterface graphique (Figure 1) et les possibi-
lits de cration quils offrent lutilisateur. Nous y re-
Figure 2. Panneau de configuration de la source sonore.
trouverons les diffrents types de sources sonores trai-
ter, les modes denregistrement du rendu sur le disque dur,

65
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

2.1.1. Lecteur de son en boucle 2.1.4. mode 3 : Entre micro et lecteur en boucle

Lorsquun son est charg en mmoire dans le lecteur, Le troisime mode de jeu (icne de micro accompagn
la fentre de contrle de la boucle peut tre affiche en du chiffre 1) permet lutilisateur denregistrer le signal
cliquant sur le petit triangle horizontal, dernier icne de la dentre dans la mmoire du lecteur en boucle. La dure
bote doutils droite du menu (Figure 2). de la mmoire est spcifie dans la fentre de contrle
de la boucle. Ce mode est utile pour manipuler un signal
rel, qui na pas t pralablement enregistr sur le disque
dur, tout en bnficiant des fonctionnalits du lecteur en
boucle.

2.1.5. mode 4 : Entre micro continue et lecteur en boucle


Le dernier mode (icne de micro entour de flches cir-
culaires) est une variante du mode prcdent, o la m-
moire du lecteur en boucle est constamment renouvele
par le signal rel en entre de la carte de son. Pour viter
les artefacts causs par le bris de la forme donde au croi-
sement des pointeurs de lecture et dcriture, deux espaces-
mmoire sont utiliss. La lecture et lcriture alternent,
hors phase, entre les deux mmoires. Le lecteur en boucle
manipule donc un matriau en constante volution.

Figure 3. Fentre de contrle du lecteur en boucle. 2.2. Sortie audio


La configuration du signal de sortie seffectue via la
Cette fentre permet de spcifier les paramtres de la section Output du panneau de contrle (Figure 4). On
lecture, cest--dire le point de dpart de la boucle, sa du- y retrouve, entre autres, le nom du fichier son enregis-
re, le temps de fondu-enchan aux points de bouclage, trer, la dure totale de la performance (directement relie
le volume du signal ainsi quun facteur de transposition aux automations du grapheur), un contrle de volume glo-
en demi-tons. Tous ces paramtres peuvent tre asservis bal ainsi quun menu permettant de spcifier le nombre
des contrleurs externes, via le protocole MIDI ou le pro- de canaux audio de sortie. Cette section est toujours pr-
tocole OSC, et enregistrs dans le grapheur en tant quau- sente, peu importe le module choisi pour traiter le signal.
tomations. Les caractristiques gnrales du signal, telles que la fr-
quence dchantillonnage, la quantification, le choix des
interfaces audio et MIDI ou le format audio dsir peuvent
2.1.2. mode 1 : Fichier son tre modifies par le biais de la fentre de prfrences du
logiciel.
Le mode de jeu principal du logiciel (icne de fichier
sonore) consiste charger un fichier son, laide du menu
de la section Input , dans la mmoire du lecteur. La lec-
ture de ce son servira de signal source au traitement mis
en place par le module choisi. Pour ouvrir un fichier son,
il suffit de cliquer sur le menu, de naviguer dans la hirar-
chie de dossiers laide du dialogue prsent, puis de s-
lectionner le fichier dsir. En plus du fichier slectionn,
tous les fichiers sons contenus dans le mme dossier vien-
dront peupler le menu, offrant ainsi un accs rapide une
bibliothque de sources sonores. On affiche le contenu en
cliquant sur la petite flche droite du menu.
Figure 4. Panneau de configuration de la sortie audio.

2.1.3. mode 2 : Entre micro Divers modes dcoute et de sauvegarde sont dispo-
nibles pour rendre le travail dans lenvironnement effi-
Le deuxime mode de jeu (icne de micro) permet duti- cace.
liser le signal en provenance des entres de la carte de son
comme source sonore modifier. Configur ainsi, Cecilia
2.2.1. Panneau de transport
devient un environnement de traitement en temps rel la
fois simple dutilisation et possdant des contrles sophis- Le panneau de transport (Figure 5) est situ dans le coin
tiqus. suprieur gauche de linterface. Il permet dactiver la per-

66
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

formance, laide du bouton play, pour la dure totale des paramtres dont lautomation est active se verra sou-
spcifie dans la section Ouptut . Le bouton denre- mis la trajectoire qui lui est associe dans le grapheur.
gistrement, en plus dactiver la performance, enregistre en
temps rel le signal de sortie sur le disque dur. Lorsque
la performance est lance en temps rel, le curseur situ
au-dessus du grapheur entreprendra sa course et toutes
les manipulations effectues dans linterface (menus, bou-
tons, potentiomtres, lignes de graphe) auront des rper-
cutions immdiates sur le signal de sortie.

Figure 5. Panneau de transport.

Figure 6. Gestion de lvolution des paramtres au cours


2.2.2. criture sur le disque du temps.
Pour les performances de longues dures, o lvolu-
tion des paramtres est entirement configure mme le La barre doutils situ au-dessus du grapheur est divi-
grapheur, il y a possibilit de sauvegarder le rsultat so- se en trois sections :
nore, en temps diffr, dans un fichier sur le disque dur.
1. La section de gauche (Figure 7) offre les outils pour
Cecilia calculera alors le signal le plus vite possible, en
la gestion des trajectoires dans le grapheur. On y re-
fonction de la puissance du processeur. Cette fonction est
trouve le menu de slection, la sauvegarde et lou-
accessible sous le menu Action Bounce to Disk.
verture de fichier, un bouton de r-initialisation ainsi
quun commutateur de visibilit.
2.2.3. Exportation par lot
Plusieurs fichiers sonores peuvent tre crs automa-
tiquement avec les fonctions dexportation par lot. Deux
mthodes dexportation sont disponibles. La premire, ac- Figure 7. Gestion des trajectoires du grapheur.
cessible sous le menu Action Batch Processing on Pre-
set Sequence, permet dappliquer tous les pr-rglages en-
2. La section du centre (Figure 8) permet la slection
registrs (voir section 2.4.2), un par fichier gnr, sur le
des outils de manipulation graphique. Le pointeur
fichier sonore courant. Cette fonction est trs utile pour
permet de dplacer, slectionner et crer des points
crer une squence de sonorits ayant une source com-
sur une trajectoire. Le crayon permet de dessiner
mune. La seconde mthode, active via Action Batch
des courbes en mode main libre . La loupe per-
Processing on Sound Folder, permet dappliquer le pro-
met dagrandir une section du grapheur afin def-
cessus courant sur tous les sons chargs dans le menu,
fectuer des manipulations dtailles sur une portion
avec option dajuster automatiquement la dure des sons
de trajectoire. Enfin, en mode agrandi, la main per-
gnrs sur la dure des sons originaux. Cette fonction est
met de dplacer la rgion visible du grapheur.
particulirement utile lorsque plusieurs sons doivent tre
traits de faon similaire.

2.3. Modulation des paramtres au cours du temps


Une des grandes forces de Cecilia rside dans les diff- Figure 8. Outils de manipulation du grapheur.
rents paradigmes offerts pour la gnration de trajectoires
de paramtres. Cette section exposera les principaux ou- 3. La section de droite (Figure 9) donne accs divers
tils permettant de crer des traitements audio originaux et algorithmes de gnration ou de manipulation de
dynamiques. trajectoire. On y retrouve des algorithmes de gn-
ration alatoire (voir section 2.3.2), des gnrateurs
2.3.1. Le grapheur de formes donde diverses ainsi quune srie dal-
gorithmes de manipulation de trajectoire. Ces algo-
Le grapheur (Figure 6) est llment central de lappli- rithmes permettent notamment de compresser (ou
cation. Tous les paramtres continus (potentiomtres in- de dilater) un groupe de points, dinterpoler entre
clus) y sont reprsents sous la forme dune ligne de cou- deux points ou dajouter des dviations alatoires.
leur diffrente. Lorsque la performance est lance, chacun

67
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

gnation de canaux OSC ou on clique avec le bouton droit


pour lancer la dtection automatise de contrleur MIDI
(fonction midi learn).
Figure 9. Gnrateurs et modificateurs de trajectoire.

2.3.2. Les gnrateurs algorithmiques


Les gnrateurs algorithmiques, dont les contrles sont
illustrs sur la figure 10, offre lutilisateur une mthode Figure 11. Assignation de contrleurs externes aux poten-
simple et puissante pour crer des trajectoires alatoires tiomtres.
aux polarits influences par lalgorithme choisi. Un choix
de courbes, telles que uniforme, gaussienne, weibull et
beta, ainsi que des algorithmes de gnration musicale, 2.4. Les utilitaires
comme la marche alatoire, les rptitions et les segments
boucls, sont disponibles via le premier menu de la fe- Parmi les fonctionnalits prsentes dans le logiciel, il
ntre. Deux types dinterpolation sont offerts dans le se- y en a deux qui permettent lutilisateur de personnaliser
cond menu. Il y a linterpolation linaire, o chacun des les processus appliqus au signal source. Dabord, lon-
points est reli au suivant par une ligne droite, et le sample glet Post-Processing du panneau de contrle expose
and hold, o la valeur dun point est tenue jusquau point une interface o des effets supplmentaires peuvent tre
suivant. Viennent ensuite une srie de potentiomtres per- appliqus sur le signal audio produit par le module. En-
mettant de spcifier la quantit de points gnrer, les ba- suite, un systme de pr-rglages permet de sauvegarder
lises minimum et maximum lintrieur desquelles la g- indpendamment plusieurs tats du module et de les rap-
nration sera limite ainsi que les paramtres de contrle peler volont.
lis lalgorithme slectionn. Les trajectoires gnres
constituent un excellent point de dpart pour une param- 2.4.1. Post-traitement
trisation dynamique dun processus musical.
Le panneau de post-traitement met la disposition de
lutilisateur un certain nombre deffets, aux contrles sim-
plifis, la manire des plugins dans un squenceur. Ces
effets, entirement automatisables dans le grapheur, sont
appliqus en srie sur le signal produit par le module cou-
rant. Ce systme permet notamment de personnaliser un
module en lui ajoutant une ou plusieurs couches de traite-
ments supplmentaires. On y retrouve un ventail deffets
classiques, tels que la rverbration, le filtrage, la distor-
sion, lharmonisation, la compression, etc.

Figure 10. Gnration algorithmique de trajectoires.

2.3.3. Automation de paramtres


Tous les paramtres continus, quils appartiennent au
module lui-mme, au lecteur de son en boucle ou aux ef-
fets post-traitement (voir section 2.4.1), peuvent tre as-
servis un contrleur externe via le protocole MIDI ou le
protocole OSC. La figure 11 illustre lassignation de ca-
naux OSC aux frquences de coupure de deux filtres ainsi
que lassignation dun contrleur MIDI sur le paramtre
de mixage des filtres. Les connexions sont indiques sur
le fond du potentiomtre et sauvegardes mme le mo-
dule lorsque celui-ci est enregistr. On double-clique sur Figure 12. Panneau des traitements post-module.
ltiquette du potentiomtre pour ouvrir la fentre dassi-

68
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

2.4.2. Pr-rglages class Module(BaseModule):


def __init__(self):
BaseModule.__init__(self)
La section Presets (Figure 13) permet de sauvegar- # traitement sur le signal...
der ltat du module en plusieurs moments diffrents afin
de pouvoir naviguer rapidement dun tat lautre. Ces
multiples pr-rglages sont sauvegards mme le mo- Comme le fichier sera excut lintrieur de lenvi-
dule (cest--dire le fichier portant lextension c5 , o ronnement Cecilia, il nest pas ncessaire dimporter pyo
est dfinit la chane de traitement de signal ainsi que lin- ou la classe BaseModule , laquelle on fait rfrence
terface graphique correspondante) lorsque ce dernier est en tant que classe parente. Ces composantes tant dj im-
enregistr. On navigue dun pr-rglage lautre en les portes par Cecilia, elles seront disponibles lexcution
slectionnant dans le menu droulant. Ce systme fait en du fichier.
sorte quun seul module Cecilia peut devenir un environ-
nement de travail cratif autonome et complet. Un proces-
3.1.2. Sortie audio du module
sus sonore peut alors tre dvelopp en plusieurs tapes,
chacune de ces tapes ayant un rle spcifique jouer dans Afin dacheminer le signal audio du processus lap-
une construction musicale donne. Tout ce processus est plication, self.out doit absolument tre le nom de va-
sauvegard dans un seul fichier texte, entirement portable riable de lobjet la toute fin de la chane de traitement.
dun systme dexploitation un autre. Cecilia rcupre cette variable pour faire suivre le signal
audio vers la section post-traitement et ultimement, la
sortie audio. Un example typique de dclaration de la va-
riable self.out ressemblerait ceci :

self.out = Mix(self.boo, self.nchnls, self.env)

Figure 13. Panneau de gestion des pr-rglages.


Le signal modifi, self.boo , est remix en fonction
du nombre de canaux spcifi par linterface de Cecilia (
self.nchnls ), puis pondr en amplitude par la ligne de
3. CRITURE DE MODULES CECILIA graphe self.env .
Depuis la version 5 de Cecilia, un module nest rien
dautre quun simple script python, contenant une classe 3.1.3. Attributs et mthodes publiques de la classe Ba-
o est dcrite la chane de traitement de signal et une liste seModule
dlments dinterface graphique afficher. En plus de la
librairie de modules fournis avec lapplication, des mo- Certaines variables publiques, dfinies linitialisation
dules originaux peuvent tre dvelopps avec un simple de la classe BaseModule , contiennent des informa-
diteur de texte et ouverts directement par Cecilia. LAPI tions importantes sur la configuration courante de Cecilia
de Cecilia est accessible mme le logiciel, via le menu et peuvent tre utilises tout moment dans la gestion du
Help Show API Documentation. Il contient principale- processus audio. De mme, la classe BaseModule dfi-
ment deux sections. La premire concerne la classe audio nit un certain nombre de mthodes utilitaires qui peuvent
o est implment le processus sonore. La seconde section tre utilises dans la composition de la chane de traite-
dcrit les diffrents outils graphiques disponibles pour la ments du module.
construction de linterface.
Principaux attributs publics :
3.1. La classe de traitement audio self.sr : Frquence dchantillonnage de Cecilia.
Un module Cecilia doit absolument contenir une classe self.nchnls : Nombre de canaux audio en sortie.
nomme Module , dans laquelle sera dveloppe la self.totalTime : Dure totale de la performance.
chane de traitements sonores. Cette classe, pour fonction- Principales mthodes publiques :
ner correctement dans lenvironnement Cecilia, doit hri-
ter de la classe BaseModule , dfinie mme le code self.addFilein(name) : Charge un son dans un es-
source de Cecilia. Cest la classe BaseModule qui se pace mmoire.
charge de crer, linterne, les liens entre linterface gra- self.addSampler(name, pitch, amp) : Gnre un
phique, les contrleurs externes et le processus audio lui- lecteur de son en boucle.
mme. self.getSamplerDur(name) : Retourne la dure, en
secondes, du son charg dans un lecteur.
3.1.1. Initialisation
Le lecteur est invit consulter la documentation de
La classe audio dun module doit imprativement tre Cecilia pour obtenir la liste complte des attributs et m-
dclare comme ceci : thodes disponibles.

69
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

3.1.4. Documentation du module class Module(BaseModule):


"""
Les informations pertinentes une bonne comprhen- Modules documentation

sion du comportement dun module peuvent tre donnes """


dans le __doc__ string de la classe Module . Luti- def __init__(self):
BaseModule.__init__(self)
lisateur de Cecilia peut, tout moment, consulter la do- self.snd = self.addSampler("snd")
cumentation du module via la commande menu Help self.pre = Sig(self.drv, mul=10, add=1)
self.clp = Clip(self.snd*self.pre, -.99, .99)
Show module info. self.flt = Biquad(self.clp, self.lp, self.q)
self.boo = self.flt * 0.2
self.out = Mix(self.boo, self.nchnls, self.env)
3.2. Dclaration des lments dinterface
Interface = [
Le fichier Cecilia (portant lextension c5 ), en plus csampler(name="snd"),
de la classe audio, doit spcifier la liste des contrles gra- cgraph(name="env", label="Overall Amplitude",
func=[(0,1),(1,1)], col="blue1"),
phiques ncessaires au bon fonctionnement du module. cslider(name="drv", label="Drive", min=0, max=1,
Cette liste doit imprativement porter le nom Interface init=0.5, col="purple1"),
cslider(name="lp", label="LP F", min=20, max=15000,
et tre constitue dappels de fonctions propres len- rel="log", init=5000, unit="Hz", col="green1"),
vironnement Cecilia. Voici un exemple o est dclar un cslider(name="q", label="LP Q", min=0.5, max=5,
init=1, col="green2"),
lecteur de son, une ligne de graphe, trois potentiomtres cpoly()
et un contrle de la polyphonie : ]

Interface = [
csampler(name="snd"),
cgraph(name="env", label="Overall Amplitude", 4. CONCLUSION
func=[(0,1),(1,1)], col="blue1"),
cslider(name="drv", label="Drive", min=0, max=1,
init=0.5, col="purple1"),
Grce son large ventail de modules de traitement de
cslider(name="lp", label="LP F", min=20, max=15000, signal et son interface graphique simple et versatile, Ce-
rel="log", init=5000, unit="Hz", col="green1"),
cslider(name="q", label="LP Q", min=0.5, max=5,
cilia constitue un environnement de travail idal pour lex-
init=1, col="green2"), ploration et la production sonore. Les nouveaux modes de
cpoly()
]
jeu, permettant dinjecter dans le module le signal en pro-
venance de la carte de son, allis au contrle des para-
Ces quelques lignes de code suffisent produire lin- mtres via des interfaces externes (MIDI ou OSC), font
terface graphique suivante : de Cecilia un environnement de traitement en temps rel
aux multiples possibilits. La simplicit de lAPI de Ce-
cilia en fait un outil pdagogique motivant pour lappren-
tissage de la programmation musicale et devrait favoriser,
dans un futur rapproch, la cration de modules deffets
audio-numrique originaux.

5. REFERENCES

[1] Blanger, O., La programmation audio avec Python


, GNU Linux Magazine France, ditions diamond,
vol. 157, France, 2013.
[2] Cecilia5, Projet Cecilia5 sur googlecode ,
http ://code.google.com/p/cecilia5/, (2011-2014).
[3] Dunn, R., Rappin, N., wxPython in action , Man-
ning publications, Greenwich, CT, 2006.
[4] Pich, J., Burton, A., Cecilia : A Production In-
Figure 14. Interface graphique (les outils de manipulation terface to Csound , Computer Music Journal, MIT
du grapheur sont cachs sur cette figure). Press, 1998, Vol 22, numro 2, p. 5255.
La documentation de Cecilia fournit la liste complte [5] Python S. F., Python programming language offi-
des fonctions graphiques disponibles et de llment din- cial website , http ://python.org/, (1990-2013).
terface quelles permettent de crer. [6] Vercoe, B., Ellis, D., Real-time csound : Software
synthesis with sensing and control , International
3.3. Exemple computer music conference, 1990, p. 209211, Glas-
gow.
Le code suivant, bas sur linterface graphique gnre
[7] Wright, M., et al., OpenSound Control : State of the
la section prcdente, illustre la cration dun module de
Art 2003 , Conference on New Interfaces for Musical
distorsion du signal agrment dun filtre passe-bas rso-
Expression, 2003, Montral.
nant.

70
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

UNE NOUVELLE APPROCHE DES OBJETS GRAPHIQUES ET


INTERFACES UTILISATEURS DANS PURE DATA

Pierre Guillot
CICM - EA1572,
Universit
Paris 8, MSH Paris Nord,
Labex Arts H2H
Guillotpierre6@gmail.com

RSUM Grce lobjet hoa.scope~, par exemple, il est possible


de visualiser graphiquement les harmoniques circulaires
Cet article prsente le CICM Wrapper, une interface
et ainsi de faciliter la comprhension du modle
de programmation facilitant la cration dobjets
ambisonique (Figure 1). Ces interfaces sont relativement
graphiques et dinterfaces utilisateurs pour le logiciel
complexes laborer de par la grande varit des
Pure Data ainsi que la bibliothque dobjets qui en
interactions proposes laquelle se rajoutent des
dcoule. Nous revenons sur les problmes de
reprsentations quil nest aisment possible de raliser
programmation lis aux mises en uvre dinterfaces
quen utilisant des systmes de calques7 et des oprations
graphiques utilisateurs rencontrs dans Pure Data afin
comme des rotations et translations matricielles. En
de prciser les choix qui ont conduit la cration dune
rsum, la cration de ces interfaces ncessite que les
interface de programmation ainsi que les solutions que
plateformes logicielles auxquelles elles sont destines
nous proposons. Enfin nous prsentons en dtail les
disposent au sein de leurs kits de dveloppement logiciel
objets de la bibliothque et leurs nouvelles
de nombreux outils ddis la mise en uvre
fonctionnalits pour mettre en vidence les
dinterfaces graphiques utilisateurs.
amliorations offertes par notre approche.

1. INTRODUCTION

Depuis 2012, le CICM1 a dvelopp une bibliothque


de mise en espace du son grce aux techniques
ambisoniques dans le cadre des projets du Labex Arts
H2H de lUniversit Paris 82. Ces projets, orients vers
une approche artistique, ont pour objectif dexplorer les
possibilits musicales offertes par ces techniques et de
rendre accessible aux musiciens et compositeurs les
concepts acoustiques et mathmatiques sous-jacents pour
faire merger de nouvelles applications musicales. La
bibliothque HOA3, qui en rsulte, offre un ensemble de
Figure 1. Lobjet hoa.scope~ reprsente le champ
classes C++ desquelles dcoulent des mises en uvre
sonore sous la forme dune somme pondre
pour des logiciels ddition musicale et de synthse
dharmoniques circulaire.
sonore largement usits par les musiciens, notamment
sous forme dobjets pour les logiciels Max4 et Pure Data5 Alors que la mise en uvre des interfaces pour le
[1][2]. logiciel Max a t relativement aise raliser, grce
un SDK8 trs bien adapt aux besoins de la bibliothque
Lun des lments essentiels de ces mises en uvre a HOA - tant pour la mise en place de traitements pour le
t la cration dinterfaces graphiques utilisateurs multicanal que pour la cration dinterfaces graphiques,
permettant de rpondre aux enjeux didactiques de la de nombreuses complications sont apparues lors des
bibliothque et de faciliter la prise en main des mises en uvre pour le logiciel Pure Data. Ces
oprations dans le domaine des harmoniques circulaires6. difficults ncessitent de repenser la structure et le
fonctionnement gnral des objets graphiques et des
1
objets de traitement du signal dans Pure Data [3]. Notons
Centre de recherche Informatique et Cration Musicale.
2
Les projets sont La spatialisation du son pour le musicien, par
nanmoins quil tait dj possible dutiliser certains
le musicien et Des interfaces pour la mise en espace du son et traitements de la bibliothque HOA dans Pure Data
HOA, 3D". grce la version FAUST qui permet de compiler des
3
http://www.mshparisnord.fr/hoalibrary/.
4
http://cycling74.com/.
5
http://msp.ucsd.edu/software.html/. 7
Systme de calques que nous pouvons trouver dans les logiciels
6
Les harmoniques circulaires sont des fonctions priodiques de dessin.
8
utilises en ambisonie pour reprsenter lespace. Software development kit ou kit de dveloppement logiciel.

71
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

traitements pour de multiples plateformes logicielles, rapidement encombrer les codes et rendre difficile leur
cependant cette version est plus adapte une utilisation lecture. Bien quil nous paraisse prfrable de ne pas se
fixe quaux exprimentations9 que nous souhaitons servir de ce langage au sein du code dun objet, son
raliser avec la version HOA spcifique Pure Data. utilisation semble invitable, du moins dans une
Afin de rpondre ces contraintes et de faciliter la mise premire approche.
en uvre des objets graphiques, nous avons ralis une
bibliothque en C et Tcl/Tk10 sous la forme dune API11 : Lun des lments gnants de ce langage dans notre
le CICM Wrapper12. Cet ensemble de codes permet de contexte est le systme de tag. Il est, en effet, possible
proposer de nouvelles fonctionnalits et de faciliter la dattribuer des noms de rfrence aux lments dessins
mise en uvre dobjets. Loin dtre restreinte notre permettant par la suite de pouvoir les modifier ou les
contexte dinterfaces pour la spatialisation ambisonique supprimer, oprations ncessaires dans toute mise en
et nos problmatiques initiales, ce travail sest ouvert uvre. Ainsi, cette proprit du langage se rapproche des
de nombreuses utilisations et a permis notamment de systmes de calques, que nous avons suggr
raliser un ensemble dinterfaces graphiques dans Pure prcdemment. Cependant, la formulation nest ici pas
Data au fort potentiel ergonomique. des plus adaptes. Il est souvent ncessaire de dfinir des
noms spcifiques certains lments, des noms gnraux
Dans cet article, nous revenons, dans un premier des groupes dlments et un nom global lensemble
temps, sur les problmes que nous avons rencontrs lors des lments dun mme objet ce qui complexifie le
de la mise en uvre dobjets dans Pure Data et code. Notons encore qutant donn que ces noms ont un
prsentons par la suite les solutions que nous proposons champ daction pour lensemble dun canvas, il faut que
via le CICM Wrapper. Il sagit de permettre aux les noms contiennent un lment unique relatif chaque
utilisateurs de comprendre les modifications opres par instance dun objet afin que les changements ne
notre approche et les changements par rapports aux sappliquent qu un objet spcifique et non lensemble
prcdentes interfaces graphiques. Nous esprons ainsi des objets dune mme classe qui se trouvent dans ce
offrir aux dveloppeurs la possibilit de prendre en main canvas.
cette API, afin quils puissent offrir de nouveaux outils
qui nous lesprons rpondront aux besoins de la
communaut dutilisateurs de Pure Data [4].

2. LES DIFFICULTES DE PROGRAMMATION


DOBJETS EXTERNES

Lors de la mise en uvre des interfaces graphiques


utilisateurs dans Pure Data, nous avons rencontr de
nombreuses difficults. Il nous est impossible
dnumrer lensemble des fonctionnalits et approches Figure 2. Exemple concret o le dessin peut sortir
qui selon nous posent problme; de ce fait nous des limites dun objet dans Pure Data avec lobjet
prsentons celles qui nous semblent les plus array.
contraignantes.
Une autre contrainte rencontre rside dans la
Tcl et Tk sont dans Pure Data le langage et les outils particularit de Pure Data de devoir dessiner directement
qui grent les interfaces graphiques et les interactions dans le canvas. Bien que le programmeur dfinisse des
avec lutilisateur par envoi dinstructions sous forme de limites son objet (permettant notamment dtre notifi
scripts. Ainsi, ces scripts doivent tre rcrits dans lorsque lutilisateur clique ou se dplace dans lobjet), il
chaque objet pour chaque nouvelle instruction, comme le lui est possible de dessiner en dehors de celles-ci (Figure
dessin dun rectangle ou la rcupration de la position du 2). Ce problme nest que minime pour des interfaces
curseur de la souris. tant un langage interprt, cette graphiques simples tels quun objet bang ou un objet
pratique est trs sujette aux erreurs de programmation toggle mais ds lors que linterface se complexifie, il
car celles-ci ne sont pas rvles lors de la compilation peut devenir ncessaire de tronquer les figures dessines
des objets. De plus, la syntaxe expansive peut trs dans les limites de lobjet.

9
Le langage FAUST ne permet pas de mettre en uvre des objets Dans lobjet hoa.map, par exemple, il est possible de
avec un nombre de canaux dynamiques ou des interfaces graphiques, il dplacer des cercles, reprsentant des sources sonores,
est ainsi peu adapt une phase dexprimentation dans ce contexte de au del des bordures de lobjet parce que linterface ne
lambisonie bien quoffrant des avantages certains tant sur le plan du
dploiement multi-plateforme que sur celui des optimisations.
reprsente quune partie focalise de lespace
10
Tcl (Tool Command Language) est un langage de dinteraction. Dans un tel cas, il est ncessaire dans le
programmation et Tk est une bibliothque logicielle pour la cration code de vrifier si les cercles sont dans les limites ou non
dinterfaces graphiques, http://www.tcl.tk/. de la bote afin de les dessiner ou de les effacer (Figure
11
Application programming interface ou interface de
programmation
3). Cette opration se complexifie lorsque le cercle
12
Le CICM Wrapper est disponible sur le rpertoire Git du CICM, chevauche les limites o lutilisateur est en attente dun
https://github.com/CICM/CicmWrapper.

72
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

cercle partiellement cach ; or cette opration est La cration dune fentre de proprits nous a sembl
complexe mettre en uvre, ncessite de nombreux aussi tre un problme rcurrent. Il est, en effet,
calculs et amne immanquablement un manque de clart ncessaire de raliser une nouvelle interface en Tcl/Tk
dans le code. pour chaque objet affichant les diffrentes valeurs des
proprits telles que la taille de lobjet, la police ou
encore les couleurs. A cela, il faut ajouter une srie de
mthodes permettant de recevoir et envoyer ces valeurs
afin de communiquer entre lobjet et la fentre de
proprits. De plus, les fentres de proprits ne diffrent
dun objet un autre que par leur nombre, mais les types
de variables (donnes numriques ou donnes textuelles)
et leurs reprsentation (zone de texte, slecteur de
couleur, bote nombre, etc.) se retrouvent dun objet un
autre. Ainsi, cette opration est, encore ici, redondante et
ne fait que diminuer la clart du code. Il nous aurait donc
sembl prfrable de pouvoir gnrer automatiquement
cette fentre de proprit, sans avoir ncessairement
rcrire lensemble du script, et d'accder et modifier ces
Figure 3. Lobjet hoa.map o une source sonore, valeurs exclusivement partir du code source C de
reprsente par le cercle rouge, est dplace en lobjet. Notons encore que ces proprits sont, dans les
dehors des limites de lobjet. usages, des variables que lutilisateur souhaite
sauvegarder et retrouver la mme valeur louverture
Enfin une dernire caractristique drangeante, lie dun patch. L encore, il revient au programmeur de
au dessin dans Pure Data, est le fait que le programmeur raliser la sauvegarde des proprits lenregistrement
doive lui mme dessiner le contour de sa bote ainsi que du patch et leur rcupration et initialisation
les entres et les sorties alors que les canvas dfinissent louverture. En somme, le programmeur peut, ici aussi,
quel endroit lutilisateur doit cliquer afin de crer des souhaiter faire appel des fonctions usuelles, tel que
lignes et de raccorder les objets. En somme, il revient au proposes dans le systme dattributs prsent dans le
programmeur de redfinir cette formule, qui rpond en SDK du logiciel Max.
grande partie de fins rajustements, permettant de
calculer lemplacement des entres et sorties afin de les De manire plus gnrale, un ensemble de fonctions
dessiner aux endroits quil convient. Opration ou doutils usuels, pouvant grandement faciliter la
redondante qui, l encore, complexifie le code. cration dobjets dans Pure Data, nous semblait manquer
[4]. Le prsent contexte ne permet pas, comme nous
Sur le plan des interactions, lAPI de Pure Data est lavons dit, de tous les numrer mais nous nous
encore ici relativement restreignant. Les canvas sont intressons plus particulirement deux dentre eux.
rattachs via Tcl/Tk un certain nombre dvnements Dune part la gestion des fonctions du traitement du
desquels ils reoivent des informations, comme les signal qui devient complexe mettre en uvre ds lors
coordonnes de la souris lors de son dplacement ou les que lon souhaite un nombre dentres et de sorties
touches du clavier actives, quils renvoient par la suite dynamique ou lorsque les vecteurs dentres et sorties
aux objets lorsque ceux-ci possdent les mthodes doivent tre diffrents (afin de raliser des traitements du
adquates. Larchitecture peut sembler tout fait valable signal out-of-place) et dautre part, un systme de type
mais le problme rside dans le manque de varit des proxy pour les entres permettant, par exemple, davoir
vnements auxquels un objet peut tre rattach. Ceux-ci plusieurs entres pouvant recevoir tous types de donnes
sont seulement au nombre de deux pour les vnements mais offrant la possibilit dobtenir lindex de lentre
lis la souris, son dplacement et le clic de la souris par laquelle chaque message arrive.
potentiellement associs deux touches : Alt et Shift.
Dans lobjet hoa.map, le comportement de lobjet diffre
non seulement selon la combinaison des touches mais 3. RESOLUTION DES PROBLEMES
offre, de plus, la possibilit de faire apparatre un menu Notre travail a t orient par certaines ncessits.
contextuel lorsque lutilisateur effectue un clic droit sur Cette bibliothque se doit de fonctionner sur lensemble
linterface ; or cet vnement est exclusivement rattach des systmes dexploitations auxquels est destin Pure
au menu contextuel natif de Pure Data (permettant Data notamment Linux, Mac OS et Windows, cest
d'accder laide ou aux proprits de lobjet) ainsi, il pourquoi notre choix sest trs rapidement port sur
est impossible den tre notifi et de modifier ce lutilisation seule des dpendances internes Pure Data.
comportement. Aussi, il nous a trs rapidement sembl
Ainsi, il nous a paru prfrable, malgr les problmes
que la varit des vnements auxquels nous avons accs
rencontrs, de proposer une version utilisant uniquement
dans Pure Data est trop limite en comparaison de
Tcl/Tk. Il sagissait aussi de ne pas limiter les
lensemble des vnements usuellement offerts dans les
possibilits de programmation donc de laisser ouverte
interfaces utilisateurs [5]. lutilisation des fonctions natives et aussi de pouvoir tre

73
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

facilement intgr Pure Data ou Pure Data Extended.


Enfin, nous avons tent de nous rapprocher au maximum
de lAPI du logiciel Max afin de faciliter par la suite le
passage dun objet Max au logiciel Pure Data et
inversement.

La premire approche employe utilisait la structure


dobjet graphique aujourdhui gnralement rpandue et
qui se trouve dans les objets graphiques natifs de Pure
Data et de tenter par la suite de contourner et rsoudre
Figure 4. Reprsentation du CICM Wrapper dans
les problmes. Cependant, cette approche est une
le processus de cration dun objet Pure Data ou
impasse, il est, en effet, impossible dtre notifi de
Max.
toutes les interactions ralises sur lobjet et rogner les
dessins dans les objets [6] reste trs compliqu raliser. Il a fallu tendre la structure de classe dobjet native
De plus, cette approche engendre le dveloppement dun de Pure Data, structure dfinissant un type dobjet, afin
code source trs complexe, rempli dexceptions doffrir les outils ncessaires nos attentes. A
impliquant de nombreux problmes, notamment sur la linstanciation dune nouvelle classe dobjet, qui se
potentielle rutilisation et relecture du code. ralise de manire trs similaire ce que nous pouvons
trouver dans lAPI de Max, nous dfinissons dune part
La solution retenue est apparue en tudiant les codes si lobjet est de type graphique et/ou traitement du signal
sources des objets tels que entry ou popup13. Bien que afin dinitialiser la structure des objets selon leurs
leurs mises en uvre ne semblent pas optimales au fonctionnalit et dautre part les mthodes de lobjet,
premier abord - de nombreuses difficults compliquent nous permettant alors dinitialiser un certains nombre de
l'utilisation de ces objets - lapproche qui consiste crer fonctions enveloppant le fonctionnement interne de
des widgets via Tcl/Tk dans le patch, comme un menu lobjet pour ne laisser transparatre au programmeur que
contextuel ou champ de saisie textuel, nous a sembl ce qui nous semble ncessaire.
pouvoir offrir une solution nos problmes notamment
par le fait quil est possible dtre rattach lensemble
des vnements utilisateurs sans passer par le canvas.
Notre solution consiste donc crer un widget de type
fentre dans lequel nous crons une nouvelle instance Figure 5 Portion du code de lobjet c.bang
dun canvas, cet outil peut alors tre vu comme une prsentant la syntaxe du CICM Wrapper,
fentre au contour invisible possdant son propre canvas similaire celle utilise dans MAX, pour crer
et incrust dans le canvas initial. Ce procd offre deux des attributs.
principaux avantages, dune part, il est possible de
rattacher le canvas cr lensemble des vnements Il est aussi possible au programmeur de crer des
proposs dans Tcl/Tk afin den tre notifi et dautre attributs pour cette classe qui seront ds lors sauvegards
part, de ne plus se soucier de dessiner hors des limites et initialiss de faon automatique la cration et la
tant donn que la fentre dans laquelle nous nous sauvegarde de chaque instance de lobjet. La cration de
plaons tronque automatiquement le dessin lintrieur ces attributs se fait via un systme de macro-
de ses limites. Nanmoins cette approche implique que dfinitions14, ici aussi trs similaires celles proposes
le canvas initial ne soit plus notifi des vnements de dans lAPI de Max permettant de dfinir un style aux
utilisateur lorsque le focus est sur notre objet. Ainsi cela attributs (texte, nombre, menu, couleur, etc.), des valeurs
amne linconvnient de devoir notifier en retour le par dfaut, une tiquette de prsentation, et dautres
canvas initial dun grand nombre dvnements comme caractristiques qui apparatront dans la fentre de
la slection de notre objet, son dplacement, le proprit (Figure 5).
raccordement de ses entres ou sorties, mthodes que
nous avons d implmenter. Le fonctionnement interne de lobjet est, quant lui,
relativement opaque au programmeur mais les mthodes
Afin de gnraliser cette approche et de pouvoir mettre en place sont sensiblement plus simples
accder facilement ce systme dans de multiples mises raliser. Les deux points les plus problmatiques dans la
en uvre, nous avons fait le choix de dvelopper une cration dun objet, le dessin et les interactions, sont
API (Figure 4). Cette interface de programmation nettement plus simples mettre en place. Le dessin dans
comprend ainsi un certain nombre de structures et de un objet se fait en crant une mthode rpondant au
fonctions sur lesquelles nous revenons brivement afin message paint. Dans cette mthode, il est possible de
den comprendre non pas le fonctionnement, car le crer des calques rpondant un nom et dans ces calques
prsent document ne pourrait suffire, mais du moins son il est possible de dessiner toutes formes de figures. Afin
utilisation. de crer des dessins, nous offrons des fonctions qui

13 14
Lobjet entry et popup font parti de la bibliothque flatgui Systme permettant de remplacer un indicateur, sous forme de
dvelopp par Ben Bogart pour Pure Data Extented. texte, par un texte.

74
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

soccupent de mettre en forme et denvoyer le script Les interactions de lutilisateur sont prsent trs
Tcl/Tk et qui grent notamment le systme de tag vitant varies et font appel plusieurs mthodes selon les
ainsi toute erreur de syntaxe ; notons nanmoins quil est actions : entrer dans lobjet, sortir de lobjet, survoler
toujours possible de passer outre ce systme si besoin15. lobjet, cliquer, traner , relcher, utiliser la molette et
En plus des fonctions de dessin usuelles telles que la double cliquer, presser une touche clavier quelconque,
cration de forme gomtriques simples ou lcriture de presser une touche clavier spcifique (Tab,
texte, nous offrons un systme de matrices permettant de Supprimer, Espace, etc.). Ces mthodes relatives aux
raliser des rotations et des translations. Il est aussi vnements de la souris transmettent la position de la
possible de dfinir les couleurs utiliser dans les formats souris relative lobjet mais aussi les clefs Shift, Maj,
RGB, HSL ou en hexadcimal, offrant plus de flexibilit. Ctrl et Atl. En somme, il est prsent possible de
Cette mthode de dessin est appele soit de manire raliser un objet au fonctionnement labor et aux
opaque chaque fois quil est ncessaire de redessiner dessins complexes sans pour autant rencontrer de
lobjet, lorsque lobjet bouge ou quun attribut li au grandes difficults de programmation.
graphisme est chang par exemple, soit de manire
transparente dans le code de lobjet. Il est ainsi possible Notons encore que les objets offrent prsent un
au programmeur, selon le contexte, dinvalider un calque systme de proxy pour les entres trs facile mettre en
spcifique ; seulement ce calque-l sera alors redessin uvre ainsi quun nouveau formatage des fonctions DSP
lappel de la mthode paint afin dallger le processus et des fonctions perfom similaires celles offertes dans
(Figure 6). Enfin le dessin des bordures, des entres et lAPI de Max. A cela se rajoutent de nombreuses petites
sorties est ralis de faon automatique. amliorations dont, entre autres, des mthodes facilitant
la lecture et lcriture de fichiers externes, la mise en
place dun systme de prrglages, une fonction
renvoyant la position globale de la souris ou relative au
canvas ou encore un systme de notifications16.

4. LA MISE EN UVRE : PRESENTATION DES


OBJETS

Notre bibliothque, le CICM Wrapper a, par la suite,


permis de raliser un certain nombre dinterfaces
graphiques fonctionnant tout aussi bien sur Pure Data
Vanilla que sur Pure Data Extended pour les systmes
dexploitation Mac Os, Linux et Windows et ayant pour
but damliorer lergonomie gnrale en proposant de
nouvelles interactions et en offrant des reprsentations
plus raffines17. Cette srie dobjets reprend les outils
standards dj prsents soit dans Pure Data, Vanilla et
Extented, soit dans Max. Avant dnumrer lensemble
des fonctionnalits offertes, nous pouvons mettre en
vidence certaines caractristiques gnrales
lensemble des ces outils.

Figure 7. Redimensionnement de lobjet


c.breakpoints en dplaant le coin en bas droite.
Figure 6. Portion du code de lobjet c.bang
Les objets graphiques possdent tous la particularit
prsentant la syntaxe utilise dans le CICM
de pouvoir tre redimensionns en tirant les bordures bas
Wrapper pour dessiner et grer le systme de
ou droite ou le coin bas-droite (Figure 7). Notons que
calques. Les fonctions commentes utilisent la
selon les objets, la hauteur et la largeur peuvent tre
syntaxe de Max quil est aussi possible dutiliser.
16
Fonctions auxquelles le programmeur pourra se rfrer dans la
documentation et les exemples disponibles avec la distribution du
projet.
15 17
Nous invitons le lecteur regarder le code de lobjet La bibliothque est disponible sur le rpertoire Git du projet
c.blackboard afin den avoir un exemple. CICM Wrapper, https://github.com/CICM/CicmWrapper/releases.

75
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

fixes arbitrairement ou dpendre de la taille de la police identiques au bang et toggle. Dautres proposent de trs
tel que dfinie dans lobjet c.number. Afin doffrir des lgres amliorations comme les objets c.slider qui
patchs plus lisibles, les entres et sorties des objets ne deviennent verticaux ou horizontaux selon que la hauteur
sont visibles quen mode dition, nous avons aussi fait le soit plus grande que la largeur, lobjet c.number qui
choix de leurs attribuer les couleurs syntaxiques par permet dincrmenter des valeurs numriques avec une
dfaut de Pure Data Extented permettant de facilement prcision qui dpend de la position de la souris lorsque
reprer le type de messages quils peuvent recevoir ou lutilisateur clique sur lobjet (Figure 9), lobjet
envoyer. c.number~ qui consiste en une combinaison de lobjet
boite nombre et dun snapshot~, lobjet c.meter~ qui, de
manire identique, peut tre compar une combinaison
de lobjet vu et de lobjet pvu~ ou encore lobjet c.radio
qui offre en plus, par rapport lobjet radio, un mode de
type check-list. Dautres interfaces sont des adaptations
de certaines bibliothques prsentes dans Pure Data
Extended mais qui, suite des mises jours ou du fait de
la complexit de leur cration, sont difficiles utiliser,
possdent certains dysfonctionnements ou noffrent pas
certaines fonctionnalits essentielles. Cest le cas des
objets c.scope~, un oscilloscope uni ou bidimensionnel,
lobjet c.colorpanel, un slecteur de couleur sous forme
de matrice taille variable, lobjet c.blackbloard, un
tableau permettant de dessiner la souris et par script,
dcrire du texte et dafficher des images au format GIF,
lobjet c.knob, un bouton rotatif avec un mode circulaire
et un mode sans fin ou encore lobjet c.menu, qui permet
dafficher un menu droulant. Enfin certains objets
Figure 8. Fentre de la fentre de proprit de possdent seulement leurs quivalents dans le logiciel
lobjet c.tab. Max et nous semblent des plus pratiques : c.function qui
permet de crer une fonction par suite de points avec
Tous les objets possdent des proprits communes diffrents modes dinterpolations, c.incdec qui permet
(ou attributs) : la taille de lobjet (hauteur et largeur), le dincrmenter ou dcrmenter une boite nombre sans
nom, le poids, linclinaison et la taille de la police stack overflow, lobjet c.plane qui permet de dplacer un
utilise par lobjet, la couleur darrire plan et la couleur point sur un plan bidimensionnel, lobjet c.tab qui offre
de la bordure, auxquelles viennent se rajouter les une sries de boutons texte, lobjet c.gain~ qui permet
proprits spcifiques de chaque objet. Enfin, ils de contrler le volume sonore avec une glissire
possdent aussi un symbole denvoi et un symbole de curseur, lobjet c.rslider qui permet de dfinir une plage
rception, de manire analogue aux interfaces natives de grce une glissire double curseur et enfin lobjet
Pure Data (Figure 8). Ces proprits peuvent, bien sr, c.spectrum~ qui permet dafficher le spectre dun signal
tre modifies de manire dynamique par des messages sonore. Notons nanmoins que lensemble de ces objets
envoys lobjet et sont aussi accessibles via la fentre a t ralis afin de rpondre des attentes personnelles,
de proprits qui facilite leur dition en offrant un champ ainsi leur fonctionnement peut lgrement varier vis
de saisie textuel ou numrique, avec un systme vis de leurs homologues natifs de Pure Data ou de Max.
permettant dincrmenter ou dcrmenter des valeurs
numriques ou lindex dun menu, un bouton de type Enfin, nous offrons un objet c.preset. Lensemble des
interrupteur ou encore un slecteur de couleur selon le objets possdant une mthode preset, possde un attribut
type de valeurs attendues. Notons enfin que lensemble permettant de leurs attribuer un nom qui sert de
des caractristiques des proprits des objets peut tre rfrence lobjet afin denregistrer ltat actuel de
affich dans la console en envoyant le message lobjet et revenir cet tat. Ce systme est, en somme,
attrprint lobjet, permettant de connatre les trs similaire celui propos dans le logiciel Max la
messages attendus par lobjet pour dfinir ses proprits. diffrence notable quil est possible de raliser des
interpolations. Ce systme vise, en outre, tre complt
par une srie dinterfaces permettant dditer les
prrglages de manire plus simple tel que le systme de
Figure 9. Reprsentation de linteraction permettant pattrstorage de Max mais, ici aussi, ayant accs
dincrmenter la valeur de lobjet c.number. lensemble des mthodes et fonctionnalits des objets,
nous pouvons envisager un systme diffrent rpondant
Certains objets sont donc trs similaires leurs plus nos attentes.
homologues natifs de Pure Data. Cest le cas des objets
c.bang et c.toggle, qui hormis les amliorations gnrales
lensemble des objets, offrent des fonctionnements

76
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

5. CONCLUSION [4] Miller P. Pure Data : Another Integrated Computer


Music Environment , Proceedings Second
Lors de la mise en uvre de la bibliothque HOA Intercollege Computer Music Concerts, Tachikawa,
pour Pure data, nous avons ralis une API afin de Japon, 1996.
rpondre aux nombreux problmes rencontrs
concernant la cration dobjet graphiques et de [5] Todoroff T. Control of Digital Audio Effects
traitements multicanal. Cette bibliothque peut , DAFX Digital Audio Effects, J. Wiley & Son,
nanmoins tre utilise dans un large contexte et ouvre 2002.
de nouvelles perspectives quant lergonomie du [6] Foley, J. D., Paris E., Van Dam A., Feiner S. K.,
logiciel. Elle possde de plus lavantage, dtre libre, Hughes J ; F. Computer Graphics : Principles and
gratuite et de navoir aucune dpendance autre que Pure Practice in C, 2nd Edition . Addison-Wesley, 1995.
Data. Cela permet, en outre, dtre totalement
indpendant des diffrentes distributions du logiciel.

Ainsi, nous pouvons envisager que son utilisation


perdure avec les volutions du logiciel et soit poursuivie
au sein de la communaut. Nous esprons galement
voir merger de nouvelles mises en uvre conues en
dehors notre quipe de recherche, car suite nos
premires publications des objets, nous avons ralis
quil existe une forte demande doutils stables et
ergonomiques pour Pure Data.

Nous pouvons aussi envisager de nombreuses


amliorations afin de faciliter la mise en uvre dobjets.
Nous pensons notamment mettre en place un systme
permettant de sattacher aux notifications dautres objets
et une mthode de commentaires sur les entres et
sorties. Nous envisageons aussi la possibilit de choisir
dautres API graphiques selon les besoins. Nous pensons
notamment Juce18 qui permettrait davoir un rendu plus
homogne entre les systmes dexploitation et davoir
accs des mthodes tels que le Drag & Drop de
fichiers ou le rendu tridimensionnel via OpenGl.

Enfin, suite aux nombreux retours qui nous parvenus


des utilisateurs et programmeurs, nous envisageons avec
les crateurs et les responsables la possibilit dintgrer
la bibliothque la distribution de Pure Data Extended et
de PD-L2ork, dans laquelle nous pourrions tirer partie de
lutilisation des SVG.

6. REFERENCES

[1] Colafrancesco, J., Guillot P., Paris E., Sedes A.,


Bonardi 1. La bibliothque HOA, bilan et
perspectives , Actes des Journes dinformatique
musicale, St-Denis, France, p. 188-197, 2013.
[2] Guillot P., Paris E., Deneu M. La bibliothque de
spatialisation HOA pour MaxMSP, Pure Data, VST,
Faust, , Revue Francophone d'Informatique
Musicale, St-Denis, France, 2013.
[3] Zmlnig J. M. How to Write an External for Pure
Data , Institute of Electronic Music and Acoustics,
Graz, Autriche, http://pdstatic.iem.at/externals-
HOWTO/.

18
http://www.juce.com/.

77
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

OSSIA : OPEN SCENARIO SYSTEM FOR INTERACTIVE APPLICATIONS

Tho De La Myriam Desainte


Pascal Baltazar Jaime Chao Clment Bossut
Hogue Catherine

GMEA LArboretum LaBRI


theod pascal myriam.desainte- jaimitochao bossut.clement
@gmea.net @baltazars.org catherine@labri.fr @gmail.com @gmail.com
RSUM Contenu et Interaction, le projet OSSIA1 runi un con-
sortium dacteurs issus de la recherche institutionnelle
Cet article fait tat des travaux raliss dans le
ou prive, de lindustrie ou uvrant dans le domaine
cadre du projet Open Scenario System for Interactive
de la cration : le Laboratoire Bordelais de Recherche
Application (OSSIA) dont l'objectif est d'offrir des
en Informatique (LaBRI) formalise et dveloppe le
outils gnriques pour le dveloppement de logiciels
moteur logico-temporel, le GMEA Centre National
d'criture de scnario interactif. Aprs un rappel des
de Cration Musicale dAlbi-Tarn coordonne le projet
acquis sur lesquels le projet sappuie, nous prsente-
et structure le partage des outils, le laboratoire Cdric
rons les mthodes adoptes pour adapter le formalisme
et lcole Nationale du Jeu et des Mdias Interactifs
du moteur d'criture logico-temporel des situations
(ENJMIN) du CNAM et les socits Blue Yeti et RSF
relles de production et dcrirons un exemple d'im-
intgrent respectivement les outils d'criture pour la
plmentation travers une nouvelle version du logiciel
ralisation de scnario interactifs dans les jeux vido,
i-score.
dans des dispositifs musographiques et dans du mat-
riel de pilotage embarqu. OSSIA sinscrit par ailleurs
DES ENJEUX TRANSDISCIPLINAIRES dans un rseau de nombreux collaborateurs lis la
cration ou encore la formation tels que l'Institut
Qu'il s'agisse de dispositifs interactifs, de jeux vi- Suprieur des Techniques du Spectacle (ISTS) et
do, du spectacle vivant, de lindustrie culturelle ou de l'Ecole Nationale Suprieure d'Arts et Techniques du
la musographie, la mise en jeu de diffrents mdias Thtre (ENSATT).
requiert lcriture dun scnario rgissant lensemble
des interactions. Cette criture spcifique dfinissant
les comportements de contenus numriques au sein CONTEXTE DE RECHERCHE
d'un dispositif informatique, en fonction d'un contexte
matriel ou numrique, reste cependant une opration Cette dynamique de recherche s'inscrit dans des r-
complexe et rserve aux experts : la mise en uvre au flexions sur les usages dont certaines conclusions, qu'il
sein d'un environnement de programmation intermdia nous semble important de rappeler dans cet article, ont
dune intention scnaristique, mme simple, ncessite esquiss des spcifications pour le projet OSSIA.
en effet de prendre en compte l'ensemble des possibles
du dispositif et de son environnement. Cette scnarisa- 2.1. Historique
tion dont le droulement est ouvert, relve de la pro-
grammation et est trs peu assiste. De plus, la C'est l'initiative de la Compagnie Incidents M-
moindre modification peut tre source daberration et morable/didascalie.net que l'Association Franaise
induire des dysfonctionnements de lensemble du sys- d'Informatique Musicale (AFIM) a constitu en 2006
tme. un groupe de travail pour mener une tude [1], visant
Pourtant, la description de tels systmes par leurs mettre en uvre un questionnement des pratiques, des
concepteurs ou leurs utilisateurs non programmeurs ne outils et des mtiers du sonore dans le contexte du
reflte pas cette complexit. Elle semble hirarchise spectacle vivant (thtre, danse, concert tendu ou
intuitivement en units dactions parfois squences, multimdia) pour en dgager les particularits. L'ob-
parfois conditionnes au sein dun schma mlant les jectif tait d'tablir un tat de l'art des environnements
entres et sorties du systme afin de tenir compte du logiciels existants pour la composition et l'interprta-
contexte ou de le modifier. Le projet Open Scenario tion du sonore dans le cadre du spectacle vivant et de
System for Interactive Application (OSSIA) vise ainsi dgager les prospectives de dveloppement futur de
favoriser lcriture de tels scnarios en proposant un tels environnements. La conclusion qu'une mutualisa-
ensemble doutils logiciels autorisant ldition et tion de la recherche vers le dveloppement
lexcution dune description schmatise dun sys- dinterfaces numriques de cration multimdia tait
tme automatis.
Reu dans le cadre de l'appel projet ANR 2012 1
Rfrence ANR-12-CORD-0024

78
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

ncessaire a impuls la cration de la plateforme Vi-


rage en 2008.
Missionn par l'Agence Nationale de la Recherche,
la Plateforme Virage2 avait pour objectifs de dfinir un
cahier des charges et des spcifications gnrales pour
des dveloppements futurs de nouvelles interfaces de
contrle et d'criture de contenus multimdia temps-
rel (son, image, lumire, machineries, ...) pour la
cration artistique et les industries culturelles. Suite
une tude approfondie des usages, pratiques et besoins
des professionnels de ces domaines [2], le projet a
dbouch sur de nombreux prototypes (dont le s-
quenceur Virage) et sur le constat qu'une structure
pour partager les dveloppements informatiques per-
mettrait une dynamique de travail en rseau :
La conclusion principale de
cette tude des usages a conrm la
ncessit de travailler autour des no-
tions dinteroprabilit et de modu- Figure 1. Exemple de dispositif intermdia
larit, en visant la combinaison de
nos dveloppements avec les envi-
ronnements logiciels et matriels 2.3. Les moteurs d'critures
existants et correspondant aux habi-
Si les environnements informatiques offrent de rel
tudes des praticiens, plutt que
potentiels d'interconnections de mdias, l'criture du
lintgration de cette ralit com-
comportement dans le temps de ces lments inter-
plexe et multiple dans un illusoire
connects ramne souvent le ralisateur intermdia
logiciel unique et certainement trop un travail de programmation pralable ou conjoint au
polyvalent pour tre viable. [3]
travail de cration.
Parfois les moteurs d'criture sont propre l'envi-
2.2. La ralisation de dispositif intermdia ronnement de cration (Live, VDMX, DLight) tandis
que d'autres solutions assurent un contrle externe
Afin de bien cerner les enjeux d'une recherche au (Qlab, Duration, Vezr, i-score, Yannix). Mais certains
sujet des outils d'criture, voici un tat des lieux des projets ncessitent le dveloppement d'un moteur
outils actuels propres la ralisation de dispositifs d'criture spcifique, adapt des exigences esth-
constitus de plusieurs mdias interconnects dont il tiques, des contraintes techniques ou des utilisateurs
faut assurer le contrle et/ou en crire le comporte- non-experts. Ds lors, les comptences requises pour
ment. architecturer correctement un moteur dcriture se rap-
Les diffrents lments notre disposition sont : prochent de lingnierie logicielle (gestion de base de
des environnements de cration : Live, VDMX, donnes pour adresser les ressources, mmoriser et
DLigth, Reaktor, Modul8, MadMapper, adobe rappeler leurs tats, programmation dautomate, pro-
Flash, Unity3D, etc., grammation concurrente, etc.).
des environnements de programmation : Max, Ainsi ces constats ont motiv la conception dune
Pure Data, Isadora, Arduino, Processing, etc., librairie logicielle au service de dveloppements spci-
des interfaces de contrle et de captation : sur- fiques de moteurs dcritures de scnarios interactifs.
face tactile, Kinect, capteur posturolo-
gique/physiologique, camra, micro, BCF2000,
METHODOLOGIE
MPD24, Monome, etc.,
et du matriel de diffusion contrlable ou non : La conception d'lments logiciels gnriques et r-
projecteur de lumire, haut-parleur, moteur, vi- utilisables de manire spcifique implique des archi-
do-projeteur, etc. tectures modulaires et interoprables. Dans cet objec-
tif, le projet OSSIA adopte une dmarche de partage
des outils et les exprimente en situation de produc-
tion.

3.1. La structuration du partage

OSSIA s'appuie sur une organisation de dvelop-


pement informatique collaboratif international et open
2
www.virage-platform.org

79
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

source (Jamoma3) pour constituer un base commune VERS UN FORMALISME D'ECRITURE


d'lments logiciels4. Les produits de la recherche sont
htroclites et regroupent une API5 en cours dcriture, Les travaux mens dans le cadre du projet OSSIA
la librairie C++ Score, dont le formalisme est dcrit dfinissent par scnario interactif une structure
plus bas, et divers externals ou patchs Max issus de contenant potentiellement du temps souple, condition-
proccupations techniques diverses mais intgrables nel, non-linaire et hirarchique. Ces notions renvoient
dans diffrents domaines d'application spcifiques. aux possibilits de contrler la vitesse dexcution,
noter que la problmatique de linteroprabilit, dont il dattendre ou dignorer le dclenchement de certaines
n'est pas question dans cet article, reprsente une part parties, den rpter lexcution ou dautoriser des
non-ngligeable des lments partags au sein du pro- choix entre plusieurs dentre elles. La hirarchie ren-
jet. Pour chaque chantier, nous nous assurons en pre- voie des besoins dorganisation en sous-partie dune
mier lieu qu'il est possible aux moteurs d'critures de structure temporelle.
dialoguer avec les logiciels ou environnements de tra-
vail propres chaque domaine d'application.6

3.2. Les chantiers d'exprimentation

Lors des chantiers d'exprimentations en situation


relle de production, des retours concrets sur l'utilisa-
tion des notions et outils issus de la recherche viennent
alimenter les formalismes sous-jacents.
Durant ces changes autour de la question des sc-
narios interactifs la communication entre experts est
essentielle mais les discussions peuvent se heurter au
fait qu'ils ne disposent pas d'un langage unique comme
moyen d'change [4]. Ainsi une mdiation est nces-
saire entre les diffrents acteurs afin de vrifier la ro-
bustesse des modles tablis par la recherche face Figure 3. Temps Souple, Conditionnel, Non-
des cas rels d'utilisation et c'est pourquoi le projet Linaire, Hirarchique
OSSIA s'attache proposer un formalisme d'criture
de scnarios interactifs.
4.1. Modlisation du temps

La formalisation informatique de ces proprits


temporelles sappuie sur le modle existant de parti-
tions interactives [5] et consiste l'tendre aux condi-
tions, permettre les rptitions [6] et autoriser une
structuration hirarchique (proprit modlise r-
cemment au moyen du langage RML [7]).
Paralllement, la conception de la librairie Score a
pris le parti de revisiter les accs au formalisme propo-
s dans libIscore [8][9] la lumire des retours de
l'exprimentation du squenceur Virage [10]. Le nou-
veau formalisme s'appose en quelque sorte au-dessus
de l'ancien formalisme pour le rorganiser travers
des lments modulaires plus intuitifs manipuler ;
Score considrant par exemple les processus temporels
comme encadrs par des vnements eux-mmes par-
tageables entre processus (l'vnement de fin d'un pro-
cessus pouvant tre l'vnement de dbut d'un autre
Figure 2. Relations entre les diffrents acteurs travers processus par exemple) l o libIscore ne considrait
les chantiers d'exprimentations que des dures possdant chacune leur dbut et leur
fin.

3
4.2. Lexique
www.jamoma.org propose des solutions fondes sur les
besoins issus des pratiques de la cration artistique. En premier lieu il est ncessaire d'tablir un lexique
4
github.com/OSSIA pour dcrire les lments constitutifs d'un scnario
5
github.com/OSSIA/API
6 interactif :
titre d'exemple les environnements Live, Modul8 et
Unity3D font l'objet d'un effort particulier pour tre rendu interop-
rable en vue d'une utilisation lors des chantiers d'exprimentation.

80
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

- Service : ce qu'offre une ressource pour son Arts de Toulouse (ISDAT).


utilisation. Nous distinguons : En premier lieu voici une description textuelle du
comportement de son installation : le visage d'un
le paramtre dont ltat est susceptible prtre est affich sur une tlvision. Tant que personne
dtre mmoris (ex : le volume d'une ne marche devant l'cran, plusieurs films montrent
piste audio), combien le prtre s'ennuie (il regarde le ciel, sa
le message dont ltat ne peut tre m- montre, etc.). Mais si une personne marche devant
moris (ex : le dclenchement de la lec- l'cran (et que le film le montrant en train de s'en-
ture), nuyer se termine), le prtre commence regarder la
personne fixement. Ses yeux suivent la personne pour
le retour dont ltat ne peut pas tre con- attirer son attention. Puis, lorsque la personne s'en va,
trl (ex : l'enveloppe de l'amplitude ou le prtre s'ennuie nouveau.
la fin de lecture). Afin de bien cerner la mise en uvre de cette instal-
- tat : la valeur d'un ou plusieurs services. lation et donc l'criture de son comportement, en voici
la description des ressources : il y a un lecteur de film,
- Namespace : l'ensemble des noms des services une banque de films, un systme de dtection par ca-
organiss sous la forme d'une arborescence. mra qui retourne s'il y a une prsence et la position de
Par exemple : cette prsence. Nous considrons que l'tat de ces res-
/player sources peut tre adress, mmoris, rappel ou cout
/play via des solutions protocoles.
/volume Le namespace des ressources se rsume ainsi :
/end /bank
- Actions : une opration faites sur l'tat /select : message pour slectionner un film.

set : mise jour de l'tat. /movie


/play : message pour lancer le film.
get : demande de l'tat.
/position : paramtre pour positionner la tte de
listen : coute de l'tat. lecture proportionnellement la taille du film.
/end : retour avertissant que le film est termin.
- Condition : vrification effectue sur l'tat d'un
service. Par exemple on peut vrifier l'expres- /detection
sion /player/volume > 12 . /presence : retour de dtection d'une prsence.
- vnement : un point dans le temps dclench /position : retour de la position de la prsence.
une date prcise ou la validation d'une con-
dition. Des actions peuvent lui tre associes. Ds lors nous avons tout le ncessaire pour formali-
ser avec Score la description textuelle du comporte-
- Processus : une opration effectue pendant un ment de l'installation7 :
temps qui peut tre fixe, born ou libre selon la
nature de l'vnement qui marque sa fin :
Intervalle : une quantit de temps qui
peut tre fixe, borne ou libre.
Automation : met jour l'tat d'un service
dans le temps selon une courbe.
Mapping : coute de l'tat d'un service
pour mettre jour l'tat d'un autre ser-
vice.
Scnario : contient et supervise des v-
nements, des conditions et des processus.
autres : dautres types de processus sont
envisageables (ex : gnrateur).
Figure 4. Scnario du cas rel d'installation formalis
4.3. Application un cas rel d'installation

Nous collectons un maximum de cas rels d'utilisa-


tion afin de vrifier la pertinence du formalisme.
titre dexemple le formalisme de Score est ici utilis 7
Cette reprsentation graphique est amene voluer mesure que
pour dcrire le comportement d'une installation rali- sa manipulation, pour modliser des cas rels de scnario interactifs
se par Abtin Sarabi, tudiant l'Institut Suprieur Des dans diffrents domaines, en montre les limites.

81
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Le scnario de la figure 4 peut se traduire comme ARCHITECTURE DE LA LIBRAIRIE SCORE


suit :
A : Deux vnements interactifs sont condi- La libraire Score8 est organise en quatre classes
tionns par l'tat de /detection/presence (get) principales : TimeEvent, TimeCondition, TimePro-
pour slectionner soit B (si gal 0) soit C (si cess et TimeContainer.
gal 1).
B : Slectionne un autre film avec le message 5.1 La classe TimeEvent
/bank/select (set) et le lance en utilisant le
message /movie/play (set). Puis le retour La classe TimeEvent possde une date indicative,
/movie/end est attendu (listen) avant de re- un statut (waiting, pending, happened, disposed) et
boucler sur A. peut rfrencer des mmorisations dtats rappeler
C : Mets en lien le retour /detection/position lors de son activation. Un TimeEvent connait la Time-
(listen) sur le paramtre /movie/position (set). Condition laquelle il est soumis ainsi que le Time-
Le mapping est actif jusqu' ce que Container auquel il appartient.
/detection/presence devienne 0 (listen). Puis
on passe D. 5.2 La classe TimeCondition
D : Ramne le paramtre /movie/position de-
puis sa position courante (get) 0.5 (set) en La classe TimeCondition possde une table d'v-
un temps prcis avant de reboucler sur A. nements class par Expression valuer pour valider
l'activation ou non de chaque l'vnement. Une Time-
Cette formalisation du comportement de l'installa- Condition peut tre prte ou non s'valuer, selon que
tion prend tout son sens compare son implmenta- tous les vnements qu'elle supervise sont pending ou
tion dans l'environnement de programmation Max : non. La classe connait le TimeContainer auquel elle
appartient.

5.3 La classe TimeProcess

La classe TimeProcess dfinit une interface pour la


compilation, le dmarrage, l'excution et la terminai-
son d'un contenu temporel quelconque. Un TimePro-
cess se lie deux TimeEvent (associs son dbut et
sa fin) dont il observe le statut happened ou disposed.
Lorsque le statut de son vnement de dbut devient
happened, un TimeProcess active une unit d'horloge
et appelle une mthode virtuelle ProcessStart impl-
mente dans chacun des plugins de TimeProcess.
chaque pas de progression de l'unit d'horloge un
TimeProcess appelle une mthode virtuelle Process
implmente dans chacun des plugins de TimeProcess
et o la valeur de la progression est utilise de manire
spcifique. Lorsque le statut de son vnement de fin
devient happened, un TimeProcess dsactive son unit
de d'horloge et appelle une mthode virtuelle Proces-
sEnd implmente dans chacun des plugins de
Figure 2. Scnario du cas rel d'installation dans Max TimeProcess.
noter que le type d'horloge est slectionnable se-
Dun point de vue syntaxique, Score offre donc la lon que l'on souhaite se rfrer l'horloge du systme
possibilit dexprimer un mme comportement logico- ou une horloge externe par un systme de plugin
temporel en convoquant beaucoup moins dlments permettant de crer tout type d'horloge. Par exemple
que dautres langages de programmation. Nanmoins nous prvoyons la possibilit de synchroniser l'excu-
cette reprsentation graphique du formalisme nest pas tion via le rseau pour une excution distribue sur
satisfaisante d'un point de vue ergonomique. La pr- plusieurs ordinateurs.
sentation ci-aprs du logiciel i-score montre un La classe TimeProcess peut aussi dfinir une dure
exemple d'application du formalisme de Score dans minimum et maximum au cas o la fin de son excu-
une manipulation de type squenceur. tion soit dtermine par un TimeEvent soumis une
TimeCondition (bien que d'autres cas puissent aussi
conduire dfinir ces bornes).
Il existe pour l'instant deux plugins de TimePro-

8
https://github.com/OSSIA/Score

82
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

cess : Intervalle et Automation. Nous prvoyons le Par la suite un processus intervalle, symbolis par
dveloppement d'un plugin de mapping, de gnra- une barre horizontale (Figure 7.), peut tre insr entre
teurs et le systme permet d'envisager le dveloppe- une paire d'vnements ; dclarant par l mme une
ment de plugins ddis la lecture de mdia. relation de prcdence entre eux et ainsi une contrainte
lors du dplacement de l'un des deux. A priori la dure
5.4 La classe TimeContainer est fixe (a) mais si une interaction est insre sur
lvnement de fin, la dure devient souple et
La classe TimeContainer hrite de TimeProcess. La linteraction sera possible nimporte quand ds que
classe dfinie une interface pour l'ajout, la suppression lvnement de dbut sera pass (b). Afin de prciser
et la supervision d'actions sur des listes de TimeEvent, une priode dinteraction, il est possible de faire appa-
TimeCondition et TimeProcess. raitre une fourchette de rglage. La borne gauche de la
Il existe pour l'instant un seul plugin de TimeCon- fourchette permet de prciser partir de quand l'inte-
tainer : Scenario qui offre un gestionnaire de con- raction peut arriver (c, d). La borne droite de la four-
trainte pour conserver les relations de prcdence entre chette permet de prciser quand linteraction devra
vnements lors de l'dition et compile un rseau de tre dclenche si elle n'arrivait pas (d) ; l'absence de
Petri pour en vrifier l'excution. borne droite signifiant que linteraction peut tre at-
tendue indfiniment (c).
IMPLEMENTATION DANS I-SCORE

Depuis octobre 2013 une quipe de dveloppement


du LaBRI entreprend une refonte complte du logiciel
i-score9 afin de mieux tirer partie des proprits du
formalisme propos par Score tout en offrant plus de
confort l'utilisateur. Nous prsentons ici le rsultat de
rflexions qui sont en cours dimplmentation dans
une nouvelle version di-score.

6.1 Une reprsentation modulaire Figure 7. Processus, vnements et interaction

Le logiciel i-score est une interface graphique per-


mettant l'utilisateur de manipuler simplement un
scnario logico-temporel pendant ses phases d'dition Un intervalle peut tre transform en un objet tem-
ou d'excution. L'utilisateur peut crire un scnario en porel plus complexe (Figure 8.). L'objet TimeBox peut
plaant et en manipulant des objets graphiques sur une contenir plusieurs processus partageant les mmes
ligne de temps s'coulant de la gauche vers la droite. vnements de dbut et de fin, et permettre de se re-
L'dition consiste en premier lieu placer des v- plier sur son en-tte (b), ou de se drouler sur plusieurs
nements temporels dans le scnario (Figure 6.). tages pour diter le contenu de chacun de ses proces-
Chaque vnement temporel (a) peut possder un tat sus (c). Chaque plugin de processus possde une ou
(b) ou plusieurs (c), une interaction (d) ou plusieurs plusieurs reprsentations ; lensemble des reprsenta-
(e). Un tat peut tre li une interaction (f). A noter tions tant aussi architectur en plugin. Dans le cas du
que lajout de plusieurs interactions autorise ldition processus automation plusieurs reprsentations sont
de choix ; lorsquune interaction est valide seul les envisages selon le type du service manipuler. Par
lments situs directement sous son influence sont exemple, une interface pour dessiner une trajectoire en
excuts. deux dimensions sera prfrable pour manipuler la
conduite dun paramtre de position, pour un para-
mtre de couleur une succession de gradient pourra
tre plus adapt, etc.

Figure 8. TimeBox

Figure 6. vnement, tat et interaction


Pour une organisation hirarchique du temps, un
scnario est aussi un processus dans lequel tous les
lments graphiques prsents peuvent aussi tre com-
9
https://github.com/OSSIA/i-score bins au sein dun sous-scnario (Figure 9.).

83
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

REFERENCES

[1] Baltazar, P., Gagner, G. Outils et pratiques du


sonore dans le spectacle vivant , Actes des 12e
Journes dInformatique Musicale, Lyon, avril
2007. http://www.afim-asso.org/IMG/pdf/GT_son
_ spect_viv.pdf
[2] Santini, A., Sdes, A., Simon, B. Virage :
Figure 9. Exemple de scenario dans i-score Analyse des usages/tat de lart , rapport interne,
version n 3, Paris, 2009.
[3] Baltazar, P., Allombert, A., Marczak, R.,
6.2. Prospections Couturier, J-M., Roy, M., Sdes, A., Desainte-
Catherine, M. Virage : Une rflexion
Toutes les proprits temporelles ne sont pas en- pluridisciplinaire autour du temps dans la cration
e
core reprsentes dans i-score et font encore lobjet de numrique , Actes des 14 Journes
discussions. Le cas des choix, lorsque que plusieurs dInformatique Musicale, Grenoble, 2009.
interactions sont ajoutes un vnement, pose la
question de la reprsentation du choix par dfaut et [4] Meyssonier T. Analyse des relations entre
dune priode de simultanit durant laquelle plusieurs cration artistique, modlisation mathmatique et
informations extrieures peuvent tre attendues pour implmentation logicielle dans la problmatique
valuer plusieurs interactions en mme temps. La re- de l'criture de structures temporelles , Rapport
prsentation des boucles reste aussi un problme. Par de stage effectu au LaBRI sous la direction de
exemple, comment indiquer graphiquement Desainte-Catherine M., Bordeaux, 2013.
lquivalent dun do while ou dune boucle for ? Pour [5] Allombert, A., Desainte-Catherine, M., Laralde
tous ces problmes nous devons interroger les usages J., Assayag, G. A System of Interactive Scores
afin de dceler les dmarches qui interviennent dans Based on Qualitative and Quantitative Temporal
une criture convoquant des choix ou des itrations. Constraints , p1-8, Proceedings of ARTECH the
Fourth International Conference on Digital Arts,
CONCLUSION Porto, Portugal, 2008.

Avec un moteur ddition et dexcution de scna- [6] Toro, M., Desainte-Catherine, M., Concurrent
rio interactifs non dpendant des interfaces graphiques Constraint Conditional Branching Interactive
d'autres reprsentations que celle di-score sont imagi- Scores , p270-273, Proceedings of Sound and
nables selon les contextes d'utilisation et habitudes de Music Computing, Barcelone, Espagne, Juillet
travail : une reprsentation par cuelist peut tre plus 2010.
approprie dans un contexte de spectacle vivant, un [7] Arias, J., Desainte-Catherine, M., Salvati, S.,
accs purement logique tre souhait dans un contexte Rueda, C., Executing Hierarchical Interactive
musographique tandis que certains outils de dvelop- Scores in Reactive ML , Journes d'Informatique
pement de jeux vidos adopte une reprsentations spa- Musicale, Bourges, Mai 2014, en soumission.
tiales pour des scnarisations non-linaires. Cette in-
dpendance permet aussi denvisager quune fois crit, [8] Desainte-Catherine, M., Allombert, A., Assayag,
un scnario interactif puisse tre excut sur une plate- G. Towards a Hybrid Temporal Paradigm for
forme plus lgre sans soucier de sa reprsentation. Musical Composition and Performance : The Case
C'est pour toutes ces raisons que le projet OSSIA of Musical Interpretation , p61-72, Vol. 37, No.
s'attache rendre le formalisme de Score ouvert d'un 2, Computer Music Journal Summer, 2013.
point de vue logiciel en proposant une architecture de [9] Marczak, R., Desainte-Catherine, M., Allombert,
plugin pour les processus et les contenant temporel et A. Real-Time Temporal Control of Musical
quune API est en cours de rdaction. Grce un for- Processes , in Proceedings of the Third
malisme partag et expriment dans des contextes de International Conferences on Advances in
dveloppements varis10 tels que les jeux-vidos, le Multimedia, Budapest, Hongrie, Avril 2011.
spectacle vivant ou la musographie, nous esprons
proposer une librairie unifie, gnrique et suffisam- [10] Allombert, A., Marczak, R., Desainte-Catherine,
ment souple pour rpondre aux besoins spcifiques des M., Baltazar, P., Garnier, L. Virage : Designing
critures intermdias. an interactive intermedia sequencer from users
requirements and the background , International
Computer Music Conference, New York, USA,
Juin 2010.
10
Une implmentation de Score dans Max est prvue. Nous
esprons ainsi permettre de crer rapidement des moteurs d'critures
spcifiques.

84
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Journe Transformation
jeudi, 22 mai 2014

85
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

86
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

FROM CONCEPT TO SOUND: TRANSFORMATION THROUGH LIVE


INTERACTIVE COMPOSITION

DOMINANTE DE LA JOURNEE (KEYNOTE) - 1

Jnatas Manzolli
Interdisciplinary Nucleus for Sound Studies (NICS)
Art Institute, Music Department
University of Campinas (UNICAMP) - Brazil
jonatas@nics.unicamp.br

No one knows exactly what went through the mind of pre-historic man when he first struck two
rough stones together in order to produce sounds and rhythms. To what extent did the resulting
reverberations captivate him? To what extent was he already projecting his own ideas in order to
transform what he was doing? As the millenniums passed, he continued polishing his stones,
producing more and more sophisticated instruments. In the era of digital sound generation, real time
interactions and virtually unbounded possibilities, the computer has become our new stone with
which we project and transform our ideas into sounds.

Music composition has evolved from symbolic notated pitches to expressions of the internal
organization of sound. This can be observed in the extended instrumental techniques developed
from the 1940s onwards up to the more recent compositional strategies that have emerged from the
new interfaces for musical expression. The dynamic organization of sound material in real
time, however, adds new dimensions to musical information and to its symbolic representations.

This talk will explore the convergence between ideas developed as a result of live interactive
composition and ideas that have emerged in an interdisciplinary framework involving mathematical
modeling, computer and data processing and models for real time interaction. We will introduce the
interdisciplinary research activities developed at NICS/Unicamp Brazil, and will discuss a
conceptual view point anchored in the development of systems that produce sound material in real
time, through the iteration of simple rules and independent of symbolic notation.

With the advent of new technologies that have emphasized interaction and novel music interfaces,
alternative forms and modes of interactive media have been realized. These developments raise
fundamental questions regarding the role of embodiment as well as the environment and interaction
in live interactive composition focusing on our understanding of the man-machine interplay. In
addition, it emphasizes a more situated and externalist view.

The study that we are developing at NICS is to integrate algorithmic composition and interactive
narratives with scientific sonification and visualization. It is possible to conceive new methods of
combining music interface technologies within a theoretical approach driven towards shaping
human sensory experiences through new forms of enhanced perception and action through interplay
with music performance. For example, new interactive technologies such as interactive
environments can function as a laboratory setting where we can test computational models and
interactive musical behavior. Aligned with this perspective, we are working with multimodal

87
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

interaction, interactive installations and audiovisual works to combine multimodalities using


interactive media in order to produce immersion, based on the concept of Presence.

The structural foundation of this endeavor is not a written score or textual narrative, but rather the
concept of recursion used as a way of constructing musical meaning, or, more specifically, the
interaction between human agents and machines that produced recurring changes in the physical
world. Our aim is to experience the ways in which internal and external representations of the world
can be joined together in a performance to create sound and video.

These experiences raise a fundamental question: Is a universal, even basic, structure underlying
human auditory and visual experiences that is based on a single cognitive function in the brain, as
opposed to one that is fragmented along a number of modality-specific properties? This invariant
function could be equated with the brain's drive to find meaning in events organized in time, or to
define a narrative structure for multimodal experiences to which it is exposed.

To illustrate our research trajectory, we will present a number of musical systems and works
develop at NICS that have emerged from the concepts expressed during this lecture. In short, these
works illustrate that the aesthetic experience can be at least partially obtained from the emergence
of structures produced as a result of the interaction between humans and interactive systems.

88
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

EXPERIMENTING WITH TRANSFORMATION

DOMINANTE DE LA JOURNEE (KEYNOTE) - 2

Fernando Iazzetta
Universidade de So Paulo - Brazil
iazzetta@usp.br

Transformation: to change the form of something, to cross the borders of one state to reach another
one. That is exactly what we do when we use technologies in creative processes. Transformation is
one of main leading ideas that guide the activities of NuSom - Ncleo de Pesquisas em Sonologia
(Research Centre on Sonology) at the University of So Paulo. In the last ten years a group of artists
and researchers related to NuSom have been working on the interfaces between academic research
and artistic creation, exploring local conditions and facilities to transform the artistic experience of
its members and audiences. Most of our work is guided by the concept of experimentation. The
term is taken here in a double sense: as an empirical method to test something; and as an attitude of
exploring what is not yet established or finalized, sometimes by transgressing or reinventing artistic
boundaries. In this talk I'll briefly present some initiatives at NuSom in the direction of
transforming technologies, practices and concepts within a creative framework. These initiatives
will be assembled in four thematic fields:

1) transforming spaces: extrapolating the ideas of sound projection and sound localization
often recalled when one think about spatiality in music, we present a few projects that
explore space as a musical parameter, among them, a series of network concerts and
installation projects;

2) transforming context: leaving the concert hall to explore other social spaces can lead to very
rich experiences in terms of reallocating the roles of artists and audiences; part of our works
focus on the incorporation of contextual situations as the material for music creation;

3) transforming forms: by recombining musical practices, technologies and genres, we try to


transfigure regular approaches to music creation into new ones, for example, by recreating
electroacoustic music as instrumental performances or revisiting standard music works in
collective recreations;

4) transforming actions: the "classic" issues of music interaction and gesture are taken into
consideration in an experimental perspective to construct new instruments and performative
instances.

For each of these four fields we will provide a couple of examples among the works created by the
NuSom in the last years and will point out a few issues related to the use of music technology in a
creative way.

89
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

90
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

DEPARTEMENT DE MUSIQUE ELECTROACOUSTIQUE ET DE


CREATION, CONSERVATOIRE DE MUSIQUE ET DE DANSE DE
BOURGES

Roger Cochini Philippe Mac


Professeur Directeur
Conservatoire de musique et de Conservatoire de musique et de
danse de Bourges danse de Bourges
34 rue Henri Sellier, 18000 34 rue Henri Sellier, 18000
Bourges Bourges
roger.cochini@wanadoo.fr

La classe de Bourges est fonde sur cet hritage


patrimonial.
1. INTRODUCTION, GENESE

La Classe de Musique lectroacoustique du


Conservatoire de Bourges est lhritire dune trs 2. LES STUDIOS
ancienne tradition denseignement et de formation en
musique lectroacoustique dans la ville et au del de la Dabord lextrieur du conservatoire et depuis
ville. 2007, dans un conservatoire trs rcemment construit, le
dpartement de musique lectroacoustique dploie des
Ds le dbut des annes 1970, anne de sa fondation, activits intra muros articules autour de 6 studios.
le Groupe de Musique Exprimentale de Bourges, Pierre Schaeffer, Pierre Henry, Charles Cros, Luc
devenu IMEB, dirig par Franoise Barrire et Christian Ferrari, Edgard Varse, Henri Dutilleux.
Clozier, ouvre un studio de cration ddi aux amateurs,
le studio Marco Polo. Chacun dentre eux comporte un poste de travail
individuel pour les travaux pratiques des lves. Un
Cette activit est immdiatement suivie par un stage ordinateur iMac 20 pouces, une carte son, un disque dur
international professionnel de deux annes, en externe, une console de mixage, des Haut-parleurs
collaboration avec le CROUS de Paris, ayant pour Dynaudio ou Genelec, une matrice audio dentre/sortie
vocation de former de jeunes compositeurs qui iront permettant daccueillir entre autres, les ordinateurs
leur tour crer des studios dans le monde. personnels des lves.
Lenseignement y est assur par les compositeurs Alain
Savouret et Roger Cochini. Le studio Edgard Varse est aussi quip dun
instrument collectif accueillant des groupes denfants.
En 1981, la Direction de la Musique du Ministre
dcide de mettre en place des mesures conomiques Le studio Henri Dutilleux est aussi quip dune
incitatives, pour crer des classes de musique station 8 pistes accueillant les tudiants du Postdiplme
lectroacoustiques dans les conservatoires. Cest ainsi Art et Cration Sonore, organis en partenariat avec
quest fonde la classe de Bourges initialement lEcole Nationale Suprieure dArt de Bourges.
accueillie dans les locaux du GMEB. Le premier
enseignant en fut Pierre Boeswillwald. Depuis 1983 le Un ensemble mobile est constitu dquipements de
professeur titulaire actuel est Roger Cochini. Lassistant prise de son, synthse, claviers et contrleurs MIDI
de la classe est Stphane Joly.

Conjointement, en 1972 Madame Rene Andraud 3. LA PEDAGOGIE ET LES ACTIVITES


alors inspectrice des coles maternelles du dpartement Les activits sont articules autour de 3 axes
du Cher, demande au Gmeb de contribuer lveil au principaux :
monde sonore et lducation de lcoute des tout-
petits, en sappuyant sur les apports de la discipline - Des activits spcifiquement lectroacoustiques ;
lectroacoustique. Cest le dbut dune trs longue - Des activits internes interdisciplinaires ;
aventure pdagogique en direction de la petite enfance, - Des activits externes interprofessionnelles ;
de lenfance et de la jeunesse.
Elles accueillent des publics depuis lge de 5ans
jusqu lenseignement suprieur.

91
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Lenseignement lectroacoustique diplmant : 1er,


2me, 3me cycles CEM, et spcialis DEM, et classes
de perfectionnement.

Ateliers dArt Sonore non diplmant, pout tous les


publics, offrant une formation fondamentale sonore aux
multiples activits artistiques. Radio, danse, vido, arts
plastiques, pratiques live et mixtes, ducation,
rducation,

Interdisciplinarit avec la Formation Musicale, le


Chant la Danse et les instruments.

Partenariats : Education Nationale, cole lmentaire,


collges, lyces, conseillers pdagogiques, Classes
Horaires amnags primaires et collges; Friche
culturelle, Ecole nationale suprieure dArt, Abbaye de
Noirlac, Ina-GRM, et autres.

4. CONCERTS

Le dernier concert a eu lieu le jeudi 10 avril dernier.


Il comportait des crations avec des lves communs
aux classes de percussion, danse contemporaine,
musique lectroacoustique.

5. CONCLUSION.

Poursuivre et russir lintgration de la musique


lectroacoustique dans les conservatoires.

92
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

STUDIO REPORT: CONSERVATOIRE DE TOURS

Vittorio Montalti

CRR Tours: Conservatoire Francis Poulenc


2 Ter Rue du Petit Pr
37000 Tours
France

e-mail: vittoriomontalti@gmail.com

Abstract Pour l'nregistrement on utilise deux micros


Neumann KM184.
Le studio fait partie du departement d'criture
du Conservatoire rayonnement rgional de Le studio est aussi equip d'un clavier midi
Tours. M-Audio Keystation 88es et d'une pedale midi
Il s'agit d'un studio pour produire de la musique M-Audio SP-2.
lectronique dont les matriaux peuvent tre
utiliss pour faire des concerts de musique Au niveau de software le studio est quip avec
acousmatique et de musique mixte. les suivantes logiciels: Pro Tools 10, N-Track, Grm
La configuration et l'installation du studio a t Tools, Max Msp 6, Ableton Live 9, Csound,
fait par Vittorio Montalti. UviWorkstation, Audacity, Open Music, PWGL,
Soundflower, SoundFilesMerger, Spear, Vlc, Finale.
1. Introduction

Le studio est n en 2013 par une forte volont 3. Pedagogie


de Christophe Wallet (directeur du
Conservatoire) et Anne Aubert (professeur Pour l'instant le studio a t utilis surtout au
d'criture) de crer un cours de musique niveau pedagogique.
lectronique et nouvelles technologies adresse Vittorio Montalti a donn trois stage, visant
aux tudiants du cours de composition intgrer les cours de composition de Solbiati
d'Alessandro Solbiati, qui enseigne au dans le but d'amener les lves crire leur
Conservatoire de Tours depuis le 2012. premier pice de musique lectronique.

2. Configuration du studio Les premieres trois stage on t sur:

Le studio du Conservatoire de Tours est quip MaxMsp: introduction MaxMsp,


d un ordinateur Mac Pro (processeur Quad-Core Synthese et Traitements.
Intel Xeon 2,8 Ghz, 3 Go de mmoire, disque Open Music: introduction OM
dur de 1 To) avec deux moniteurs Samsung T220. DAW: introduction Logic et N-Track
La machine est relie une carte son RME
Fireface 800 avec une connexion firewire. Il a eu aussi des cours individuels centre plutot
La carte est relie la table de mixage sur le travail compositionnel.
numrique Yamaha 01v96i par une connexion
ADAT. 4. Concerts
Enfin la table de mixage est connect quatre
Monitors Yamaha MSP7 et un Subwoofer Le materiaux du studio ont t utiliss aussi pour
Yamaha SW 10. la ralisation d'un concert de musique mixte et
amplifie.
Pour l'coute en casque on utilise des casques
AKG K99.

93
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Le jeudi 7 novembre 2013 l'ATMUSICA de Tours des lves de composition d'Alessandro Solbiati.
a propos une programme avec une tryptique de
Daniel D'Adamo (Lips, your lips, Keep your furies,
Air li; synthse de ses tudes sur le souffle, 5. Conclusion
l'mission du son, la dynamique ) et des pices
amplifi de Helmut Lachenmann (Pression) et Le studio de Tours est quip avec des matriaux
George Crumb (Vox balanae). de haute qualit et se prte des productions
La musique a t joue par Isabel Soccoja professionnelles et des concerts dans des petits
(mezzo-soprano), Nicolas Vallette (fltes), Agns espaces.
Bonjean (piano), Delphine Biron (violoncelle) et
Charles Bascou (ralisateur en informatique On espre que le studio soit utilis de plus en
musicale). plus non seulement pour l'activit pedagogique
mais aussi pour des production de musique
Enfin les materiaux du studio ont t utiliss lectronique des tudiants et des compositeurs
pour enregistrer le concert du premiere ann invit.

94
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

VERS UN MODELE POUR L'ANALYSE DE L'ORCHESTRATION :


RAPPORT DE RECHERHE EN COURS

Didier Guigue
UBPB Mus3 CNPQ
didierguigue@gmail.com

RSUM musicologue dans l'organisation des donnes pertinentes


et l'apprciation de leur fonctionalit.
Cette communication prsente l'tat actuel de mon
La figure 1 reproduit l'organigramme de la procdure
projet d'laboration d'un modle mthodologique pour
envisage. La terminologie anglophone en sera
l'analyse de l'impact que les stratgies d'orchestration
conserve dans la description qui suit. Dans ce modle,
peuvent avoir sur la dynamique formelle et sa
l'orchestration est value partir de deux points de
perception. Le modle aborde luvre partir de deux
dpart. D'un ct Score Analysis on recense les
angles: la partition, de laquelle sont extraites les
prescriptions consignes par le compositeur dans la
informations d'orchestration et instrumentation
partition, en comptabilisant les diverses combinaisons
consignes par le compositeur, et un ou plusieurs
instrumentales (Local Sonic Setup ou LSS) utilises au
enregistrements, qui sont analyss par des descriptuers
cours de luvre et en les qualifiant en fonction de leur
ad hoc afin de juger de l'effet concret de ces
organisation interne.
prescriptions, et de voir jusqu' quel point leur impact
D'autre part Sound Analysis , les fichiers audio de
sur la forme en est le reflet. Ce modle fait appel a des
ces mmes LSS sont auscults au moyen de descripteurs
outils informatiques qui aident le musicologue dans
ad hoc afin de jauger l'effet concret des prescriptions, et
l'obtention des donnes ncessaires. Ceux-ci sont
de voir jusqu' quel point leur impact sur la forme en est
dvelopps dans Audiosculpt et OpenMusic. Au final,
le reflet.
ces outils pourraient aboutir une application ddie.
Ce projet, qui en est son dbut, est ralis dans le
cadre d'une collaboration entre le groupe de recherche
Mus3 et le centre de recherche NICS, au Brsil, et
l'IRCAM, en France, et reoit l'apport financier du
CNPQ au Brsil.

1. UNE PROCEDURE POUR L'ANALYSE DE


L'ORCHESTRATION

Le processus de dsymbolisation des instruments


de l'orchestre, entam au dbut du XIXe sicle, en
particulier par Berlioz ([20]:63), a contribu
l'intgration dfinitive des stratgies d'orchestration aux
dimensions structurantes de la composition. Mon
objectif est d'tablir, au moyen d'applications
exprimentales sur divers rpertoires, une procdure
d'analyse qui permettrait d'valuer l'impact de ces
stratgies sur la structure ou sur l'expression musicales.
En effet, si le dveloppement de logiciels d'aide
l'orchestration a commenc mettre rcemment la
disposition du compositeur plusieurs produits
fonctionnels [4, 19], la littrature n'a encore apport que
trs peu de propositions qui satisfassent une approche Figure 1. Organigramme du modle d'analyse de
analytique systmatique de l'utilisation de ressources l'orchestration.
orchestrales pour l'expression de la forme. Tout ce que
nous disposons sur ce sujet fournit, au mieux, quelques En d'autres termes, il s'agit d'aborder l'objet d'tude
bons indices [2, 7, 10, 12, 22], ou consiste en des en mme temps au niveau prescriptif du code crit et au
approches limites ou trop simplistes [5, 9]. Ma niveau concret de sa ralisation sonore, deux angles
contribution ne se situe pas au niveau d'un logiciel d'approche dont on pressent que la convergence et
ddi, tout au moins pour l'instant; elle propose un cadre synchronie ne seront pas toujours au rendez-vous.
mthodologique, et quelques outils informatiques dans L'objectif est de rendre le modle capable de supporter
l'environnement OpenMusic, dont le but est d'aider le ces ventuelles dichotomies comme intrinsques la

95
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

dimension orchestration, tant donn que l'infinit 2. SCORE ANALYSIS : EVALUATION DE LA


d'impondrables qui peuvent intervenir dans la COMPLEXITE RELATIVE DES
ralisation d'une uvre pour orchestre en situation de CONFIGURATIONS INSTRUMENTALES
concert n'a jamais inhib les compositeurs dans leur
volont de fixer sur le papier les moindres dtails de Le premier volet du modle, qui analyse les
l'excution, comme si ceux-ci fussent aussi objectifs et prescriptions compositionnelles, a t dcrit rcemment
stables qu'une indication mtronomique. en dtail [18]. Je ne vais qu'en rsumer ici l'essentiel.
Pour illustrer cet expos, j'ai choisi un fragment de la Luvre (ou le fragment) est dcoupe en une
5e Symphonie de Beethoven (1807), prcisment la squence de "configurations instrumentales locales"
transition qui relie la fin du 3e mouvement ( partir de la (Local Sonic Setup). Ces configurations sont
m. 237) au dbut du 4e mouvement (m.1-4). Cet extrait considres comme des sous-ensembles de l'ensemble
me semble caractristique de l'importance du rle de des instruments, techniques de jeu et effets que le
l'orchestration dans la gestion de la tension dramatique compositeur utilise dans luvre ce que j'appelle les
chez ce compositeur. En effet, il part d'un presque rien "ressources sonores" (Sonic Resources), dont on aura
sonore (Figure 2) pour aboutir progressivement un pralablement tabli un Index complet (Figure 4). Sur
colossal tutti orchestral, sans prcdent l'poque pour un vecteur du simple au complexe, plus une
une symphonie (Figure 3). Cette transition provoque configuration s'approche de l'ensemble, plus elle sera
comme une suspension thmatique et temporelle dans dite "complexe" et recevra un poids proche de (1.0)1.
laquelle rgne la fragmentation sonore. C'est pourquoi Cette quantification (Weighted Number of Resources,
elle m'a paru offrir un excellent terrain d'exprience. ou WNR) est ensuite qualifie par un composant appel
Relative Voicing Complexity (RVC), qui value la
manire par laquelles les ressources sonores sont
combines dans chaque setup en des flux plus ou moins
indpendants. Je prends comme base une relecture de la
Thorie des Partitions par Gentil-Nunes [11], ainsi que
le modle d'analyse des textures de Wallace Berry [2].
Plus les ressources sont "agglomres" (homophonie,
homorythmie, ), plus le Voicing est considr comme
"simple"; et plus elles sont "disperses", "complexe".
RVC agit alors comme un modulateur de WNR, cest--
dire qu'il en modifie la pondration initiale dans une
proportion qui va de zro un maximum fix par
Figure 2. Beethoven, Symphonie n5. IIIme l'utilisateur. D'une manire gnrale, on peut s'attendre
mouvement, m. 231-239. observer une plus grande indpendance des parties
instrumentales (pondrations plus leves de RVC) chez
un Webern que chez Mozart, par exemple, mais, par
contre, il est probable que les configurations locales des
symphonies de ce dernier soient plus fournies (WNR
plus lev) que celles du compositeur sriel 2.
On obtient en synthse une valuation globale du
setup appele Local Sonic Setup Relative Complexity.
Une feuille de calcul Excell (Figure 4) et un patch
OpenMusic (Figure 5) facilitent ces oprations, encore
que la collecte des donnes de base doive se faire la
main et l'il, si je puis dire, car un fichier numrique
ou encod en MIDI de la partition est de peu de secours
pour ces finalits. Un graphique (Figure 6) montre
l'volution de la complexit relative des setup de
l'extrait de la Symphonie de Beethoven.

Figure 3. Beethoven, Symphonie n5. IVme


mouvement, m. 1-4.

1
Je reviens sur la notion de complexit relative plus
avant.
2
A propos de cet aspect de l'orchestration de Webern, cf.
[17, 18, 21].

96
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

3. SOUND ANALYSIS : ANALYSE DU


RESULTAT SONORE DES PRESCRIPTIONS
ECRITES

3.1. Prparation du matriel audio

Le dcoupage de la partition en units sonores


consistantes du point de vue de l'orchestration, expliqu
ci-dessus, doit tre reproduit l'identique pour le fichier
audio de luvre, ceci afin d'analyser comment et
jusqu' quel point se concrtisent les prescriptions
crites, et d'valuer les convergences et divergences
entre l'une et l'autre3. Cette tche peut tre automatise
grace la fonction Generate Markers disponible dans le
logiciel Audiosculpt4. La programmation adquate des
paramtres du gnrateur exige quelques essais et
dpend en tout tat de cause de luvre et de son
Figure 4. Vue partielle de la feuille de calcul Excell
enregistrement. Selon mon exprience, la segmentation
pour le relev et l'analyse des Local Sonic Setup. La
par Positive Spectral Differencing dtecte trs finement
colonne de gauche constitue l'Index des Ressources
les changements d'nergie, lesquels, en rgle gnrale,
Sonores (SRI) utilises dans la 5e Symphonie. Les setup
correspondent aux changements de sonorits, cest--
(disposs sur l'axe horizontal) sont tiquets par le
dire de setup. On ajuste ensuite manuellement les
numro de mesure o ils commencent.
marqueurs qui ne seraient pas places exactement o on
le souhaite une attaque synchrone sur la partition peut
ne pas l'tre autant dans le monde rel de sa ralisation
acoustique , on ajoute les segments que la partition
induit mais qui sont passs inarperus la dtection (ou
on reparamtre la fonction pour qu'elle les reconnaisse),
on retranche ceux qui ne correspondent pas la
segmentation prtablie moins que l'on ne prfre les
incorporer au dcoupage original (et revenir l'tape
antrieure).
L'tape suivante, toujours dans Audiosculpt, utilise la
fonction Chord Sequence Analysis et sa mthode de
calcul du spectre moyen (Average Spectrum).
Audiosculpt entend par accord un groupe de partiels
et d'amplitudes normaliss, dont le dbut et la fin sont
dtermines par les marqueurs. L'analyse calcule la
moyenne du spectrogramme sur le segment et fait
coincider un partiel chaque pic [8]. J'ai utilis, pour la
musique d'orchestre, un nombre maximum entre 40 et
Figure 5. Premier niveau du patch OpenMusic pour le
60 partiels, et un seuil d'amplitude de -70 dB ou li au
relev et l'analyse des Local Sonic Setup.
sonogramme. Les rsultats de l'analyse (comme celle
reprsente Figure 7) sont sauvegards, d'une part sous
forme d'une collection de petits fichiers audio dont
chacun correspond un segment, donc un LSS, et
d'autre part sous forme d'un fichier unique SDIF. C'est
ce matriel qui va tre requis pour l'analyse de
l'orchestration proprement dite, dans OpenMusic.

3
C'est aussi par ce moyen que l'on pourra analyser
divergences entre enregistrements diffrents de la mme
Figure 6. Histogramme de l'volution de la complexit oeuvre.
4
relative des Local Sonic Setup dans l'extrait de Audiosculpt n'est bien sr pas le seul logiciel sur le
Beethoven. Les donnes sont tiquetes par le numro de march proposer une gnration automatique de
mesure. marqueurs. Mais ce sont les fonctionalits
complmentaires auxquelles je fais appel qui le rendent
prfrable pour mon projet.

97
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

d'tre traites, ce qui permet de tirer profit des fonctions


dveloppes jusqu'alors pour le MIDI. Le midicent, qui
est l'unit standard pour la codification des hauteurs
dans OpenMusic, permet une transcription suffisamment
approche des frquences exprimes en Herz (sans
passer par une normalisation chromatique). Les autres
conversions (time en onsets, amplitudes linaires en
velocity) se font aussi sans perte significative
d'informations.
Parmi la collection de fonctions analytiques propose
par SOAL, un certain nombre peut dj fournir des
informations pertinentes pour notre objectif, soit en
Figure 7. Une capture d'cran d' Audiosculpt montrant, l'tat, soit adaptes ou incluses dans un patch appropri.
fentre du bas, les rsultats de la Chord Sequence Je ne vais pas redcrire ici ces fonctions, encore moins
Analysis by Average Spectrum, pour le mme extrait de leurs algoritmes, puisque ces informations sont
Beethoven. Les LSS sont identifis par les marqueurs disponibles depuis longtemps en ligne7 . Je vais plutt
verticaux, et chaque ligne horizontale correspond un mettre l'accent sur la contribution qu'elles peuvent
des partiels dtects par l'analyse. apporter une comprhension de la fonction de
l'orchestration sur la forme.
L'analyse ralise par Audiosculpt retient pour
3.2. SOAL et l'analyse de l'orchestration
chaque setup un certain nombre de partiels. SOAL peut
Dans le cadre de mon projet d'analyse de la musique extraire de cela des sries de donnes, toutes
partir du concept de sonorit [13, 14, 15], j'ai t normalises sur le vecteur simplicit-complexit et qui,
amen, avec mon groupe de recherches Mus3 et en une fois transposes visuellement (graphes,
convention avec l'IRCAM, dvelopper une histogrammes), donnent une image de l'volution de
bibliothque ddie pour OpenMusic, SOAL (pour Sonic l'impact de l'utilisation des ressources sonores sur la
Object Analysis Library) [16]5. Le concept-clef de la forme en fonction: (1) du nombre de partiels par setup;
bibliothque est la segmentation de luvre en une (2) de la densit relative de partiels par setup; (3) de la
squence d'units sonores composes (sonic object dans distribution de ces partiels le long du spectre, sur un
le jargon de SOAL ) ([15]:37 et sq.) et d'analyser vecteur o la distribution la plus harmonique est
l'volution de celles-ci au cours de luvre par divers pondre comme la plus "simple"; (4) de l'ambitus
descripteurs (appels composants) de leurs relatif cest--dire la distance observe entre les
caractristiques hors-temps et en-temps . Ces premier et dernier partiels de chaque setup; (5) de la
composants sont, pour la plupart, d'ordre statistique: manire dont les partiels se rpartissent le long du
densits, ambitus, modes de distribution spatiale et spectre, donnant si ncessaire un relev du nombre de
temporelle des sons, entropie relative, entre autres. La partiels pour chaque bande de frquence choisie, et une
rgle pour l'valuation de l'importance d'un composant pondration des setup en fonction du registre des bandes
donn est le calcul de son taux de complexit relative. occupes8 ; (5) de l'amplitude moyenne relative de
Celle-ci tablit un poids maximum (1.0), qui correspond chaque setup; et, si pertinent dans le contexte, (6) de la
la configuration musicale qui rendrait la sonorit la dure relative de chaque setup.
plus "complexe" possible, dans le domaine du A titre d'exemple de la fonctionalit de ces
composant. Les configurations observes sont donc descriptions, la Figure 8 met en corrlation l'volution
calibres sur un vecteur de simplicit/complexit des LSS telle que dj montre Figure 6, avec celle des
relative6. Cette rgle de relativit universelle est densits relatives et de la linarit relative. Pour
fondamentale (tous les composants doivent pouvoir se cette dernire, il faut noter que les pondrations les plus
soumettre cette normalisation) pour le succs de basses indiquent une structure spectrale qui tend
l'analyse, car c'est le seul moyen de comparer et l'harmonicit, comme c'est le cas du dernier LSS, qui
manipuler des paramtres musicaux htrognes, dont correspond au tutti en Do Majeur du dbut du 4e
les qualits intrinsques ne sont pas comparables mouvement de la symphonie. La figure 9 est une capture
([15]:40 et sq.). d'cran du patch OpenMusic montrant le fonctionnement
Programm d'abord exclusivement pour l'analyse de de SOAL partir du fichier SDIF de Beethoven.
fichiers MIDI, l'interface de lecture soal-reader a volu
et accepte depuis, entre autres, les fichiers au format
SDIF. En fait, les donnes transmises par le format 7
SDIF sont converties internement au format MIDI avant Ainsi que, pour les plus anciennes, dans [13].
8
Ces bandes de frquences et ces pondrations sont
dfinies par l'utilisateur. On peut penser qu'une analyse
5
Accessible, avec sa documentation, peut souhaiter pondrer plus lourdement les setup
sur:www.ccta.ufpb.br/mus3. possdant une majorit de frquences trs graves ou trs
6
Pour la densit, par exemple, le vecteur circulera du aigus, par exemple, cause de leur gros impact sur la
vide au satur. complexit sonore global.

98
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

vidence le domaine du timbre que l'orchestration du


compositeur affecte le plus, ou celui qui offre le plus de
saillance la perception. Le problme rside en fait dans
la quantit de descripteurs disponibles, et l'htrognit
des informations produites. En effet, il important de
garder l'esprit que le concept de base d'un descripteur
est d' aplatir un composant multi-dimensionnel, le
timbre, sur une seule dimension. En d'autres termes,
chacun opre une rduction oriente du signal, en
fonction de l'information qu'il est cens retourner. Par
consquent, aucun n'est capable, tout seul, de fournir
l'ensemble des informations que nous souhaitons. L'ide
Figure 8. Une analyse de l'extrait de Beethoven par est donc de constituer un rseau modulable de
deux descripteurs de SOAL. descripteurs auxquels il serait fait appel en fonction des
contextes, et normaliser leur rsultats sur le mme
vecteur de complexit relative auquel ont t soumis les
autres composants du modle. L'avantage de cette
formatation est qu'elle peut produire une vision plus
synthtique, plus hollistique, du comportement des
configurations sonores sur le temps. En effet, il ne s'agit
pas tant de qualifier les setup dans l'absolu, mais plutt
d'valuer le degr de diffrence, ou distance, entre un
setup et l'autre, dans un domaine donn.

3.4. Un descripteur psycho-acoustique experimental:


Formantic Centroid

Plusieurs descripteurs ont dj t, ou sont, tests par


notre groupe de recherche sur plusieurs uvres, avec
des rsultats dont la pertinence varie em fonction du
contexte musical, et, surtout, de ce que l'on cherche
mettre en vidence. Un des plus connus est la Spectral
Centroid. De nombreuses tudes ont dj qualifi ce
descripteur comme tant un bon outil pour l'analyse
musicale, tant donn sa forte corrlation avec la
perception de la brillance du son (cf. [23, 25, 26]).
Comme on le sait, il indique o se situe le centre de
Figure 9. Patch OpenMusic montrant l'analyse de
gravit du spectre. Une manire simple de le dcrire
Beethoven avec SOAL.
consiste dire que la centroide spectrale est le rsultat
de la moyenne des frquences d'un spectre, de la plus
3.3. Un rseau de descripteurs psycho-acoustiques grave la plus aigu, pondre par leurs amplitudes
respectives..
Outre les descripteurs d'ordre statistique numrs ci- Le problme de cette formule est que cette moyenne
dessus, il est fondamental d'aborder galement l'analyse arithmtique peut dfinir un point sans existence
de l'impact de l'orchestration partir d'un o plusieurs physique relle dans l'objet observ. Il est possible aussi
descripteurs psycho-acoustiques. Comme l'a dj bien que par ce calcul, malgr la pondration exerce par les
montr Philippe Lalitte dans son analyse de la Sequenza amplitudes, la toujours grande quantit de frquences
VII de Berio, l'extraction d'informations sub- aigus biaise un peu la ralit perceptive de l'objet
symboliques opre par les descripteurs sonore, en poussant irrellement les moyennes vers le
psychoacoustiques offre la possibilit d'approcher la haut du spectre. Il semble donc permis de penser qu'une
perception de plusieurs dimensions musicales telles que slection pralable des frquences les plus prominentes
le temps [], la hauteur (rugosit, saillance, [], etc.) pourrait engendrer une corrlation plus fine avec la
et le timbre (brillance, inharmonicit, enveloppe, clart perception. Or, les frquences les plus saillantes d'un
spectrale, etc.) ([24]:116). Une des bibliothques la spectre se regroupent en ce que l'on appelle des
plus connue et peut-tre la plus ample est celle formants, qui sont le rsultat de pics d'nergie dans une
dveloppe par l'Universit Queen Mary de Londres, rgion plus ou moins troite du spectre [8]. D'o il
pour le logiciel Sonic Vizualizer [6]9. Un grand nombre semble logique qu'un calcul de la centrode des formants
d'entre eux peut se montrer adquat pour mettre en puisse mieux dcrire la brillance de certains complexes
sonores. Nous avons donc labor une fonction qui
9
opre ce calcul, Formantic Centroid, que nous avons
Mais voir aussi [1, 3], entre autres.

99
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

implemente dans OpenMusic (Figure 10) de manire tudier si cette rectification traduit mieux la ralit de
faciliter son inclusion dans le modle d'analyse de la perception des timbres orchestraux.
l'orchestration10. Cette inclusion implique entre autres
une normalisation sur le vecteur de complexit relative,
pour laquelle il est ncessaire de fixer une valeur
paradigmatique maximum. Pour celle-ci, j'ai adopt la
Formant Centroid d'un bruit blanc (10.922,781 Hz), que
l'on peut considrer comme le son le plus complexe
dans ce domaine. On obtient alors, par factorisation, la
Relative Formant Centroid (RFC) de chaque setup.

Figure 11. Le mme extrait de Beethoven analys


par deux formules de calcul de la centroide.

4. CONCLUSION

Cet expos a montr l'ossature d'un modle pour


l'analyse de l'orchestration. Celle-ci constitue une sorte
de guide pour le dveloppement, non seulement d'une
mthode et de ses outils informatiques d'appui, mais
aussi, simultanment, d'une thorie. S'agissant d'une
dimension encore peu formalise dans le domaine de
l'analyse musicale, j'ai choisi une mthode empirique,
qui consiste tester systmatiquement les composantes
du modle sur des uvres tenues pour exemplaires, pour
Figure 10. Le patch OpenMusic pour l'analyse juger de leur ventuelle validit. Le but est de parvenir
compare de la Spectral Centroid et de la Formantic le plus tt possible un modle assez cohrent encore
Centroid. Absolute Analysis correspond la que toujours perfectible, bien videmment pour
normalisation des valeurs sur une chelle o celle du produire des rsultats musicologiquement pertinents sur
bruit blanc est le maximum. Local Analysis prend certains corpus d'uvres, au sujet desquelles on sait le
comme paradigme l'unit locale possdant la plus haute rle fondamental de l'orchestration sans pour autant tre
valeur. en mesure de l'expliciter plus rigoureusement.
Illustrations, figures et tableaux
RFC doit encore passer par une batterie de tests, y
compris en comparaison avec la centrode spectrale
5. REFERENCES
conventionnelle. Au cas o elle s'avre rellement
fonctionnelle dans certains contextes, sa description [1] Bogdanov, D. et al. Essentia: An Audio Analysis
dtaille fera l'objet d'une publication en temps Library For Music Information Retrieval ,
opportun. Proceedings of 14th International Society for Music
Pour l'heure, la figure 11 montre l'volution de la Information Retrieval Conference, Curitiba, ISMIR
RFC pour le mme extrait de Beethoven, mise en 2013, p. 493-498.
relation avec celle obtenue par le calcul de la Relative
Spectral Centroid (cest--dire le calcul standard calibr [2] Berry, W. Structural functions in music, Dover, New
sur l'chelle de complexit relative partir du bruit York, 1987.
blanc), ce qui met permet de constater que les deux [3] Cabrera, D., et al. PsySound3: an integrated
descripteurs retournent des valuations diffrentes. Dans environment for the analysis of sound recordings ,
la plupart des cas (les exceptions sont les LSS 367 et Acoustics 2008: Proceedings of the Australian
368), RFC retourne des pondrations infrieures au Acoustical Society Conference, Geelong, 2008.
calcul standard, ce qui signifie qu'elle tend rebaisser la
centroide vers des frquences plus graves11. Il reste donc [4] Carpentier, G. "Aide logicielle l'orchestration: Un
tat des lieux". Musimediane, 2011, n. 6.
http://www.musimediane.com/spip.php?article134.
10
Je remercie Mikhail Malt pour sa contribution dans le
[5] Cogan, R. New Images of Musical Sound, Harvard
dveloppement de cette fonction.
11
Puisque le paradigme de complexit maximum est le bruit blanc
University Press, Cambridge, 1984.
10.922 Hz (valeur (1,0) de l'chelle), la hauteur des histogrammes
indique donc la hauteur relative de la frquence de la centroide.

100
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

[6] Cook, N.; Leech-Wilkinson, D. A Musicologist's http://www.contimbre.com/index.php?option=com_co


guide to Sonic Vizualiser, King's College, London, ntent&view=article&id=51&Itemid=82&lang=en.
2009.
[20] Kaltenecker, M. Confiture de neige. Le bruit
[7] Dalbavie, M.A. Pour sortir de l'avant-garde , Le dans la musique du 19e sicle, entre discours esthtique
timbre, mtaphore pour la composition (Barrire, et pratique instrumentale , Analyse Musicale, n 56,
J.B., org.), Christian Bourgois, Paris, 1991, p. 303- p. 60=72, 2007.
334.
[21] Kim, J. Reprsentation et analyse musicale
[8] Diatkine, C. Audiosculpt 3.0 User Manual, IRCAM, assiste par base de donnes relationnelle de la
Paris, 2011. partition des Variations pour orchestre op. 30 dAnton
http://support.ircam.fr/docs/AudioSculpt/3.0/co/Audi Webern. Thse de Doctorat, Universit de Paris-IV-
oSculptguideWeb.html. Sorbonne, Paris, 2007.
[9] Dolan, E. I. The Orchestral Revolution. Haydn and [22] Koechlin, Ch. Trait de l'Orchestration, Max
the Technologies of Timbre, Cambridge University Eschig, Paris,1954.
Press, Cambridge, 2013.
[23] Lalitte, P. Densit 21,5 de Varse : un
[10] Erickson, R. Sound structure in music, condens d'harmonie-timbre in: Horodyski, T. &
University of Chicago Press, Berkeley,1975. Lalitte, P. Edgard Varse. Du son organis aux arts
audio, L'Harmattan, Paris, 2008, p. 245-277.
[11] Gentil-Nunes, P. Anlise particional: uma
mediao entre composio musical e a teoria das [24] _____ . Du son au sens : vers une approche
parties, Thse de Doctorat. Universidade Federal do sub-symbolique de lanalyse musicale assiste par
Estado do Rio de Janeiro, Rio de Janeiro, 2009. ordinateur. Musurgia, Vol. XVIII, p. 100.116, 2011.
[12] Goubault, C. Histoire de l'instrumentation et de [25] Maia, I. L.; Schaub, S. Analyzing textural
l'orchestration, Minerve, Paris, 2009. progressions in Iannis Xenakis's Aroura (1971) for
twelve strings - Some Preliminary Results. , XXII
[13] Guigue, D. Une Etude pour les Sonorits
Congresso da Associao Nacional de Pesquisa e Ps-
Opposes Pour une analyse oriente objets de
Graduao em Msica (ANPPOM), Joo Pessoa,
loeuvre pour piano de Debussy et de la musique du
ANPPOM, Vol. 1, p. 496-503, 2012.
XXe sicle, Atelier National de Reproduction des
Thses, Lille, 1997. [26] Malt. M., & Jourdan, E. Le BStD une
representation graphique de la brillance et de lecart
[14] _____ , et al. SOAL For Music Analysis : A
type spectral, comme possible representation de
Study Case With Berios Sequenza IV , Actes des
levolution du timbre sonore. in: Hashner, X., &
JIM05 Journes dInformatique Musicale, CICM,
Ayari, M. Lanalyse musicale aujourdhui, crise ou
Paris, 2005.
(r)volution? Universit de Strasbourg/SFAM,
http://jim2005.mshparisnord.org/articles.htm.
Strasbourg, 2009 (document communiqu par les
[15] _____ Esthtique de la Sonorit. L'hritage de auteurs).
Debussy dans la musique pour piano du XXe sicle,
L'Harmattan, Paris, 2009.
[16] _____ Sonic Object Analysis Library
OpenMusic Tools For Analyzing Musical Objects
Structure. Software Documentation. Mus3, Joo
Pessoa, 2010. http://www.ccta.ufpb.br/Mus3.est
[17] ____ Dirio de bordo. Webern, Variaes para
orquestra op. 30 , IV. Seminrio Cincia Msica
Tecnologia: Fronteiras e Rupturas, So Paulo,
ECA/USP, 2012.
http://www2.eca.usp.br/smct/ojs/index.php/smct/issue/
view/6 (visit en 07/2013).
[18] _____ . Une mthode d'analyse de
l'orchestration: rapport de recherche applique aux
Variations op. 30 de Webern , Actes des Journes
d'Analyse Musicale, SocitFranais d'Analyse
Musicale, Rennes, 2013 (sous presse).
[19] Hummel, T. conTimbre. Software
documentation. 2014.

101
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

STRUCTURES MODALES ET ORNEMENTATIONS DANS LES MUSIQUES


ARABES : MODELISATIONS ET PRESENTATION DUNE
BIBLIOTHEQUE DOBJETS DANS CSOUND

Raed BELHASSEN
CICM- Centre de recherche en Informatique et Cration Musicale -EA 1572
Universit Paris 8
MSH Paris Nord
brmusique80@yahoo.fr

RSUM modlisation double niveau : modlisation des fins


danalyses et modlisation dans le but de recrer et de
Dans la perspective de cration dune bibliothque
reproduire. Ainsi, la notion de modle nous permet
dobjets ddie la musique arabe dans lenvironnement
d explorer certaines proprits des composantes
Csound, nous exposons tout dabord quelques lments
abstraites dgages par un travail danalyse et sur un
intrinsques idiosyncratiques des langages musicaux
plan plus abstrait, il (le modle) opre des fins
concerns. La physionomie homophonique est esquisse
dinterprtation ou de comparaison [7].
et la structure modale base sur le maqm est dtaille.
Notre motivation premire consiste, non seulement
Nous abordons la causalit des chelles intervalliques
modliser quelques idiomes des musiques arabes des
grce une approche historico-acoustique afin de
fins danalyses, mais notre travail vise aussi les
dgager les composantes lmentaires. Les attitudes
possibilits de synthse, de cration et dmulation.
compositionnelles et interprtatives musicales sont
Nous tenterons dans un premier lieu de dgager les
analyses, en particulier, les ornementations et les
aspects formels inhrents aux musiques arabes, ensuite
subtilits dexcution.
nous dtaillerons le processus opratoire et les mthodes
En second lieu et dans loptique de repenser lespace
employes dans le cadre dune modlisation
composable dans ce contexte, la notion de modle but
informatique et musicale la fois. Nous prsenterons
de cration est explique et une modlisation
une bibliothque dobjets dans lenvironnement Csound,
informatique dans Csound est propose.
base sur des UDO et des tables de fonction, tout en
Les difficults lies la composition assiste par
dtaillant le fonctionnement de ses composantes
ordinateur, en ce qui concerne la musique arabe, sont
intrinsques.
soulignes et une solution est propose : une
bibliothque dobjets dans Csound. Ses units
intrinsques : UDO (User Defined Opcode), table de 2. LES MUSIQUES ARABES IMPROVISEES :
fonction, Opcodes, boucles et conditions sont exposes. PROPRIETES MUSICALES ET ESTHETIQUES
Nous analysons son fonctionnement, les stratgies INHERENTES
opratoires employes ainsi que ses techniques
Afin de cerner explicitement notre objet dtude, nous
dacheminement. Enfin, nous voquons les perspectives
proposons, dans cette section, de dsagrger les lments
futures.
intrinsques aux musiques arabes2. Cette phase danalyse
est fondamentale dans la dmarche de modlisation : les
1. INTRODUCTION idiomes analyss dans cette section serviront dans la
cration des modles informatiques par la suite.
Composer la musique arabe via les nouvelles
technologies soulve de nombreuses problmatiques
intrinsques. En effet, prendre en compte les
idiosyncrasies des langages musicaux concerns, entre le
caractre polymorphe de linterprtation musicale,
laspect homophonique et le langage modal infod un
systme intervallique, est substantiel dans une telle nous permet de composer les musiques arabes. Nous citons titre
perspective. dexemple quelques travaux de modlisation informatique but
Il est vident que travailler sur une telle approche, peu danalyse ou/et de gnration de musique tels que les travaux dOlivier
dveloppe jusquici dans le domaine de linformatique Lartillot, Mondher Ayari, Grard Assayag ou encore les travaux de
Marc Chemillier. Dautres travaux dimplmentations des chelles
musicale1, implique une certaine dmarche de microtonales sont intressants, nous citons par exemple : le logiciel
Sequenza ou encore lextension Omicron dans OpenMusic. (Liste non
1
Notre dmarche de modlisation consiste prendre en compte exhaustive).
2
certains idiomes des musiques arabes dans une seule bibliothque sous Ne desservant pas notre tude, nous avons volontairement fait le
Csound : laspect homophonique, les systmes intervalliques temprs choix dexclure ltude du systme rythmique et les relations
ou non, les maqms et les subtilits dexcution. Cette modlisation musique/posie/forme vocale.

102
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

2.1. Structure modale des langages musicaux arabes 2.2.1. Intervalles musicaux jusquau XIIIe sicle

Les langages musicaux arabes sont caractriss par Les thoriciens arabes ont dfini les intervalles en
leurs aspects monodique, monophonique et fonction de lemplacement des doigts sur le manche des
htrophonique, rgis par le systme modal arabe instruments. Nous ne possdons pas de documents crits
[10]. antrieurs ceux dAl Farabi4 [13]. Nonobstant, nous
savons que jusquau Xe sicle, il existe bel et bien au
2.1.1. Le maqm moins deux systmes acoustiques diffrents : Le
premier repose sur une division de lchelle de deux
Le terme mode nous renvoie vers le mot maqm, ce octaves en quarante parties gales (), tandis que le
qui signifie lieu en arabe, devenu au XVIIIe sicle la deuxime systme comporte les intervalles de limma, de
signification dun emplacement sur le manche dun ton majeur, de tierce mineure, de tierce majeure, de
instrument de musique et il dsigne une succession quarte juste et de quinte juste (Figure 3) [10]. Les
dintervalles. Poch dfinit le maqm comme une ligatures sur le manche de linstrument nous donnent une
srie dintervalles qui, selon les cultures, seront indication sur les intervalles musicaux, Al kawarezmi [6]
regroups en genre ou en famille (jins) [28]. nous informe que la premire ligature (ligature de
lancien mdius) se place environ autour du quart entre
2.1.2. Le jins la ligature de lindex et celle de lannulaire, la deuxime
est celle du mdius perse et se place en leur milieu
Genre en franais, le terme jins (pluriel-ajnas) environ et la troisime est celle de Zalzal5, aux trois
dsigne une distribution de cellules mlodiques, quart entre les deux ligatures peu prs. Lassimilation
intrinsques au maqms, en tricorde, ttracorde et de la musique arabe lintervalle qui correspond au
pentacorde3 [28], excuts selon un enchainement mdius de Zalzal, appel tierce neutre, est devenu
dintervalles donn. symbole de la diffrence entre la thorie musicale
A titre dexemple, nous prsentons le maqm Bayati, occidentale et la musique arabe [25], en repoussant le
ses cellules mlodiques endognes ainsi que ses dualisme traditionnel de tierces majeures et mineures
variantes (Figure 1). Le genre Bayati en R est une [14], un intervalle exprim en rapport numrique
cellule fondamentale qui sert de point de retour chaque (27/22) (Figure 3) [10]. Au XIIIe sicle, Saffiyu al-Din
exploration modale. Lorsque la deuxime cellule est un Al Urmawi crit son livre Kitab al-Adwar-Le livre des
jins Hijaz, le mode change daspect et sappellera cycles, qui se fonde sur un systme bas sur le cycle
dsormais Bayati Churi. des quintes, qui tait dj connu. Mais son organisation
des intervalles et des cycles, en donnant leur nom utilis
dans la pratique, en fait un ouvrage exceptionnel [25].
Les crits de Saffiyu al-Din nous donnent une ide
prcise des cycles de son poque avec une approche
certes globale mais explicite, des modes qui prennent
appui sur les cellules mlodiques basiques que sont les
genres ttracordaux et pentacordaux, partir desquels se
construisent des structures modales (heptacordales et
octacordales) plus complexes [2]. Nous reprsentons
ci-dessous un exemple de cycle musical dcrit par Al
Urmawi ainsi que ses intervalles en rapports numriques
[9-23] (Figure 2).
Figure 1. Le maqm Bayati, ses jins et ses
variantes.

2.2. Intervalles musicaux : lhritage musical arabe

La concomitance des pratiques musicales et de


lchelle intervallique arabes nous conduit esquisser
rapidement les grandes lignes de son volution en Figure 2. Le mode Husayni en haut la
adoptant une approche acoustique/historique. prsentation dintervalles par Saffiyu al-Din, en
bas la reprsentation en rapports numriques.

4
Philosophe, musicien et musicologue du Xe sicle ; il est galement
lauteur du livre Kitab al Musiqa al Kabir (Le grand livre de la
3
Un maqm (tba en Tunisie) peut tre compos de plusieurs musique).
5
jins crant des regroupements qui peuvent tre assembls, Musicien et instrumentiste trs dou de la cours abbaside la fin du
dsassembls ou imbriqus [15]. VIIIe sicle.

103
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Figure 3. Les chelles intervalliques respectives du IXe/Xe sicles, tierce persane/tierce neutre de Zalzal et de
Safiyu al-Din-XIII. [10]
(), linterprte est libre de privilgier certaines
dterminations mlodiques () la varit de ces patrons
2.2.2. La gamme arabe dans la conjoncture musicale mlodico-rythmiques caractrise le style propre de
actuelle chaque interprte, mais elle dpend surtout de ses
capacits dimprovisation . Cette libert dans
La musique arabe a subi une transformation linterprtation est lessence mme de la musique arabe :
spectaculaire, rsultat dun phnomne acculturatif6 linstrumentiste, non seulement, explore un espace
allochtone et exogne, ou indigne mme, due aux sonore modal donn, mais il suit un processus opratoire
diffrentes pratiques musicales imprgnes des personnel formulant des variations de texture sonore, de
rpertoires divers tout en gardant leur essence, leur lien timbre, dintensit et dornementations7.
avec la tradition [116]. Les idiosyncrasies musicales
autochtones dans le monde arabo-irano-turque au dbut 2.3.2. Les ornementations
du XXe sicle ont cr un vritable besoin identitaire. Le
congrs de musique du Caire de 1932 a engendr une Peu dtudes sintressent aux ornementations dans les
vritable dichotomie esthtique entre la musique musiques arabes8, pourtant, elles sont considres
traditionnelle et les pratiques nouvelles, y compris comme tant un procd de composition et non un
ladoption dune chelle tempre de 24 quarts de tons artifice dexcution 9 [29]. AL Faruqi [5] crit propos
[27]. : Pour lartiste arabe, lornementation nest donc pas
un additif, un lment superflu ou amovible de son art.
2.3. Attitudes compositionnelles et interprtatives Cest le matriau mme partir duquel il faonne des
substantielles formes linfini (). Lornementation peut comporter
des additions mlodiques (). Une grande partie de ces
additions sont comparables celles que lon rencontre
2.3.1. Limprovisation instrumentale dans la musique occidentale (fioritures, trilles, mordants,
etc) . A partir de ce constat, nous savons quune
Grce un schma prtabli bas sur un matriau broderie est au cur de plusieurs ornements, tel quun
modal, linstrumentiste explore les aspects formels du trille qui est une suite de broderies rapides, le mordant
maqm en suivant un trac hirarchique sinscrivant correspond une broderie suprieure ou infrieure ainsi
dans une certaine temporalit dynamique avec un
dploiement mlodico-rythmique instantan. Ayari [10]
crit propos du taqsim (improvisation instrumentale 7
Abou Mrad distingue trois types dimprovisations : monomodulaire,
explorant le maqm en exploitant beaucoup de plurimodulaire caractre cantillatoire et plurimodulaire
possibilits techniques) : En tenant compte du grand dinterpolation. Nous citons propos des ornementations :
limprovisation monomodulaire consiste en la formulation de
ventail de possibilits que propose la tradition, variations autour dun phras prcompos et mesur. Ces variations
linterprte prvoit les conduites mlodiques et organise sont le plus souvent ornementales [1].
8
subtilement lvolution des progressions temporelles Nous pouvons citer titre dexemple le travail de Zouari dans sa
thse de doctorat o elle propose une notation base sur une
symbolisation des ornementations en musique arabe en passant par une
6
phase danalyse dun rendu sonore (enregistrement sonore de la troupe
Sur le plan musical, nous avons opt pour le terme acculturation au tunisienne pendant le congrs du Caire en 1932). [31]
9
sein dune mme culture arabo-islamique gnrale, o les rpertoires Viret souligne le rle fondamental que les ornementations jouent en
artistiques se diffrent selon les pratiques musicales locales [19]. grgorien comme dans toutes les musiques modales. [29]

104
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

que le gruppetto qui est une double broderie [3], nous


proposons de les examiner en dtails (Figure 4) [31]. Trmolo

Echapp

Sur-marche et Sous-
marche

Gruppetto

Appoggiatures

Tableau 1. Les micro-ornementations.


Macro-ornements
Figure 4. Arbre des ornements issus dune
broderie. Les macro-ornements sont le fruit de congruences,
dimbrications et de conglomrations motiviques des
micro-ornements. Une infinit de possibilits est offerte
2.3.2.1 Multiplicit formelle des ornementations : un interprte dans une dmarche dexcution musicale,
Revenons la citation dAL Faruqi ci-dessus concernant avec des improvisations sous-jacentes 11, infodes
le multi faonnage formel, nous nous posons cette son exprience, son vcu, ses connaissances,
question : est-t-il possible, dans une perspective de sinscrivant dans un processus dactualisation dun
modlisation, dinscrire une dmarche taxinomique matriau musical12 en perptuelle transformation. Non
concernant les ornementations en musique arabe ? seulement ce matriau musical arabe inextricable
Pour rpondre cette question, nous distinguons concerne les aspects modaux et les intervalles, mais
deux types dornementations, baptiss micro-ornement aussi la manire dornementer, avec des micro-
et macro-ornement. ornements, ou plus complexe encore, des macro-
ornements. Ci-dessous, un exemple de macro-ornement
Micro-ornements avec diffrentes possibilits danalyses (Figure 5).

Ce sont les ornementations de base trs semblables


celles de la musique occidentale. Ci-dessous une
slection des ornements qui concernent notre tude
(Tableau 1) [3-12-24-31]10.

Nom de lornement Sa ralisation

Broderies

Figure 5. Un macro-ornement : 1-Broderie, 2-


Doubles broderies Gruppetto, 3-Appogiature, 4-Trille, 5-Broderie,
6-Broderie, 7-Appogiature, 8-Trille, 9-Petite
Sous-marche, 10-Petite Sur-marche et 11-Double
Trilles broderie.

11
Le terme improvisation ou improvis dans la musique arabe
nous renvoie vers deux significations qui mritent dtre soulignes :
limprovisation au sens conventionnel du terme, et dun autre cot au
sens inhrent une musique de tradition orale, o chaque
10
Nous engageons ici une approche adapte la musique arabe grce rinterprtation dune mme uvre possde des caractristiques
une recherche slective dans les quatre rfrences cites ci dessus. diffrentes, connue comme une sorte de libert dinterprtation propre
Nous opterons pour les mmes dfinitions que celles dfinies par Fron chacun, qui dpend dun schma cognitif inextricable. Nous
concernant le trmolo : fluctuations rgulires de lamplitude lappellerons improvisation sous-jacente .
12
sonore , le trille : alternance entre deux hauteurs distinctes . En ce Pour plus dinformation concernant la notion dactualisation dun
qui concerne la Sur-marche et la Sous-marche, nous empruntons ces matriau musical pendant une interprtation/improvisation, son
termes Zouari, inspirs par lanalyse schenkrienne [17]. inscription dans une directionalit/temporalit, voir [21].

105
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

2.3.3. Subtilits interprtatives substantielles diverses le reproduire via Csound en sinscrivant dans une
perspective danalyse/synthse voire mme mulation15.
En plus des ornementations, les instrumentistes
arabes produisent des variations trs semblables aux
techniques dinterprtation musicale occidentale :
nuances, phrass, intonations, caractres, articulations
etc. Dans notre dmarche de modlisation, nous
mettrons laccent sur le vibrato, le glissando, le legato et
les effets lis aux variations de lintensit. Ci-aprs nous
visualisons les spectres respectifs de lenregistrement de
lorchestre tunisien au congrs du Caire en 1932
(Qacida tab Husseini) et une improvisation ralise par
un violoniste gyptien13. Le premier sinscrit dans une
perspective traditionnaliste et le deuxime, il sagit
dune improvisation moderne : la saillance des
variations de hauteurs est frappante dans les deux
exemples (Figure 6). Figure 7. Modle informatique dans Csound.
Notre dmarche de modlisation des fins de
construction dun espace composable en ce qui concerne
la musique arabe16, sengage dans une perspective,
dabord analytique, empirique, dun point de vue
musicologique/ethnomusicologique (premire section de
cet article), base sur lobservation pour arriver une
traduction formalise, ensuite dans une logique de
synthse, de cration et dmulation. En effet, une
Figure 6. Reprsentations spectrales de deux simplification globale pendant la reprsentation du
exemples sonores : ancien et moderne. modle musical, la plus fidle possible, permet une
caractrisation significative qui prend en compte
Nous remarquons facilement la prsence des glissandos plusieurs aspects inclus dans le systme musical modal
dans le premier exemple et des vibratos plusieurs arabe complexe, y compris les ornementations et les
reprises dans le deuxime : ceci dmontre formellement subtilits dinterprtation.
que lexcution musicale arabe, quelle sinscrive dans
une optique musicale moderniste ou conservatrice, ne
dpend pas seulement de la structure modale et des 3.1. Prendre en compte laspect homophonique de la
ornementations, mais aussi des techniques de jeux musique dans Csound
multiples propres chaque instrumentiste. La cration sonore dans Csound passe par deux
phases : partir des instruments de lorchestre, gnrs
3. MODELISATION INFORMATIQUE : UNE par des codes doprations (Opcodes), et suivant des
BIBLIOTHEQUE DOBJETS DANS CSOUND vnements dans une partition appele score. Afin
dillustrer le plus explicitement possible notre
Arom [8] dfinit le modle comme une reprsentation dmarche, nous avons choisi de travailler avec lOpcode
la fois globale et simplifie de lobjet , il ajoute, pluck qui produit un son de corde pince dcroissance
dans les musiques de tradition orale, la modlisation naturelle, bas sur lalgorithme de Karplus-Strong, pour
peut tre obtenue, soit par lmergence cest--dire la ses qualits dissipatives, utiles pour une reprsentation
matrialisation du modle, soit par une srie de formelle du rendu sonore des musiques arabes. Prendre
dductions successives . Un modle ontologique ou une en compte le caractre homophonique dune musique,
ontologie informatique est un outil de reprsentation revient crer des vnements successifs17, sinscrivant
dun ensemble de connaissances ou de concepts sous une
forme utilisable par un ordinateur14. Le modle que nous
prsentons dans cette section nous permettra non
seulement de comprendre les mcanismes de 15
Nous pouvons non seulement envisager la simulation de
fonctionnement du systme musical arabe, mais aussi de linterprtation musicale arabe, mais aussi la possibilit dune
mulation au sens propos par Berthoz [18], dans un but de recrer ou
de transformer. La notion dmulation est reprise et adapte par le
groupe de travail AFIM -visualisation du son, dans un sens artistique :
mulation artistique du son . Voir le rapport dactivit propos par
Anne Sedes au (consult le 5 janvier 2014) :
gtv.mshparisnord.org/IMG/pdf/rapportGTVisualisation.pdf
13 16
Mahmoud Serour, premier prix du meilleur violoniste du monde Lespace composable en tant que procdures opratoires, lensemble
arabe en 1996. de traitements et de variables dfinis auparavant et avec lesquels nous
14
Gruber dfinit lontologie comme une spcification explicite de la composons. Voir [20].
17
conceptualisation dun domaine : An ontology is an explicit En ce qui concerne Csound, nous entendrons par vnement tout
specification of a conceptualization [26]. dclenchement dun son.

106
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

dans une perspective dcriture horizontale. Nous Voici le code dun exemple parlant du maqm Husayni
dtaillerons ce point ci-aprs. bas sur lchelle du Saffiyu al-Din (Figure 2) :

3.2. Modliser laspect musical modal dans Csound


; maqam Husayni
ihusaynisib = pchoct(octcps(cpspch(8.00) *
A linverse de la premire section de cet article, ci- (16/9)))
aprs nous dtaillerons la stratgie opratoire utilise ihusaynilab = pchoct(octcps(cpspch(8.00) *
dans Csound pour modliser les maqms en suivant une (128/81)))
ihusaynisold = pchoct(octcps(cpspch(8.00) *
logique de reconstruction. (262144/177147)))
ihusaynifa = pchoct(octcps(cpspch(8.00) *
(4/3)))
ihusaynimib = pchoct(octcps(cpspch(8.00) *
3.2.1. Echelles et tempraments (32/27)))
ihusaynired = pchoct(octcps(cpspch(8.00) *
(65536/59049)))
giHusayni13 ftgen 116, 0, 8, -2, 9.00,
3.2.1.1 Tables de fonctions et maqms
ihusaynisib, ihusaynilab, ihusaynisold,
Nous proposons de crer une table de fonction ihusaynifa, ihusaynimib, ihusaynired, 8.00
lentte de lorchestre18 :
3.3. Modliser linterprtation musicale arabe dans
giRast13 ftgen 114, 0, 8, -2, 9.00, irastsib,
irastladb, irastsol, irastfa, irastmidb,
Csound
irastre, 8.00
Dans cette mme logique de reconstruction, les
LOpcode ftgen nous permet de crer une table, aspects lis linterprtation musicale arabe doivent tre
rfrence par un numro choisi, que nous nommerons srieusement pris en compte dans le processus
en fonction du maqm concern, et qui nous permet de compositionnel sous Csound.
stocker huit classes de hauteurs correspondantes aux
notes musicales dune octave (en loccurrence, pour cet 3.3.1. La ncessit dune adaptation
exemple il sagit du maqm Rast, n 114, avec huit
valeurs de classes de hauteurs correspondantes des Composer la musique arabe dans Csound soulve
notes musicales) (Figure 8). plusieurs problmatiques lies, en grande partie, la
question de lornementation : comment ornementer une
phrase mlodique dans une composition ? Quel
processus dintgration des macro-ornements serait
envisageable ?
Nous reprenons lexemple dun macro-ornement,
schmatis plus haut (Figure 5), voici le code sous
Figure 8. Une table de fonction avec deux Csound, videmment, dans la partie score :
possibilits dextraction de donnes.
i1 1 .07 8.05
i1 + . 8.07
3.2.1.2 Classes de hauteurs et intervalles musicaux i1 + . 8.05
i1 + . 8.07
Les hauteurs peuvent tre exprimes dans Csound en i1 + . 8.05
frquences ou en classe de hauteurs. Une classe de i1 + . 8.035
hauteur est compose dun nombre entier qui correspond i1 + . 8.05
i1 + .51 8.07
loctave et dune partie dcimale qui reprsente les
douze notes musicales en temprament gal (en fonction Linstrument 1 (i1) doit jouer le son de la frquence
de lOpcode utilis). Par exemple, pour un Do3, la classe qui correspond la classe de hauteur 8.05 linstant 1
de hauteur est 8.00, pour un R#3 : 8.03, un Mi : 8.04 ou pendant 0,07 seconde, ensuite la frquence qui
un Do4 : 9.00. Pour reproduire un quart de ton tempr correspond 8.07 linstant 1+0,07 et ainsi de suite20.
sur la note Mi par exemple, il faut la baisser de la Le macro-ornement, mis part son rle esthtique, dure
moiti : 8.035.
une seconde et consiste appliquer une fluctuation de
Sur une chelle non tempre, il faut convertir la classe
hauteur en dessous de la note finale. Voici le code sans
de hauteur dune note fondamentale en frquence, la ornementations :
multiplier par le rapport numrique qui dtermine
lintervalle, ensuite la reconvertir en classe de hauteur19. i1 1 1 8.07

Imaginons pendant lacte de composition dune


18
musique riche en ornements, la tache fastidieuse cause
Stratgie utilise notamment par L. Ayres et A. Horner. Voir [11].
19
Le fonctionnement avec des classes de hauteurs est plus pratique que
des nombreuses contraintes mergentes : multiplicit de
des frquences dans le processus de cration musicale. La conversion,
dans Csound, dune frquence vers une classe de hauteur nest pas
20
directe, contrairement linverse. Soulignons ici laspect successif du dclenchement des vnements.

107
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

lignes de code, recherches minutieuses de chaque classe event "i", 2, ktime2, .07, kampl, p5+p13,
p6+p13, p7, p8, p9, .1
de hauteur, calcul de la dure, sans oublier les autres kampl = p4-1
aspects dinterprtation tels que les variations dans les ktime2 = ktime2 + .07
nuances ou dans lamplitude. Ces nombreuses rflexions event "i", 2, ktime2, .07, kampl, p5, p6, p7,
p8, p9, .1
nous ont amen repenser lespace composable dans kampl = p4-1
Csound dans ce cadre prcis. ktime2 = ktime2 + .07
event "i", 2, ktime2, .51, p4, p5+p12, p6+p12,
p7, p8, p9, p10
3.3.2. UDO et Opcode event endop

Placs dans lentte de lorchestre, les UDO (User- LUDO macroonment2 possde neuf entres,
Defined Opcodes ou Opcodes dfinis par lutilisateur) correspondantes aux champs p4, p5, p6, p7, p8, p9, p10,
nous permettent de crer des Opcodes adapts une p12, p13 de la partition et zro sortie : il dclenche les
problmatique donne. Nous avons mis en place une vnements sonores en envoyant de nouvelles valeurs
stratgie de traitement des micro/macro-ornements avec linstrument contrl.
lOpcode event [30], qui permet de gnrer un Le code dans la partition, contrlant son tour
vnement de partition depuis un instrument de lUDO en question, est le suivant (p-champs en haut,
lorchestre, que nous appelons linstrument de code en bas) :
contrle . La syntaxe de lOpcode event est la
suivante : ;p1 p2 p3 p4 p5 p6 p7 p8
;p9 p10 p11 p12 p13
event "scorechar", kinsnum, kdelay, kdur, [, i1 1 1 80 8.05 8.05 12.09 3 4
kp4] [, kp5] [, ...] 0 2 .02 -.015

Scorechar correspond i (instrument), kinsnum p1 : instrument de contrle, p2 : instant de dbut en


correspond au numro de linstrument appeler seconde, p3 : dure, p4 : amplitude en dcibel, p5 et p6 :
( instrument contrl ), kdelay est le temps du dbut classes de hauteurs de la note fondamentale , p7 :
de lvnement en seconde, kdur est la dure de priode dchantillons Opcode pluck, p8 : amplitude
lvnement et kp4, kp5 etc. sont les paramtres utiliss dun lfo, p9 : frquence du lfo, p10 : contrle dattaque,
par linstrument appel si ncessaire. Notons que p11 : n de UDO utiliser, p12 : rapport de fluctuation
linstant 0 de lOpcode event correspond au dbut de ascendant , p13 : rapport de fluctuation descendant .
lvnement depuis le score, et non pas linstant 0 Nous dfinissons avec une seule ligne de code dans la
dans la partition (par exemple, si lvnement dans le partition la note musicale sur laquelle nous envisageons
score commence 1, si kdelay = 0, lvnement se dappliquer le macro-ornement, en fixant les rapports de
dclenchera linstant 1)21. fluctuations autour de cette note. LUDO permet aussi
une variation dintensit et de phras (leffet legato)
3.3.2.1 Boucles manuelles (Figure 9).
Voici le code pour lUDO macroonment2 concernant
lornementation dcrite dans la premire section (Figure
5) :

opcode macroornement2, 0, kkkkkkkkk


ktime2 init 0.07
event "i", 2, 0, ktime2, p4, p5, p6, p7, p8,
p9, p10
kampl = p4-1
event "i", 2, ktime2, .07, kampl, p5+p12,
p6+p12, p7, p8, p9, .1
kampl = p4-1
ktime2 = ktime2 + .07
event "i", 2, ktime2, .07, kampl, p5, p6, p7,
p8, p9, .1
kampl = p4-1
ktime2 = ktime2 + .07
event "i", 2, ktime2, .07, kampl, p5+p12,
p6+p12, p7, p8, p9, .1
kampl = p4-1
ktime2 = ktime2 + .07 Figure 9. Fonctionnement de la macro-
event "i", 2, ktime2, .07, kampl, p5, p6, p7,
p8, p9, .1
ornement2. (C.H-F : classe de hauteur de la note
kampl = p4-1 fondamentale, R.F-A : rapport de fluctuation
ktime2 = ktime2 + .07 ascendant, R.F-D : rapport de fluctuation
descendant, A-F : attaque franche).
21
Il existe dautres Opcodes qui dclenchent un vnement depuis
lorchestre, tel que schedule et scorline. Pour une tude comparative
des diverses possibilits de cration de boucle (rptition des
vnements), voir [4].

108
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

3.3.2.2 Boucles automatiques attaques franches pour le premier et le dernier


Lisochronie des vnements gnrs par un macro- vnements.
ornement se fait automatiquement avec lOpcode metro,
voici sa syntaxe : 3.3.2.3 Transposabilit
En partant dune classe de hauteur dans la partition,
ktrig metro kfreq [, initphase] un macro-ornement parcourt le contenu dune table dun
maqm donne. Or, si la classe de hauteur de la partition
ktrig varie entre 0 et 1 (0 = pas dimpulsion, 1= ne correspond pas la premire classe de hauteur de la
impulsion) et kfreq est la frquence des dclenchements table, le macro-ornement doit gnrer et mettre jour
en HZ. Par exemple, un vnement dure 0,06s, la automatiquement les autres valeurs.
frquence du mtronome est 1/0,06. La fonction semitone permet de calculer un facteur
Prenons un exemple dornementation, que nous pour lever ou abaisser une frquence dun certain
appelons macroornement11, qui parcourt toutes les nombre de demi-tons. La difficult de ce genre
notes musicales dun maqm en mouvement descendant dopration repose sur les diffrents traitements de
(Figure 10): conversion. Rappelons que les classes de hauteurs sont
exprimes en deux parties : un nombre entier et une
partie dcimale, il faudra donc en premier lieu extraire
la diffrence doctave entre les deux classes de hauteurs,
ensuite, il faut extraire la diffrence dans la partie
Figure 10. Macroornement11 dcimale. Le nombre doctave de diffrence sera
multipli par sa valeur correspondante dans la partie
Procdons par une logique heuristique dans une dcimale (une octave = 12 notes, le nombre doctave est
dmarche de simplification, nous distinguons trois multipli par 0,12), qui sajoutera la partie dcimale de
niveaux de fluctuations appliqus une note la classe la plus leve, la partie dcimale de la
fondamentale : un premier rapport libre choisi, un deuxime classe sera enleve de ce rsultat, qui sera
rapport ascendant et un rapport descendant. Pendant la multipli par cent. Cette valeur sera positive si la
lecture dune table qui contient des classes de hauteurs, premire classe de hauteur de la table est infrieure la
nous devons dfinir le premier rapport dans le p-champ classe reue de la partition, elle permettra dlever les
p12, les autres rapports sont gnrs automatiquement de notes du maqm, si la premire classe est suprieure, le
cette faon (Figure 11) : facteur de transposition permettra de baisser les notes.
Si les deux classes de hauteurs se valent, les valeurs de
la table restent inchanges.
Voici le code du macro-ornement11, illustrant tout le
processus opratoire dcrit auparavant:

opcode macroornement11, 0, kkkkkkkkk


klegato init p10
kmetro init 0
kindextable init 0
kamplitude init p4
kmetronome metro (1/0.06)
;premire phase dextraction
if kmetronome == 1 then
kfrequence table kindextable , p14
kmetro = kmetro +1
kamplitude = kamplitude - (p3/10)
;algorithme de : aprs excution, index =
index +1
if kmetro == 8 || kmetro == 9|| kmetro == 10||
kmetro == 11|| kmetro == 19|| kmetro == 20||
kmetro == 21 then
kindextable = kindextable +1
Figure 11. Fonctionnement du macroornement11 ;les notes davant
elseif kmetro == 13 || kmetro == 16 || kmetro
Les notes fondamentales sont les notes extraites de la == 18 then
table du maqm, sur lesquelles nous devons appliquer kfrequence table kindextable - 1 , p14
des fluctuations prcises et en respectant lossature du ;premier rapport de fluctuation et legato
partir de la 2me note
macro-ornement, ce qui cre quatre passages elseif kmetro == 2 || kmetro == 5 || kmetro ==
mlodiques22. Le changement de la fondamentale 7 then
seffectue avec lincrmentation dun compteur index. klegato = 0.1
kfrequence = kfrequence + p12
Les effets de nuances et de phrass sajoutent sur ce ;note daprs
principe de fonctionnement avec une intensit sonore elseif kmetro == 3 || kmetro == 14 then
dcroissante et une reproduction du legato avec des kfrequence table kindextable + 1 , p14
;fin du lgato pour la dernire note (attaque
franche)
22 elseif kmetro == 22 then
Nous pouvons les considrer comme des macro-ornements.

109
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

klegato = p10
endif instr 2
;transposabilit kvib lfo p8, p9, 3
kfrequencerep table 0, p14 kgliss linseg cpspch(p5), p3/3,cpspch(p6)
if kfrequencerep > p5 then kenv linen ampdb(p4),p3*p10 , p3, p3/4
koctave = int(kfrequencerep)-int(p5) kgliss=kgliss + kvib
kintable = kfrequencerep - int(kfrequencerep) + asig pluck kenv, kgliss, cpspch(p7), 0, 1
(0.12 * koctave) out asig
kintp = p5 - int(p5) endin
ktone = kintable - kintp
kdiff = -ktone*100
ktranspose = semitone(kdiff) Les traitements de hauteurs reposent sur kvib et kgliss,
elseif kfrequencerep < p5 then avec un oscillateur basse frquence pour reproduire des
koctave = int(p5) - int(kfrequencerep)
kintable = kfrequencerep - int(kfrequencerep)
fluctuations23 et des glissandos avec le traage dune
kintp = p5 - int(p5) + (0.12 * koctave) suite de segments de droite entre les points spcifis. Les
ktone = kintp - kintable effets de phras sont reproduits avec une enveloppe qui
kdiff = ktone*100 applique un motif dune attaque et dune chute en
ktranspose = semitone(kdiff)
else segments de droite, obtenus avec lOpcode linen.
ktranspose = 1 Lvnement dans la partition envoie les paramtres de
endif contrle soit, vers linstrument de contrle qui les
kcycle = cpspch(kfrequence)*ktranspose
kcycle1 = octcps(kcycle) transfre par la suite vers la bibliothque dobjets qui les
kcycle2 = pchoct(kcycle1) actualise et les rachemine vers linstrument contrl
;gnration de lvnement pour les interprter avec ces nouvelles donnes, soit
event "i", 2, 0, .06, kamplitude, kcycle2,
kcycle2, p7, p8, p9, klegato
directement vers ce dernier pour reproduire le
endif phnomne sonore (Figure 12).
endop

3.3.3. Procdure dappel des UDO

Linstrument de contrle permet la slection dun


UDO en fonction du p-champ p11 dfini dans la
partition. Il associe une valeur au nom du macro-
ornement afin dtre appel depuis le score. Il transfre
galement les valeurs dentres afin dtre utilises et
mises jour.
Ci-dessous un extrait de code dans linstrument de
contrle :

instr 1
ktrigger init p11
if (ktrigger == 1) then
macroornement1 p4, p5, p6, p7, p8, p9, p10,
p12, p13
ktrigger = 0
elseif (ktrigger == 2) then
macroornement2 p4, p5, p6, p7, p8, p9, p10,
p12, p13
ktrigger = 0
;etc
elseif (ktrigger == 14) then
macroornement14 p4, p5, p7, p8, p9, p10, p14
endif
endin

3.4. Fonctionnement gnral de la bibliothque


Figure 12. Principe de fonctionnement de la
Bien que linstrument contrl dans lorchestre joue bibliothque dobjets dans Csound.
un rle dexcution, rsultat dune interactivit et
dacheminements multiples entre les units
fonctionnelles, pilot par linstrument de contrle, il
joue aussi un rle excutoire plus direct. Le jonglage
entre ces deux procds permet laccomplissement de
luvre. Ce deuxime rle dinstrument autonome
permet lenchainement mlodique, ornement ou non, 23
Utile notamment en ce qui concerne le quart de ton fluctuant. During
crant ainsi une sorte de fluidit donnant une ossature montre que cet intervalle fluctue entre 32 et 39 savarts environ
gnrale luvre. Voici son code source : [22].

110
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

4. CONCLUSION, PERSPECTIVES [3] Abromont, C., de Montalembert, E., Fourquet, P.,


Oriol, E., Pauset, B., Guide de la thorie de la musique.
Pour aborder la question de la composition musicale Fayard, Paris, 2009.
assiste par ordinateur en ce qui concerne les musiques
arabes, nous avons pass en revue leurs grandes lignes [4] Aikin, J. Phrase lopps : A beginners guide ,
physionomiques dans une optique analytique ncessaire Csound journal, Issue 15, version internet, 2011.
pour la modlisation, et par la suite avec une approche Consult le 19 janvier 2014.
visant la cration musicale par les moyens de URL :http://www.csounds.com/journal/issue15/index.ht
linformatique. ml
Nous avons soulign la ncessit dadaptation qui a
abouti la cration dune bibliothque dobjets sous [5] al Faruqi, L. Lornementation dans la musique
Csound et nous avons dtaill son fonctionnement et arabe improvise : tude des relations entre les arts , Le
quelques uns de ses paradigmes intrinsques, elle monde de la musique, 4me journal de linstitut
compte actuellement environ vingt-trois objets entre international des tudes comparatives et de
maqms et ornementations. documentation de musique, vol. XX, p. 17-32, 1978.
Dans la perspective du long terme, en premier lieu, [6] Al-Kawarizmi, A. Mafatih al-ulum (Cls des
un contrle plus approfondi de la vitesse dexcution sciences). Dar al-Manahel, Beyrouth, 1991.
sera mis en place, qui prend en compte les irrgularits
dans les passages mlodiques tout en conservant un [7] Arom, S. Modlisation et modles dans les
tempo fixe, ou lgrement plus rapide, en ce qui musiques de tradition orale , Analyse musicale, Socit
concerne les micro/macro-ornements. Franaise danalyse musicale, n22, p. 67-78, 1991.
Ensuite, la bibliothque sera alimente rgulirement
en UDO et en maqms de faon diversifier son [8] Arom, S. Ralisations, variations, modles dans les
contenu en essayant de reproduire une large palette de musiques traditionnelles centrafricaines ,
pratique musicale arabe diffrente. A ce stade, il est Limprovisation dans les musiques de tradition orale,
primordial de prendre en compte laspect cognitif li Lortat-Jacob B. et Selaf, p. 119-122, 1987.
diffrentes pratiques musicales arabes selon un matriau [9] Arom, S. Polyphonies et polyrythmies instrumentales
musical sans cesse renouvel. dAfrique centrale : structure et mthodologie, Selaf,
Dun autre cot, un largissement de Paris, 1985.
linstrumentarium, grce la synthse sonore, sera
envisag avec plus de dynamismes et de variations dans [10] Ayari, M. Lcoute des musiques arabes
le timbre. Les difficults ce niveau et premier abord improvises Essai de psychologie cognitive de
seront denvisager la cration des UDO propres laudition. Lharmattan, Paris, 2003
chaque instrument, qui soient tudis selon une logique
dexcution musicale approprie chaque instrument. [11] Ayres, L., Horner, A., Synthesizing music in
Nous envisagerons limplmentations des sonorits csound with a Javanese Gong Ageng , Proceedings of
hybrides afin dexploiter le potentiel de la synthse the 2005 international computer music conference,
sonore. Cette phase permettra laboutissement dautres Barcelona, Spain, p. 644-647, 2005.
formes dinterprtations musicales tel que
[12] Bach, C.P.E. Essai sur la vritable manire de jouer
lhtrophonie par exemple.
dun instrument clavier, Tome I, Traduction de
En dernier lieu, nous nexclurons pas la possibilit de
Coulon, J.P. Consult le 14 janvier 2014. URL : http
transposer ce systme sur dautres plateformes
://icking-music-archive.org
logicielles, nous citons titre dexemple la possibilit
dimplmenter cette bibliothque dans OpenMusic ou [13] Barkechli, M. La gamme de la musique
encore dans PWGL. La possibilit de crer un logiciel Iranienne , Cahier dacoustique n14, Annales des
daide aux compositions musicales arabes sous C++ tlcommunications, Tome 5, n 5, p. 195-203,1950.
serait ventuellement envisageable.
[14] Barkechli, M. Lvolution de la gamme dans la
musique orientale , Acoustique musicale, CNRS, p. 39-
5. REFERENCES
46,1959.
[1] Abou Mrad, N. Formes vocales et instrumentales
[15] Belhassen, R. Limpact de lchantillonnage dans la
de la tradition musicale savante issue de la renaissance
musique tunisienne, mmoire de master 1, Universit de
de lOrient arabe , Cahiers dethnomusicologie [En
Marne La Valle, 2009.
ligne], p. 1-24, 2012. Consult le 19 janvier 2014. URL :
http://ethnomusicologie.revues.org/464 [16] Belhassen, R. Mutation esthtique de la musique
arabe, mmoire de master 2, Universit de Marne La
[2] Abou Mrad, N. Musique de lpoque abbasside Le
Valle, 2010.
legs de Safiy a-d-Din al Urmawi , Publications de
lUniversit Antonine, Maison es Cultures du Monde, [17] Bent, I., Drabkin, W., Lanalyse musicale : histoire
Hadath-Baabda, Liban, 2005. et mthodes, Main duvre, Nice, 1998.

111
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

[18] Berthoz, A. La dcision, Odile Jacob, Paris, 2003. [31] Zouari, H. Les ornementations dans le tba rast el
dhil : lexemple du Congrs du Caire de 1932, Thse de
[19] Camilleri, C., Cohen-Emerique, M. Collectif. Chocs doctorat, Universit de Paris Sorbonne, 2012.
des cultures ; concepts et enjeux pratiques de
linterculturel, LHarmattan, Paris, 1989.
[20] Carvalho, G. Formaliser la forme , Actes des
journes dinformatique musicale, Saint Denis, France,
version internet, 2005. Consult le 11/02/2014. URL :
http://jim2005.mshparisnord.org/download/GCarvalho.p
df
[21] Dahan, K., Lalibert, M., Rflexions autour de la
question dinterprtation de la musique
lectroacoustique, Actes des Journes dinformatique
musicale, Albi, France, version internet, 2008. Consult
le 8/01/2014. URL :
http://www.gmea.net/upload/09_KAHAN_JIM2008-
final.pdf
[22] During, J., Dufourt, H., Fauquet, J.-M., Hurard, F.,
Systmes acoustiques et systmes mtaphysiques dans
les traditions orientales , Lesprit de la musique,
Klinsieck, p. 177-184, 1992.
[23] Erlanger D, R. La musique arabe. Libraire
orientaliste Paul Geuthner, Tome III, Paris, 1938.
[24] Fron, F.X., Les variations dans la vibration :
vibratos, trmolos et trilles dans la Trilogie Les trois
stades de lhomme (1956 1965) pour violoncelle seul
de Giacinto Scelsi , Filigrane Musique, esthtique,
sciences, socit, n 15, version internet, 2014. Consult
le 8/01/2014. URL :
http://revues.mshparisnord.org/filigrane/index.php?id=5
16
[25] Ghrab, A. Commentaire anonyme du kitab al-
Adwar Edition critique, traduction et prsentation des
lectures arabes de luvre de Safi al-Din al-Urmawi,
Thse de doctorat, Universit de Paris Sorbonne, 2009.
[26] Gruber, T.R. A translation approach to portable
ontology specifications , knowledge acquisition, n 5, p.
199-220, 1993.
[27] Lambert, J. Retour sur le congrs de musique
arabe du Caire de 1932. Identit, diversit,
acculturation : les prmisses dune mondialisation ,
Congrs des musiques dans le monde de lislam, Maison
des cultures du monde, Assilah, Maroc, p. 1-6, 2007.
[28] Poch, C. Le tronc commun des maqms ,
Colloque Maqm et cration, Asnires-sur-Oise, France,
p. 7-15, 2006.
[29] Viret, J. Le chant grgorien et la tradition
grgorienne. Lge dhomme, Lausanne, 2001.
[30] Yi, S. Control flow - Part I et II, Csound
journal, Vol. 1, Issues 3 et 4, version internet, 2006.
Consult le 19 janvier 2014.URL :
http://www.csounds.com/journal/

112
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

VERS UNE ANALYSE AUTOMATIQUE DES FORMES SONATES

Laurent David 1,3 Mathieu Giraud 1 Richard Groult 2 Florence Lev 1,2 Corentin Louboutin 1,4
1
LIFL (UMR 8022 CNRS, Universits Lille 1 et Lille 3)
2
MIS (Universit de Picardie Jules Verne, Amiens)
3
ENSEA (Cergy-Pontoise)
4
ENS Rennes
{laurent, mathieu, richard, florence, corentin}@algomus.fr

R SUM Le dveloppement rutilise les thmes prsents dans


lexposition tout en crant une tension tonale. Pr-
sentant de nombreuses modulations, cest une zone
La forme sonate, bien que ce nom lui ait t donn a pos- tonalement instable.
teriori, tait trs prise de la priode classique jusqu la
fin de la priode romantique. Une pice de cette forme Enfin, la rexposition (recapitulation en anglais) pr-
est compose de trois parties complmentaires, une expo- sente nouveau les thmes principaux. Cette fois-ci,
sition, un dveloppement et une rexposition. Nous d- le deuxime thme est jou la tonique, ce qui per-
fendons lide que ltude des formes sonates est un dfi met une affirmation de la tonalit principale de la
intressant pour la musicologie computationnelle. Nous pice.
proposons aussi quelques premires expriences sur lana-
La figure 2 montre un exemple dune forme sonate trs
lyse informatique de ce type de partitions. Sur un cor-
simple, dans une sonatine pour piano de Kuhlau.
pus de premiers mouvements de quatuor cordes, nous
arrivons localiser approximativement le couple exposi- Plusieurs marqueurs se trouvent entre les diffrentes
tion/rexposition dans la majorit des cas. parties, en particulier des cadences (fins de phrases mu-
sicales). Le thme principal prsent dans lexposition est
souvent suivi dune transition se terminant par une demi-
1. FORMES SONATES cadence (half cadence, HC). Le thme secondaire se ter-
mine gnralement par une cadence parfaite (Perfect Au-
thentic Cadence, PAC), qui conclut musicalement lexpo-
Nous prsentons ici la forme sonate, ses modlisations
sition. Enfin, lexposition se termine par une conclusion
musicologiques, et dfendons lide quelle est un objet
(qui ne prsente gnralement pas de nouvel lment th-
de choix pour linformatique musicale symbolique.
matique). Les cadences et la conclusion, parfois transfor-
mes, se retrouvent dans la rexposition.
1.1. La forme sonate Il y a beaucoup de variations possibles sur cette struc-
ture, selon lpoque et les compositeurs. Haydn utilise par
La forme sonate est une forme musicale classique d- exemple beaucoup de formes sonates mono-thmatiques,
veloppe partir de la fin du XVIIIe sicle jusqu la fin du comme dans lop. 33 no 2. En fait, la forme sonate ne se
XIXe sicle. Provenant initialement dune forme binaire caractrise pas dans la succession des sections, mais plus
qui a t tendue, cette forme comporte trois parties jouant dans un quilibre grand chelle : les tensions tonales
des rles musicaux complmentaires (figure 1) : (autre tonalit) et rhtoriques (thme S, texture) cres
lors de lexposition et tendues dans le dveloppement fi-
Lexposition a un rle la fois rhtorique (mlo- nissent par se rsoudre dans la rexposition.
dique) et harmonique, permettant la fois dexposer
les thmes (deux en gnral, principal et secondaire)
qui seront utiliss dans les autres parties et daffir- 1.2. Approches musicologiques de la forme sonate
mer la tonalit principale de la pice. En gnral, le
thme principal (P) est expos la tonique (I) puis,
Certains des principes de composition de la forme so-
aprs une transition et une csure mdiane (medial
nate avaient t thoriss ds la fin du XVIIIe sicle [15,
caesura, MC), le thme secondaire (S) est expos
23]. Cependant, le terme forme sonate a t utilis pour
dans une autre tonalit, gnralement au ton de la
la premire fois dans les annes 1830 par A. B. Marx dans
dominante (V) pour les formes sonates en mode ma-
une srie darticles dans le Berliner allgemeine musika-
jeur.
lische Zeitung. La forme a t ensuite thorise plus en

113
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Figure 1. Structure densemble dune forme sonate, schma et notations tirs du livre de Hepokoski et Darcy [12, page 17].
La forme sonate est construite sur un thme (ou une zone thmatique) principal (P), un thme secondaire (S) et une
conclusion (C). Entre les deux thmes, la transition (TR) se termine par la csure mdiane (medial caesura) (MC). la fin
du thme secondaire se trouve une cadence parfaite, dnomme EEC (Essential Expositional Closure) dans lexposition
et ESC (Essential Structural Closure) dans la rexposition (recapitulation).

Figure 2. Analyse structurelle de lAllegretto de la sonatine Op. 55, no. 2 de Kuhlau, pour piano, en utilisant les conven-
tions de [12]. Les cadences (fin de phrases) sont indiques par les termes HC (Half Cadence, demi-cadence) et PAC
(Perfect Authentic Cadence, cadence parfaite), prcds de la tonalit de cette cadence (ici I et V). Les termes EEC et
ESC dsignent les fins de sections (voir figure 1). Cette sonatine est trs simple, avec un dveloppement trs court (Dev.),
et pratiquement aucune transition entre les zones thmatiques P et S. Le groupe thmatique P dure 8 mesures lors de
lexposition et 11 lors de la rexposition, ce qui renforce la stabilisation de la tonique dans la rexposition. Le thme S et
la conclusion C sont exactement transposs entre lexposition et la rexposition.

114
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

dtail, notamment par Marx [17] et Czerny [4]. tonal. Il serait galement intressant de trouver quels l-
ments thmatiques de lexposition sont utiliss et sous quelle
Plus rcemment, de nouvelles thories systmatiques forme ils sont repris, la difficult tant quil peut sagir
sur les formes sonates ont t proposes [2, 3, 16, 18, de trs courts motifs mlodiques ou rythmiques ou quils
22, 24]. Le travail dHepokoski et al. [10, 11], culminant peuvent prsenter des variations consquentes.
dans le livre [12], est aujourdhui une bonne rfrence.
Enfin, on trouve certaines analyses en profondeur de cor- Toute approche automatise doit tre conue en gar-
pus spcifiques : pour les oeuvres Beethoven on se rf- dant lesprit les limites que nous avons voques sur la
rera [9, 21] pour les quatuors cordes et louvrage de subjectivit de toute analyse cependant, certains points
D. Tovey [25] pour les sonates pour piano. simples danalyse peuvent faire consensus et permettre
dvaluer les algorithmes.
Comme toute analyse humaine, lanalyse des formes
sonates nobit pas un ensemble de rgles figes, mais
dpend de choix analytiques subjectifs qui ne font pas tou-
2. PISTES POUR UNE ANALYSE
jours consensus. De plus, certaines pices portent des am-
INFORMATIQUE
biguts structurelles. En particulier, il est souvent dlicat
de dterminer prcisment la fin du premier thme de la
transition, surtout lorsque plusieurs motifs transitionnels Nous dcrivons ici quelques expriences sur lanalyse
ou thmatiques se rptent dans lexposition et la rexpo- informatique de formes sonates, en partant de partitions
sition comme dans le quatuor K. 155 no 2 de Mozart. En- sous forme de donnes symboliques. Nous partons de fi-
fin, de telles analyses peuvent sembler anachroniques, la chiers .krn [13], qui encodent les partitions plus prcis-
forme sonate nexistant pas en tant que telle pour les com- ment que des fichiers .midi (avec notamment les infor-
positeurs de lpoque. Ces analyses peuvent tout de mme mations denharmoniques), mais nous nous limitons dans
tre pertinentes en clairant quelques principes composi- cette tude aux informations de hauteur et de dure. Est-
tionnels avec un certain recul vis--vis du rpertoire. il possible de retrouver avec ces informations la structure
exposition/rexposition et dtudier le dveloppement ?

1.3. Analyser informatiquement la forme sonate ? Pour ces expriences, nous nous sommes limits des
quatuors cordes, ce qui facilite lanalyse tant donn
La communuaut MIR (Music Information Retrieval) que les pices sont spares en quatre voix (premier et
sintresse lanalyse musicale dans son ensemble, par- deuxime violon, alto, violoncelle). Nous avons ainsi ras-
tir de donnes audio ou symboliques. Bien que lanalyse sembl 11 premiers mouvements de quatuors de Mozart,
structurelle soit au cur de ces thmatiques, ce jour, peu Haydn et Schubert (figure 4).
de travaux en MIR se concentrent sur les formes sonates. Afin dvaluer nos algorithmes, nous avons manuelle-
Mme si les formes sonates servent de support lex- ment identifi pour chacun de ces mouvements le couple
traction de motifs (voir par exemple [20]), leur analyse exposition/rexposition, en nous appuyant sur les analyses
grande chelle est peu aborde. Dans un article rcent, de Hepokoski et Darcy [12] ainsi que sur notre propre ana-
Jiang et Mller effectuent des comparaisons de signaux lyse.
audio pour retrouver le couple exposition/rexposition sur
les premiers mouvements dans 28 sonates pour piano de
Beethoven [14]. Ils proposent aussi de suivre les change-
2.1. Dtection du couple Exposition/Rexposition
ments harmoniques lintrieur des diffrentes parties.

La donne symbolique de la partition devrait permettre La figure 3 montre une analyse obtenue sur le quatuor
dtre bien plus prcis dans lanalyse. Nous pensons que K. 157 no 4 de Mozart avec les oprations suivantes :
lanalyse des formes sonates est un dfi intressant pour la
recherche en informatique musicale symbolique, deman- recherche de cadences parfaites (V vers I en position
dant de combiner des aspects locaux (motif et thmes, ca- fondamentale, avec arrive sur la tonique la voix
dences...) avec des aspects globaux (plan tonal, structure suprieure) [5] ;
densemble). recherche de fins potentielles de phrases par une sim-
ple dtection rythmique (notes plus longues que leur
Le premier dfi est dans la dtection de la structure entourage ou suivies de silences) ;
gnrale : couple exposition/rexposition, avec des mar-
queurs prcis lorsquils existent, formant la structure to- recherche des zones P/S, par un algorithme de Mon-
nale grande chelle. geau-Sankoff qui calcule, par programmation dyna-
mique, les similarits entre deux mlodies en mini-
Le second est de retrouver la structure tonale et moti- misant une distance ddition [19]. Nous utilisons
vique du dveloppement. Le dveloppement montrant sou- une fonction de score qui favorise les similarits dia-
vent une grande instabilit des tonalits, il serait intres- toniques [7]. Cette recherche concerne uniquement
sant de pouvoir dcrire de manire cohrente ce parcours la voix suprieure (premier violon).

115
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Figure 3. Recherche du couple exposition/rexposition dans le premier mouvement du quatuor cordes K. 157 no 4 de
W. A. Mozart comprenant 126 mesures. Le schma du haut montre une analyse possible (faite par nos soins) avec cadences
et marqueurs structurels en utilisant les notations de [12] (voir figure 2). Le schma du bas reprsente ce qui est trouv
par le programme. Les traits fins verticaux dans lexposition montrent des fins de phrases potentielles, et les traits gras
des cadences potentielles (majuscule : majeur, minuscule : mineur). Le couple exposition/rexposition est retrouv, mais
la zone S prdite est dtecte en amont de la zone relle S, la fin de la transition entre P et S tant dj transpose la
dominante dans lexposition. De plus, la zone S prdite stend aussi sur la conclusion C.

` Analyses P S
Haydn 90m P C P C +
op. 33 no 2 4/4 P S P S
Haydn 167m P S C P S C = +8
op. 33 no 3 4/4 P S P S
Haydn 305m P S C P SC O + +3
op. 33 no 5 2/4 P S P S
Haydn 189m P S C P C O = +13
op. 54 no 3 2/2 P S P S
Haydn 99m P S C P C
op. 64 no 4 4/4 P P

Mozart 68m P SC P SC +4
K. 80 no 1 3/4 S
Mozart 119m P S C P S C O + +3
K. 155 no 2 4/4 P S P S
Mozart 184m P S C P S C + 0
K. 156 no 3 3/8 P SP P S
Mozart 126m P S C P S C + 2
K. 157 no 4 4/4 P S P S
Mozart 170m P S C P S C = 6
K. 387 no 14 4/4 P P S P P S

Schubert 255m P TR S C P TR S C + 23
op. 125 no 1 2/2 P S S P S

Figure 4. Recherche du couple exposition/rexposition sur 11 premiers mouvements de quatuors cordes en forme sonate.
Pour chaque pice, la colonne ` indique la longueur en mesures ainsi que le mtre. La colonne Analyses indique,
en haut, quelques lments de notre analyse manuelle pour lexposition comme pour la rexposition (P : zones thmatique
principale, ventuellement suivie dune transition, S : zone thmatique secondaire, C : conclusion, O : coda), et, en bas,
lanalyse effectue informatiquement. La colonne P indique si le thme est trouv exactement (+), avec quelques
mesures de dcalage dues la prsence dune introduction (=) ou mal ou non trouv (). Lorsque le second thme est
trouv, la colonne S indique le dcalage, en mesures, entre cette prdiction et le vrai second thme. Notons que le
quatuor op. 33 no 2 de Haydn est monothmatique, les deux zones P et S tant construites sur le mme matriau mlodique.
De plus, dans les quatuors op. 54 et 64 de Haydn, il ny a pas de rexposition pour S.

116
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

La zone P est recherche du dpart une fin de phrase, chelle). Pour progresser vers une analyse automatise de
sans transposition. La zone S est recherche galement telles formes, plusieurs pistes nous semblent importantes :
aprs la zone P, sous la contrainte dune transposition de
la dominante vers la tonique (V vers I). Dans ce mouve- un objectif serait didentifier prcisment (lorsque
ment du quatuor K. 157, on voit que la stratgie met en cest possible) la fin du premier thme et le dbut du
vidence le couple exposition/rexposition. second, en sappuyant sur la csure mdiane (lors-
quelle existe) [11, 12] ;
La figure 4 montre les rsultats sur les 11 pices. Le d- plus gnralement, on pourrait dvelopper des m-
but de P, marquant le dbut du couple exposition/rexpo- thodes rassemblant plusieurs lments analytiques
sition, est retrouv 9 fois la position correcte, dont 7 fois isols (motifs, tonalits et cadences, marches harmo-
de manire unique. Dans 8 de ces 9 cas, une deuxime niques...) dans une analyse globalisante, que ce soit
zone (S) est identifie avec une transposition de V vers I, pour le dveloppement ou pour la forme dans son
dans la plupart des cas moins de 10 mesures du dbut ensemble ;
rel du thme S : de plus, ces mthodes devraient aussi pouvoir traiter
la fin de la transition entre P et S peut tre identique directement du matriau polyphonique afin de per-
(mais transpose) entre lexposition et la rexposi- mettre ltude des pices pour piano.
tion (prdiction de S avant le S rel) ;
Enfin, pour valuer et talonner ces mthodes, il serait
le thme S peut tre transform ou repris une autre
souhaitable de raliser des fichiers de vrit tels que ceux
voix (prdiction de S aprs le S rel).
raliss sur les fugues [5]. Ces fichiers devraient sappuyer
Certains thmes ne sont pas identifis ou dtects sur des analyses de rfrence, comme par exemple, pour
des positions incorrectes (2 thmes P et 3 thmes S). Par les oeuvres de Beethoven, celles de Helm, Radcliffe ou
exemple, dans le quatuor K. 80, on ne trouve pas le thme Tovey [9, 21, 25]. Ils contiendraient, pour un corpus va-
P car seule la fin est reprise dans la rexposition. Dans le ri, la position et la longueur des diffrents thmes dans
quatuor K. 387, le thme S est jou par le deuxime vio- lexposition et la rexposition, des motifs dans le dve-
lon, ce qui empche sa dtection correcte. loppement, les cadences et le plan tonal global de chaque
pice. Ces fichiers devraient aussi permettre de coder les
ambiguts possibles danalyse [1].
2.2. Vers une analyse du dveloppement

La figure 5 montre quelques pistes danalyse du dve- Remerciements. Nous remercions Maxime Joos et Marc
loppement dans le premier mouvement du quatuor op. 33 Rigaudire pour leurs discussions fructueuses.
no 5 de Haydn, sur le plan tonal ou pour la recherche dl-
ments thmatiques prsents dans lexposition :

dtection de cadences parfaites ; 4. REFERENCES


recherche dlments thmatiques des thmes P et S
(relevs manuellement), de nouveau avec un algo- [1] Frdric Bimbot, Emmanuel Deruty, Gabriel
rithme de Mongeau-Sankoff adapt ; Sargent, and Emmanuel Vincent. Semiotic structure
et dtection de marches harmoniques par lalgorithme labeling of music pieces : Concepts, methods and
propos dans [6]. annotation conventions. In Gouyon et al. [8], pages
235240.
Ces rsultats prliminaires montrent quil est possible [2] William E. Caplin. Classical Form : A Theory of For-
de fournir quelques lments danalyse sur le dveloppe- mal Functions for the Instrumental Music of Haydn,
ment. Ces techniques demanderaient tre compltes, et Mozart, and Beethoven. Oxford University Press,
il serait intressant de fournir une structure possible du 2000.
dveloppement en rassemblant ces divers lments, par
exemple par un modle probabiliste. [3] William E. Caplin. The Classical Sonata Exposi-
tion : Cadential Goals and Form-Functional Plans.
Tijdschrift voor Muziektheorie, 6(3) :195209, 2001.
3. DISCUSSION [4] Carl Czerny. School of Practical Composition. Lon-
don, 1848.
La forme sonate est une structuration que lon retrouve [5] Mathieu Giraud, Richard Groult, Emmanuel Leguy,
dans de nombreuses uvres classiques et romantiques. and Florence Lev. Computational Fugue Analysis.
Nos expriences sur quelques pices montrent quil est submitted, 2014.
possible informatiquement danalyser ces partitions en re- [6] Mathieu Giraud, Richard Groult, and Florence Lev.
trouvant certains lments du couple exposition/rexpo- Detecting episodes with harmonic sequences for
sition (dbut de la rexposition, parcours tonal grande fugue analysis. In Gouyon et al. [8], pages 457462.

117
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Figure 5. Exprimentation dans lanalyse de dveloppement applique au premier mouvement du quatuor op. 33 no 5 de
Haydn (mesures 95 181). La premire ligne montre une dtection de cadences parfaites. Les lignes suivantes dcrivent la
dtection dlments constitutifs des thmes P et S dans le dveloppement. Les deux dernires lignes montrent la dtection
de marches harmoniques.

[7] Mathieu Giraud, Richard Groult, and Florence Lev. [17] Adolph Bernhard Marx. Die Lehre von der musika-
Subject and counter-subject detection for analysis of lischen Komposition (vol. 2 and 3). Leipzig, 1838,
the well-tempered clavier fugues. In Mitsuko Ara- 1845.
maki, Mathieu Barthet, Richard Kronland-Martinet, [18] Jan Miyake. The Role of Multiple New-key Themes
and Slvi Ystad, editors, CMMR, volume 7900 of in Selected Sonata-form Exposition. PhD thesis,
Lecture Notes in Computer Science, pages 422438. Univ. of New York, 2004.
Springer, 2012.
[19] Marcel Mongeau and David Sankoff. Comparison of
[8] Fabien Gouyon, Perfecto Herrera, Luis Gustavo Musical Sequences. Computers and the Humanities,
Martins, and Meinard Mller, editors. Proceedings 24(3) :161175, 1990.
of the 13th International Society for Music Infor-
[20] Oriol Nieto and Morwaread M. Farbood. Percep-
mation Retrieval Conference, ISMIR 2012, Mosteiro
tual evaluation of automatically extracted musical
S.Bento Da Vitria, Porto, Portugal, October 8-12,
motives. In Proceedings of the 12th Internatio-
2012. FEUP Edies, 2012.
nal Conference on Music Perception and Cognition,
[9] Theodor Helm. Beethovens Streichquartette : Ver- pages 723727, 2012.
such einer technischen Analyse dieser Werke im Zu-
[21] Phillip Radcliffe. Beethovens String Quartets. E. P.
sammenhange mit ihren geistigen Gehalt. Leipzig,
Dutton, 1965.
1885.
[22] Leonard Ratner. Classical Music : Expression,
[10] James Hepokoski. Beyond the sonata principle. J. Form, and Style. Schirmer, 1980.
of the American Musicological Society, 55(2) :91,
2002. [23] Anton Reicha. Trait de haute composition musicale
(volume 2). Paris, 1826.
[11] James Hepokoski and Warren Darcy. The medial
[24] Charles Rosen. Sonata Forms. W. W. Norton, 1980.
caesura and its role in the eighteenth-century sonata
exposition. Music Theory Spectrum, 19(2) :115 [25] Donald Francis Tovey. A Companion to Beethovens
154, 1997. Pianoforte Sonatas : Complete Analyses. AMS Press
(reedited in 1998), 1931.
[12] James Hepokoski and Warren Darcy. Elements of
Sonata Theory : Norms, Types, and Deformations in
the Late-Eighteenth-Century Sonata. Oxford Uni-
versity Press, 2006.
[13] David Huron. Music information processing using
the Humdrum toolkit : Concepts, examples, and les-
sons. Computer Music J., 26(2) :1126, 2002.
[14] Nanzhu Jiang and Meinard Mller. Automated me-
thods for analyzing music recordings in sonata form.
In Alceu de Souza Britto Jr., Fabien Gouyon, and Si-
mon Dixon, editors, ISMIR, pages 595600, 2013.
[15] Heinrich Christoph Koch. Versuch einer Einleitung
zur Composition (volume 3). Leipzig, 1793.
[16] Steve Larson. Recapitulation recomposition in the
sonata-form first movements of Haydns string quar-
tets : Style change and compositional technique. Mu-
sic Analysis, 22(1-2) :139177, 2003.

118
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

REKALL : UN ENVIRONNEMENT OPEN SOURCE POUR DOCUMENTER,


ANALYSER LES PROCESSUS DE CREATION ET FACILITER LA
REPRISE DES UVRES SCENIQUES

Clarisse Bardiot Thierry Coduys Guillaume Jacquemin Guillaume Marais


UVHC Le hub Buzzing Light Buzzing Light
Clarisse_bardiot@mac.com Thierry.Coduys@le- gj@buzzinglight.com gm@buzzinglight.com
hub.org

RSUM
Les Digital performances, dont le dveloppement 1. INTRODUCTION
commence dans les annes 1960, comprennent de
Lessor de llectronique puis de linformatique ont
nombreuses uvres musicales ou du moins une
entran des bouleversements esthtiques majeurs dans
composante sonore importante. Du fait de
les arts de la scne partir des annes 1960 :
lobsolescence rapide des technologies, les Digital
tlprsence, acteurs et danseurs dots de capteurs et
performances, sont non seulement phmres comme
autres prothses, interaction en temps rel entre les
toute uvre scnique mais engendrent galement des
performeurs, l'image et le son Parmi les artistes
traces de plus en plus phmres. Il devient ainsi trs
reprsentatifs de ce mouvement, dsign parfois sous le
difficile non seulement de documenter les uvres et
nom de "digital performance" ou "thtres virtuels",
leurs processus de cration, mais galement de les
citons Merce Cunningham, Trisha Brown, Denis
reprendre, voire de les insrer dans un rpertoire. Dans
Marleau, Dumb Type, Myriam Gourfink, Marcel.l
le domaine des digital performances, le modle de la
Antez Roca, Michle Noiret, Caden Manson, Laurie
partition musicale, ou celui dun systme de notation,
Anderson, Troika Ranch, Palindrome, Blast Theory
qui a t avanc par plusieurs chercheurs, est loin de
Les digital performances stendent galement tout un
rsoudre les problmes de documentation ncessaires
pan de la cration musicale contemporaine, dont laspect
la reprise des uvres. Par ailleurs, plusieurs initiatives
scnique devient parfois un lment essentiel, avec
ont t menes pour documenter trs prcisment une
notamment la prsence dimages projetes ou de
uvre sans dvelopper pour autant de proposition
lumires affectes en temps rel par la musique.
gnrale qui pourrait sappliquer un ensemble
Les composantes technologiques des digital
duvres, voire aux arts de la scne de manire
performances, quelles interviennent pendant le
gnrale. Plutt que de dvelopper un systme de
processus de cration (captations vido
notation, nous proposons de dvelopper un outil
dimprovisations, simulations de mise en scne et de
dannotation qui puisse tre utilis dans un trs grand
scnographies sur divers logiciels), ou pendant la
nombre de cas, quil sagisse de chorgraphie, de thtre
reprsentation (capteurs, dispositifs de tlprsence,
ou de musique. Rekall est un environnement open
images et sons modifis en temps rel), renouvellent
source pour documenter, analyser les processus de
la question de la documentation des arts de la scne :
cration et faciliter la reprise des uvres scniques.
quelle est la nature des nouveaux documents produits
Cest un logiciel qui permet de documenter les digital
par/pour ces spectacles, comment les analyser, faut-il
performances, en prenant en compte le processus de
conserver les programmes informatiques spcifiquement
cration, la rception et les diffrentes formes dun
conus et les rendre accessibles (lisibles) en fonction de
spectacle. Il sadresse la fois aux artistes, aux
lvolution des programmes et du matriel, dans quelle
techniciens, aux chercheurs et au grand public. Rekall
mesure le hardware et le software doivent-ils tre
est une rponse aux problmatiques de documentation et
documents, comment effectuer une captation de ces
de conservation des arts composante technologique,
uvres ?
ainsi quaux difficults rencontres par les artistes lors
Non seulement les digital performances sont des
de la reprise dun spectacle dont les technologies sont
uvres phmres, comme toute reprsentation
devenues obsoltes, tout en tant au plus prs de la
scnique, mais lon peut faire le mme constat pour les
dmarche propre chaque artiste, chaque compagnie.
documentations techniques. En effet, les technologies
Il permet la fois de rendre compte des technologies
sont rapidement obsoltes, qu'il s'agisse du support de
utilises dans le spectacle et den offrir une description
conservation, du hardware ou encore du software. De
pour ventuellement proposer une alternative avec
plus, bien souvent, les compagnies dveloppent leurs
dautres composantes. Le fonctionnement de Rekall
propres instruments. Si elles ne documentent pas elles-
sarticule essentiellement autour des documents de
mmes leur dveloppement, les diffrentes versions des
cration et propose une prservation active des digital
logiciels propres, ou encore les configurations du
performances.

119
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

systme, il y a trs peu de chance de pouvoir analyser et absence doutil permettant aux quipes
conserver les composantes technologiques spcifiques techniques une prise de note rapide pendant les
une production. Dans ce contexte, la reprise d'un rptitions sur les dispositifs technologiques et
spectacle quelques annes de distance savre trs un rassemblement de tous les documents
difficile. De plus, comme le soulignent Alain Bonardi et techniques. Les diffrentes rgies sont spares,
Jrme Barthlmy propos de la musique chacun (clairagiste, rgisseur gnral, vidaste,
lectroacoustique [4], comment considrer que les ingnieur) a son propre systme de
rsultats dune nouvelle implmentation dun traitement documentation sous format numrique ou papier,
numrique sont conformes aux intentions originales du plus ou moins structur. Cest au fur et mesure
compositeur ? .1 cette question, lune des rponses des expriences professionnelles que chaque
les plus souvent apportes est la suivante : il est intervenant dfinit sa propre mthode de travail,
fondamental de collaborer avec les artistes afin de runir son propre guide de bonnes pratiques , trs
une documentation la plus dtaille possible. Ils sont de souvent empirique. Ceci pose de nombreux
fait les premiers conservateurs de leurs uvres. problmes : fiabilit de la prise de notes (il est
Aujourdhui, toutes les rgies techniques sont souvent difficile de se souvenir de la
numriques, et une partie du processus de cration a signification de notes jetes rapidement dune
largement lieu via les ordinateurs et les rseaux : rsidence de travail lautre ces rsidences
changes de mails, traitements de texte, rendez-vous pouvant tre espaces de plusieurs mois) ;
distance via des dispositifs de tlprsence (voix sur IP), capacit transmettre une rgie un autre
images et vidos numriques pour rassembler des ides, technicien pour les tournes ou suite un
des pistes de travail, usage des rseaux de partages changement dquipe ; communication et
dimages pour mettre disposition des documents interoprabilit entre les diffrents corps de
visuels pour lensemble de la compagnie, croquis mtier.
effectus sur tablette numrique, etc. Dans ce contexte, absence doutil permettant aux quipes de
lobsolescence rapide des technologies devient reprendre un spectacle quelques mois ou
extrmement problmatique, la fois pour les artistes quelques annes de distance tout en respectant au
qui doivent pouvoir continuer faire tourner leurs plus prs les intentions artistiques initiales. Or
spectacles, et pour les chercheurs qui souhaitent en ceci est indispensable dans le cas des digital
analyser les processus de cration. Les documents performances du fait de lobsolescence rapide et
numriques que nous avons mentionn plus haut sont programme des technologies : il faut
alors des traces essentielles pour retracer lhistoire des constamment adapter ces dernires pendant la
arts de la scne lpoque contemporaine. tourne du spectacle. Qui plus est lorsque
lquipe de cration nest pas celle de la tourne,
Dans un premier temps, nous reviendrons sur les une documentation de ces spectacles est
principales problmatiques engendres par lusage du ncessaire et doit tre rigoureuse.
numrique dans les arts de la scne. Puis nous absence doutil permettant au lieu daccueil de
examinerons deux dmarches : la notation et ces spectacles de rassembler les diffrents
lannotation. Enfin, nous prsenterons ltat actuel du documents ncessaires leur diffusion : revue de
dveloppement du logiciel Rekall. presse, fiches techniques, biographies,
programme, captation vido, etc. Aujourdhui,
2. PROBLEMATIQUES LIEES A tous ces documents arrivent de manire plus ou
LUTILISATION DES TECHNOLOGIES moins parpille.
NUMERIQUES DANS LES ARTS DE LA SCENE perte de mmoire : les digital performances sont
trs peu documentes. Il devient difficile den
Rekall est n dune prise de conscience de diffrents retracer lhistoire, dautant plus que les
acteurs (artistes, techniciens, programmateurs, documents quelles suscitent sont eux-mmes
chercheurs) concernant les difficults lies aux phmres. Or il existe une vraie demande du
technologies numriques employes dans les arts de la public pour avoir accs des informations
scne (notons que face des problmatiques similaires, techniques, esthtiques, historiques,
le champ de la musique contemporaine a tent conomiques, etc. sur ces uvres.
dapporter des rponses, par exemple via les La captation vido des spectacles est aujourdhui
programmes Mustica et Caspar). Ceux-ci sont une pratique trs rpandue, avec des rsultats
confronts plusieurs problmes, que lon peut rsumer ingaux quant la qualit de sa ralisation.
ainsi : Ralise et produite le plus souvent par la
compagnie elle-mme (pour des fins de
1 promotion), elle nen demeure pas moins lune
Bonardi Alain et Barthlmy Jrme, Le Patch comme document
numrique : support de cration et de constitution de connaissances des traces les plus importantes de luvre. Dans
pour les arts de la performance , in Le Document numrique dans le le cas des digital performances, parmi diverses
monde de la science et de la recherche, Actes du 10me Colloque difficults, ce document a tendance rendre
International sur le Document Numrique (CIDE), INIST, Nancy,
illisible linteractivit en temps rel : comment
2007, p. 168.

120
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

diffrencier sur une bande vido ce qui relve de (MANS), prsent en 2007 dans la revue Leonardo [18].
linteractivit temps rel (par exemple un geste Un complment MANS ddi aux arts de la scne et
dclenchant un son ou modifiant une image), de intitul Performance Art Documentation Structure
la synchronisation dun danseur avec des mdias (PADS) a t dvelopp par la suite par Stephen Gray
diffuss en temps diffr ? [10].
Lorsque certains (rares) spectacles de ce type MANS est une ontologie qui permet la fois de
sont documents (cf. par exemple les travaux dcrire une uvre de manire abstraite (son
autour de 9 Evenings cits plus bas), il sagit comportement, les interactions, etc.) et concrte. En
dune interface cre spcifiquement. Elle nest effet, dune part la partition permet thoriquement
pas gnralisable dautres spectacles et nest de re-crer luvre avec des composants matriels et
pas conue comme telle. Il sagit dune logiciels compltement nouveaux (du moment quils
application et non dun logiciel. respectent cette partition). Cette recration est alors
considre comme une interprtation, de la mme
3. DE LA NOTATION manire que tout concert est une interprtation dune
partition crite. Dautre part, des lments de MANS
Comme le rappelle Pip Laurenson [13], lauthenticit (comme Part ou Resource ) permettent de dcrire
dune uvre dart est traditionnellement value dans le ces interprtations, ces occurrences de luvre, voire
domaine de la conservation des arts plastiques en den conserver certains lments (fichiers,
fonction de son intgrit physique, de son identit programmes) et de donner des indications quant aux
matrielle. La prservation consiste alors maintenir modes de prservation requis en sappuyant sur la
luvreobjet dans son tat originel, ou du moins dans typologie des mdias variables [5].
un tat stable. Tout changement est alors considr Rinehart constate que les institutions culturelles, les
comme une perte ou une altration. Pip Laurenson centres dart, les fonds darchives, les bibliothques,
constate que du fait du caractre phmre et temporel etc., nont pas toujours les moyens de dvelopper un
des uvres composante technologique, la notion systme de catalogage. De plus, lorsque des catalogues
dauthenticit doit voluer, et avec elle les mesures de sont dvelopps, ils le sont pour des institutions, voire
prservation envisages. Elle propose de substituer la des collections spcifiques, mais aucune solution
notion dtat celle didentit, en sappuyant sur le gnralisable toutes les collections et institutions nest
modle musical fond sur la partition, laquelle introduit disponible un cot modique. Do le dveloppement
la notion dinterprtation. La seule prservation de dun systme de catalogage, le Digital Asset
luvre, au sens traditionnel du terme, cest--dire dans Management Database (DAMD) , compatible avec les
ses composantes matrielles, ne saurait tre suffisante : normes internationales, comme OAIS, et indpendant
il faut aussi mettre en place une stratgie de des pratiques spcifiques de telle ou telle organisation.
documentation qui puisse permettre linterprtation et La conformit avec les normes internationales est la
ladaptation un nouveau contexte technologique. Tout garantie que ce systme, tlchargeable gratuitement sur
comme dans la proposition rcente de Richard Rinehart, Internet, puisse tre utilis par diffrentes communauts
cest la notion de partition (et la rfrence la musique) et ensuite adapt en fonction des besoins spcifiques de
qui devient le paradigme pour prserver les uvres dart chacune.
composante technologique. Il faudrait donc crer un Dans le domaine des arts de la scne, le modle de la
systme de notation universel de ces uvres qui partition musicale, ou dun systme de notation des
permette de les interprter avec diffrentes technologies. uvres, est loin de rsoudre les problmes de
Richard Rinehart a dirig le programme de recherche documentation : dune part la partition musicale ne
Archiving the Avant Garde : Documenting and permet pas dannoter la musique lectroacoustique par
Preserving Variable Media Art , lequel regroupe exemple et lutilisation de diagrammes ou de patches ;
diffrentes institutions amricaines (Les universits du dautre part, les outils de notation dvelopps pour la
Maine et de Californie, Rhizome.org, les archives de danse (par exemple les notations Laban et Benesh) ne
Franklin Furnace performance, New Langton Arts, et le sont pas aussi gnraliss que la notation musicale, et ne
Muse Whitney). comprennent pas doutils descriptifs permettant de
Pour Rinehart, lart numrique est autant focalis sur rendre compte des dispositifs technologiques.
le processus et le comportement que sur lartefact, ce
qui le rapproche de la musique et des arts de la scne. 4. A LANNOTATION
Cest pourquoi il propose le modle de la partition, Plutt que de dvelopper un systme de notation,
autrement dit un systme de notation libr de nous proposons de dvelopper un outil dannotation.
lenvironnement matriel de luvre elle-mme (y Devant la multiplicit des documents (parfois plusieurs
compris du code informatique) un systme quil centaines de fichiers, sans parler du hardware), il est
souhaite aussi labor que la notation musicale. Lun bien sr impossible de tout annoter. Dans un premier
des dfis de ce systme est de pouvoir dcrire une uvre temps, il nous a sembl que deux stratgies taient
non seulement comme un objet, mais aussi comme un complmentaires : dune part la cration de liens entre
vnement. Rinehart propose un nouveau modle
conceptuel et descriptif : le Media Art Notation System

121
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

de multiples documents offre dj la possibilit dun mieux percevoir certains dtails), et danimations
commentaire et dun clairage des documents entre eux interactives des diagrammes (Figure 1).
(cration de bases de donnes relationnelles) ; dautre
part identifier le document principal qui serait lpine
dorsale partir de laquelle tous les autres documents
viendraient sorganiser. Lannotation, loin de sopposer
la notation, permet de concilier la fois la
prservation des documents originaux (sous rserve que
lon puisse continuer avoir accs au contenu de ces
documents, problme qui est loin dtre rsolu) et
lapproche descriptive.
Une premire exprience, antrieure ce projet, a t
mene par Clarisse Bardiot : la cration dun
documentaire enrichi partir des archives de 9
Evenings, Theatre & Engineering pour la fondation
Daniel Langlois Montral [1]. Figure 1. 9 Evenings, Theatre & Engineering, site
9 Evenings, Theatre & Engineering est une internet, capture dcran.
manifestation organise par E.A.T. en 1966 New
York. Evnement majeur dans l'histoire des relations Le cas de 9 Evenings nest pas isol. Le numrique
entre thtre et technologie, comme dans l'histoire des combin aux rseaux offre la possibilit de sapproprier
nouveaux mdia, 9 Evenings repose sur la collaboration les archives : des outils spcifiques mis disposition sur
de dix artistes (David Tudor, John Cage, Yvonne des plateformes en ligne permettent de les analyser, de
Rainer, Alex Hay, Deborah Hay, Robert Rauschenberg, les confronter, de tisser des liens smantiques entre de
Oyvind Fahlstrom, Steve Paxton, Robert Whitman, multiples documents. Cet aspect est au cur dun
Lucinda Childs) et d'une trentaine d'ingnieurs de Bell programme europen, ECLAP, e-library for
Labs. performing arts [7]. ECLAP runit de nombreuses
La recherche mene considre les diffrents aspects institutions europennes consacres aux arts de la scne
de la relation entre artistes et ingnieurs, ainsi que les au sens large, contribue la numrisation de leurs fonds
technologies utilises dans la manifestation. Elle (aujourdhui plus dun millions de documents, relis la
sarticule autour des diagrammes publis dans le bibliothque numrique en ligne Europeana) et propose
programme. Lanalyse de ces diagrammes, confronte une srie doutils qui permettent chacun denregistrer
des documents visuels (dont les captations tournes par son propre parcours et dannoter les documents
Alfons Schilling), des tmoignages (interviews slectionns via lapplication MyStoryPlayer (Figure 2).
dYvonne Rainer, Robert Whitman, Deborah Hay et
changes avec des participants de 9 Evenings), et
diffrents fonds darchives (dont le fond John Cage la
New York Public Library for the Performing Arts et les
archives de la Judson Church la NYU), permet de
comprendre la conception qua chaque artiste de la
technologie. Cette analyse permet aussi de mettre en
vidence comment la combinaison de mmes lments
na pas impos une esthtique identique pour toutes les
performances. Enfin, elle permet de considrer 9
Evenings comme lune des toutes premires expriences
qui applique des principes informatiques (bien que les
technologies utilises soient analogiques) dans le
contexte du spectacle vivant. Cette manifestation est le
prcurseur des digital performances daujourdhui.
La Fondation Daniel Langlois publie les rsultats des
recherches sur son site Internet, avec numrisation de Figure 2. MyStoryPlayer, capture dcran.
certains de ses documents darchive. La publication sur
le web tait loccasion dexplorer une criture Une autre initiative, en Angleterre, propose de crer
spcifique pour ce support. Fragmentaire et discursive, des carnets de notes personnaliss partir dun fonds
ayant le dsir de sintgrer dans la structure de la base darchives disponible sur internet. Le Digital Dance
de donnes sur laquelle repose le site Internet de la Archives runit diffrentes collections du National
Fondation Daniel Langlois, cette criture est une Resource Centre for Dance (NRCD) [6], dont la
tentative darticulation et de tissage de textes courts, de collection Laban, ainsi que le fonds darchives de la
documents darchives numriss, dimages, dont de chorgraphe Siobhan Davies. Des vidos, mais aussi des
nombreuses captures dcran issues des archives photographies, des dessins, etc. sont accessibles au
filmiques (autant darrts sur images qui permettent de

122
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

public. Les documents retenus par chaque personne Forsythe) permet dannoter textuellement les captations
peuvent tre annots, classs et partags (Figure 3). vido de rptitions ou de spectacles. Une version
adapte, PM2GO, est disponible en bta depuis janvier
2014 (Figure 4). Cette solution (qui en est encore ses
balbutiements) a pour but dannoter les vidos de
rptitions, en plaant des commentaires des moments
prcis. Cest un outil qui rpond un certain nombre de
problmatiques spcifiques, malheureusement
essentiellement lies aux mthodes de travail de la
compagnie de William Forsythe et donc trop fermes
pour pouvoir convenir beaucoup dautres cas dusages.

Figure 3. Digital Dance Archive, scrapbook, capture


dcran.
Figure 4. PM2GO, capture dcran.
Par ailleurs, des chorgraphes et des quipes de
recherche associes un artiste ont engag des projets
Le dveloppement doutils numriques spcifiques, tels
de documentation de la danse contemporaine par les
que les possibilits dannotation, montrent la difficult
technologies numriques. Citons, de manire non
dcrire les arts de la scne, y compris et surtout partir
exhaustive : Emio Greco, Siobhan Davies, Wayne
des captations filmiques. Si la vido a sembl un temps
McGregor, Steve Paxton, Pina Bausch (via le
une alternative aux diffrents systmes de notation de la
programme darchivage de sa fondation), Myriam
danse, alternative la fois aise mettre en uvre et bon
Gourfink, Jan Fabre, Deborah Hay, Bebe Miller,
march, elle nen demeure pas moins un document
Thomas Hauert et bien sr William Forsythe dont les
parcellaire qui appelle le commentaire. Aujourd'hui, les
projets sont devenus des rfrences incontournables [11]
technologies numriques favorisent de nouvelles
[14]. Improvisation Technologies, Synchronous objects
approches, entre partition et interprtation, entre notation
et Motion Bank embrassent une rflexion conduite sur
et annotation.
vingt annes, de 1993 aujourdhui, faisant de William
Forsythe lun des pionniers de ces questions [2]. Ces
initiatives se sont dveloppes sous limpulsion de 5. PRINCIPES GENERAUX DE REKALL
plusieurs phnomnes : limpact considrable du CD- Rekall [16] est un logiciel qui permet de documenter
Rom Improvisation Technologies de William Forsythe ; les digital performances, en prenant en compte le
lattention porte aux processus de cration la fois par processus de cration, la rception et les diffrentes
les artistes et par le public ; laccessibilit de plus en formes dun spectacle. Il sadresse la fois aux artistes,
plus grande aux outils numriques, notamment la aux techniciens, aux chercheurs et au grand public.
capture du mouvement ; lintrt croissant pour les Simple dusage et rigoureux (en particulier dans les
diffrents modes de documentation et de transmission mthodes dindexation et la gestion des mtadonnes),
de la danse contemporaine, intrt que lon constate Rekall permet de nombreux usages, au-del des digital
dans la multiplication des reprises des premires uvres performances et des arts de la scne. Pour raliser ce
dun chorgraphe (Early Works 1966-1979 de Trisha projet, des structures culturelles (le phnix scne
Brown reprises en 2005, Early Works 1982-1987 nationale Valenciennes, Le Fresnoy, MA scne
dAnne Teresa De Keersmaeker reprises en 2010). Ces nationale Montbliard), une socit (Buzzing Light
initiatives reposent trs largement sur lannotation de Guillaume Marais et Guillaume Jacquemin) ainsi que
documents, notamment vido. La plupart du temps, il des institutions (Pictanovo, Ministre de la Culture et de
sagit de dveloppements spcifiques un chorgraphe, la Communication) se sont associs. Le projet a t
voire une seule uvre, la mthodologie de initi et conu par Clarisse Bardiot, en collaboration
documentation dveloppe tant intrinsquement lie avec Buzzing Light et Thierry Coduys.
la dmarche de chaque artiste. Dans le cadre des projets Rekall offre une vision synthtique de la quantit, de
mise en uvre par Forsythe, une exception cette la qualit et de lorganisation des documents entre eux,
individuation : Piecemaker (dont linitiative revient tout en tant au plus prs de la dmarche propre
David Kern, lun des danseurs de la compagnie William chaque artiste, chaque compagnie. Il permet la fois

123
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

de rendre compte des technologies utilises dans le exploitation, critique, etc.). Connaissant la nature de
spectacle et den offrir une description pour chaque document, Rekall permet de configurer
ventuellement proposer une alternative avec dautres simplement ces exports, qui auront galement le mrite
composantes. Il nous semble en effet primordial de de valoriser l'uvre (documents jour, prsentation
garder la trace la plus prcise possible des composantes soigne, etc.).
technologiques, parce quelles sont galement porteuses La prservation passive d'une uvre d'art
de dimensions esthtiques et historiques, tout en offrant composante technologique est dans la plupart des cas
la possibilit de dcrire les effets de ces mmes malheureusement irralisable. Tout comme nous
composantes, dans la ligne de la rflexion sur les remplaons ou renouvelons les lments prissables
mdias variables [5]. essentiels certaines uvres dart plastique, il est
Le fonctionnement de Rekall sarticule indispensable de prserver activement les uvres d'art
essentiellement autour des documents de cration : composante technologique. Mme si Rekall rpond en
croquis de scnographies, commentaires audio, partie au problme d'obsolescence des technologies
description dlments techniques, vidos, textes, (nomenclatures claires, mises jour des outils
carnets de notes, conduites techniques, patches, captures embarqus, etc.), il est indispensable que certaines
dcran de logiciels spcifiques, partitions, actions de prservation soient ralises par lutilisateur.
photographies, mails Il permet galement darticuler Rekall simplifie cette prservation active en alertant par
plusieurs strates temporelles : celle du processus de exemple lorsque la prennit dun document est mise en
cration (clairer par exemple les recherches menes danger par la dernire mise jour de son logiciel
pour tel aspect du spectacle), de la reprsentation elle- dexploitation.
mme (voire de ses diffrentes versions dans le cas dun Les captures dcran qui suivent sont issues dune
work in progress), et de sa rception (par exemple en tude de cas en cours sur le projet Re :Walden cr par
ajoutant des commentaires audio de la compagnie sur le metteur en scne Jean-Franois Peyret et qui prend
son propre travail, ou bien de spectateurs, ou encore la diffrentes formes de 2009 2014 (workshops,
revue de presse). installations, spectacles, concert) [15].
Laccumulation des documents est un lment cl
pour lefficacit de fonctionnement de Rekall. En effet, 5.1. Projet et documents
cest en analysant ces documents, en les mettant en
relation les uns avec les autres et en les plaant dans des Une uvre dans sa globalit (cration, rptitions,
contextes soigneusement choisis (multidimensionnels, reprsentations, performances, itrations, rgie, etc.) est
temporels ou non) que Rekall parvient peu peu structure sous la forme dun projet Rekall, constitu
rvler des caractristiques spcifiques une uvre par lensemble des documents qui ont t ncessaires
donne. la fabrication de luvre. Les documents peuvent tre
Afin de recueillir tous ces documents de travail, il est de quatre natures diffrentes (Figure 5) :
essentiel que Rekall se trouve au cur du processus de un fichier (patch, texte, vido, audio),
cration. La majeure partie des documents doivent tre une URI (lien web, site internet, fichier online,
naturellement implments sans reprsenter une charge ressource logicielle),
de travail supplmentaire pour les artistes. C'est un acteur du projet (auteur, artiste, rgisseur,
pourquoi une grande partie de Rekall est ddie ralisateur informatique musicale),
l'organisation des documents de cration pendant le un cue ou marqueur (un timecode prcis associ
processus cratif. Il permet tous les protagonistes une fonction dans luvre).
intervenant au cours du processus de cration de
travailler sur une plateforme commune et
compartimente.
Cette structure ouvre alors un spectre de possibilits
analytiques extrmement important. En partant du
principe quun processus de cration peut tre analys
en grande partie par les documents de cration collects
(devenus documents d'exploitation pour certains),
Rekall se base sur les mtadonnes prsentes dans
chacun de ces documents pour en extraire des
informations cruciales (auteur, date de cration, lieu de
cration, etc.) qui seront ensuite utilises par les outils
danalyse et de reprsentation de linformation, pour
rvler des comportements cratifs, des usages ou
dautres informations insouponnes.
Au vu de la masse d'informations que vhicule une Figure 5. Polymorphisme des documents
uvre, il apparat vident qu'une solution d'export cibl
est ncessaire afin de n'inclure dans diffrents packages Ces documents sont systmatiquement transcods
que les documents utiles l'usage souhait (pdagogie, dans le format le plus prenne disponible et connu par le

124
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

logiciel : PDF pour les documents, H264 pour les Figure 7. Processus danalyse des documents
vidos, etc. Aussi, dans la mesure du possible, un aperu
du document (vignettes pour les images et PDF, lajout ou modification dun document, Rekall
pellicules pour les vidos, formes dondes pour laudio) enregistre aussi des mtadonnes contextuelles telle que
est gnr. Ces oprations sont effectues laide des lauteur de limport ou de la modification, lhorodatage,
outils open source cross platform ffmpeg [1] et lame les caractristiques techniques de lordinateur et la
[12]. golocalisation. Ces informations seront trs utiles pour
la reprise de luvre en cas dincompatibilit technique
5.2. Versions et mtadonnes ( sur quelle version de Mac OS travaillait-on ? ), de
perte de fichier ( qui a fait la dernire mise jour du
Chaque document peut possder plusieurs versions fichier ? ), de configuration technique oublie ( sur
qui reprsentent le travail itratif dun acteur du projet. quelle machine tournait le patch ? ), etc. (Figure 8).
laide des mcanismes offerts par les systmes
dexploitation, Rekall est capable danalyser en temps
rel les modifications des documents quil surveille,
sans ralentissement pendant le travail. Sauf demande
explicite de lutilisateur, le logiciel ne cre pas de copie
physique des versions des documents mais enregistre
simplement le nom de la personne qui la modifi
associe un horodatage (Figure 6).

Figure 8. Organisation dun projet avec ses


documents et lanalyse automatique en tche de fond

Dans la suite du travail de cration avec Rekall,


toutes les oprations effectues par linterface graphique
(positionnement dun lment dans la timeline, liens
entre documents, etc.) sont stockes comme une
Figure 6. Versionning des documents mtadonne dans les documents (Figure 9).

Dans le cas des documents de type fichier, Rekall


identifie galement les doublons laide dune fonction
classique de hachage sur le contenu du fichier.
Pour chaque version dun document, Rekall extrait
lensemble des mtadonnes disponibles laide de
loutil open source cross platform exiftool [8]. Ce set de
mtadonnes est ventil en catgories (informations
relatives laudio, la vido, au fichier, lauteur) et
sont stockes dans une table de hachage optimise pour
laccs en lecture (Figure 7).

Figure 9. Exemple de mtadonnes automatiquement


extraites par Rekall

125
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

5.3. Data visualisation

Une fois lensemble des documents analyss et Au del de la reprsentation isole de chaque
enrichis de leurs mtadonnes, Rekall propose un document, il est possible de constituer un groupe
mcanisme extrmement simple mais puissant de graphique de documents suivant les mmes critres cits
reprsentation de linformation : chaque document est prcdemment. On peut ainsi rvler lvolution dun
visualis dans un espace 3D, sous la forme dune barre mot-clef, dun acteur du projet, dun concept, etc. au fil
dont la visibilit, la position, la couleur, le texte et du temps (Figure 12).
lenveloppe sont entirement fonction des mtadonnes
du document quelle reprsente ; il sagit du mapping
des mtadonnes sur des paramtres graphiques (Figure
10).

Figure 12. Groupe de documents possdant


le mot-clef Coduys

Lorsquun fichier possde plusieurs versions ou


doublons, ils apparaissent relis par un fil, permettant
didentifier graphiquement les changements historiques
sur un document (Figure 13).

Figure 10. Principe de mapping des mtadonnes


sur la reprsentation graphique

Lorsquune mtadonne nest pas une valeur


numrique (texte ou date), Rekall cre des groupes afin
de positionner les mtadonnes dans une chelle de
catgories (texte similaire ou intervalle de dates).
Pour chaque reprsentation graphique possible
(position, couleur, texte), une barre de filtrage permet
de configurer finement le mapping : choix du critre
(mtadonne) et activation/inhibition de certaines
valeurs (Figure 11). Figure 13. volution dun document au fil du temps
Forme pleine = version actuelle
Formes vides = anciennes versions

5.4. Exemples de reprsentations

Quelques exemples de reprsentations utilisant des


paramtres simples : la date, le type et lauteur du
document et son implication dans le droul de luvre
(timeline) (Figures 14 17).

Figure 11. Barre de filtrage et de configuration du


mapping des mtadonnes

126
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

5.5. Rgie

Cette dernire figure rvle que le logiciel peut grer


la rgie gnrale du projet. Il sagit alors dutiliser
Rekall comme un squenceur capable denvoyer en
temps rel les cues (vnement ponctuel ou dbut/fin
dun vnement) en OpenSoundControl. laide dun
simple filtrage, chaque acteur du projet peut utiliser
Rekall pour visualiser uniquement sa rgie (Figure 18).

Figure 14. tude chronologique des crations et


modifications des documents de luvre Figure 18. Cues de Thierry Coduys
axe vertical : mois du calendrier ; couleur : type de document
texte : auteur du document ; axe horizontal : timeline de luvre
Une reprsentation graphique ddie la temporalit
de luvre est alors disponible et permet de visualiser
en liste lensemble des documents et cues filtrs
prcdemment.
Un bouton spcial assorti dun raccourci clavier
permet tout moment de placer un cue dans le projet
(Figure 19).

Figure 15. tude des types de documents utiliss


dans le droul de luvre
axe vertical : type de document ; couleur : auteur du document
texte : mois du calendrier ; axe horizontal : timeline de luvre

Figure 16. tude des types de documents produits


par les diffrents acteurs du projet
axe vertical : auteur
axe horizontal + couleur : type du document
Figure 19. Visualisation de la timeline en liste
gauche sans filtre sur lauteur. droite, uniquement Thierry
Coduys. Le chronomtre gauche de litem permet de danticiper
lapparition imminente du cue.

5.6. Documentaire interactif

laide de toutes les reprsentations prsentes dans


ces dernires sections, Rekall constitue aussi un outil
interactif pour les documentaires augments (Figure 20).
Figure 17. Cues des diffrents acteurs du projets
axe vertical + couleur : auteur Par exemple, en combinant la timeline de luvre, la
axe horizontal : timeline de luvre captation dune performance et la reprsentation en liste
filtre : nafficher que les documents de type cue (utilise prcdemment pour la rgie), il est possible de

127
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

visualiser en temps rel les documents de cration Rekall est distribu sous licence GPL3 et son code
pendant le visionnage dune uvre, mais aussi de source est maintenu sur un repository public [17].
conserver un regard sur sa globalit.
6. CONCLUSION PROVISOIRE
Rekall est actuellement en version alpha. La bta est
prvue pour avril/mai 2014. La collaboration avec des
quipes artistiques dans cette phase dexprimentation
est essentielle. En effet, le logiciel est conu pour les
artistes et leurs quipes techniques afin quils soient
mme de documenter leur propre processus de cration
et les uvres cres. Cest pourquoi nous nous
appuyons sur la collaboration de deux quipes
artistiques, en thtre (Jean-Franois Peyret [15]) et en
danse (Mylne Benoit [3]), en rsidence respectivement
au Fresnoy et au phnix scne nationale Valenciennes.
Ces quipes sont dune part associes la conception du
Figure 20. Documentaire augment logiciel et dautre part les premiers utilisateurs. Des
runions de travail avec les diffrents intervenants
Rekall est capable de lire plusieurs mdias (techniciens, rgisseurs, metteur en scne, chorgraphe,
simultanment, ce qui permet entre autres de comparer clairagiste, vidaste) font partie du processus de
plusieurs versions dun uvre, plusieurs reprsentations conception et dveloppement de Rekall, afin dajuster
ou encore dajouter des mdias narratifs (commentaires rgulirement le cahier des charges et les spcifications
de lartiste, explication de linterprte). Lutilisateur aux besoins des futurs utilisateurs. Plusieurs workshops
peut tout moment activer ou dsactiver la vido et avec diffrents types dutilisateurs (artistes, techniciens,
laudio indpendamment, ajuster le volume et naviguer chercheurs) sont galement prvus afin dvaluer et
dans la timeline (Figure 21). ventuellement corriger certains aspects
mthodologiques, comme le tracking des actions des
diffrents contributeurs une uvre, ou encore le choix
dun modle qui puisse sadapter de nombreuses
uvres. En effet, il nous semble que Rekall, conu
lorigine pour des uvres scniques, peut galement tre
utilis pour des installations plastiques. Concernant les
uvres musicales, lintgration dun suivi de partition
doit galement tre tudi. Enfin, nous valuons le
dveloppement dune version simplifie online pour des
usages simples ou des contextes lgrement diffrents,
comme la critique artistique ou encore la phase de
Figure 21. Visionnage simultan de deux conception et dcriture des uvres.
reprsentations associes
une bande son supplmentaire 7. REFERENCES

Enfin, un mode multi-moniteurs permet galement un [1] Bardiot C. 9 Evenings, Theatre & Engineering, site
confort de travail et danalyse en dportant la vido en Internet de la Fondation Daniel Langlois, mai
plein cran sur un ou plusieurs crans secondaires. 2006, http://www.fondation-
langlois.org/flash/f/index.php?NumPage=571
Consult le 01/04/2014.
5.7. Choix techniques
[2] Bardiot C. Une autre mmoire : la chorgraphie
Rekall est dvelopp avec le framework de des donnes. propos des objets numriques
dveloppement Qt. Ce choix a t fait pour les raisons dvelopps par William Forsythe (Improvisation
suivantes : Technologies, Synchronous objects et Motion
framework open source, compatible avec des Bank) , in Documenter, recrer... Mmoires et
modles de licences types GPL ; Transmissions des uvres performatives et
cross-platform, qui peut sexcuter sur les trois chorgraphiques contemporaines, Les Presses du
principaux systmes dexploitation Linux, rel, paratre.
Mac OS et Windows ;
intgration native dOpenGL, pour le rendu 2D [3] Benoit Mylne, site internet de la compagnie
et 3D de manire fluide et interactive ; Contour Progressif, http://www.contour-
interfaces graphiques riches avec une exprience progressif.net/ Consult le 01/04/2014.
utilisateur intuitive, lgante et efficiente.

128
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

[4] Bonardi, A., Barthlmy J. Le Patch comme


document numrique : support de cration et de
constitution de connaissances pour les arts de la
performance , Le Document numrique dans le
monde de la science et de la recherche, Actes du
10me Colloque International sur le Document
Numrique (CIDE), INIST, Nancy, 2007, p. 163-
174.
[5] Depocas A., Ippolito J., Jones C. (sous la direction
de). LApproche des mdias variables. La
permanence par le changement. Guggenheim
Museum Publications et Fondation Daniel
Langlois, 2003. Publi sur Internet :
http://variablemedia.net Consult le 01/04/2014.
[6] Digital Dance Archives, http://www.dance-
archives.ac.uk/ Consult le 01/04/2014.
[7] ECLAP, http://www.eclap.eu Consult le
01/04/2014.
[8] ExifTool, http://sno.phy.queensu.ca/~phil/exiftool
Consult le 01/04/2014.
[9] FFMpeg, http://www.ffmpeg.org Consult le
01/04/2014.
[10] Stephen G., Conservation and Performance Art:
Building the Performance Art Data Structure
(PADS) , MA dissertation, 2008,
http://www.incca.org/resources/38-
documentation/255-graydissertation Consult le
01/04/2014.
[11] International Journal of Performance Arts &
Digital Media, Choreographic documentation ,
vol. 9, n 1, 2013.
[12] Lame, http://lame.sourceforge.net Consult le
01/04/2014.
[13] Laurenson, P. Authenticity, Change and Loss in
the Conservation of Time-Based Media
Installations , Tate Papers, n 6, automne 2006,
http://www.tate.org.uk/research/publications/tate-
papers/authenticity-change-and-loss-conservation-
time-based-media Consult le 01/04/2014.
[14] Performance Research, Digital Resources ,
11:4, 2007.
[15] Peyret Jean-Franois, site de la compagnie,
http://theatrefeuilleton2.net Consult le
01/04/2014.
[16] Rekall, site internet, http://www.rekall.fr, Consult
le 01/04/2014.
[17] Repository de Rekall,
https://www.github.com/Rekall/Rekall Consult le
01/04/2014.
[18] Rinehart, R. A System of Formal Notation for
Scoring Works of Digital and Variable Media
art , Leonardo - Journal of the International
Society for the Arts, Sciences and Technology, The
MIT Press, Volume 40, n 2, 2007, p. 181-187.

129
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

DISSMINATION ET PRSERVATION DES MUSIQUES MIXTES : UNE


RELATION MISE EN UVRE

Guillaume Boutard Fabrice Marandola


Universit de Montral McGill University
Centre interdisciplinaire de recherche en Centre interdisciplinaire de recherche en
musique, mdias et technologie musique, mdias et technologie
guillaume.boutard@mail.mcgill.ca fabrice.marandola@mcgill.ca

R SUM terme, et en runissant un maximum de sources, nous avons


le sentiment davoir contribu la conservation dun pa-
Le projet Documentation, Dissemination and Preservation trimoine, conservation assure non seulement au moyen
of Compositions with Real-time Electronics (DiP-CoRE) du fonds, mais aussi par la mise en lumire de ses cls de
a propos darticuler dissmination et prservation des uvres lecture .
de musique mixte au travers de la documentation des pro- La question de lintelligibilit et de la dissmination avait
cessus de production, prenant en compte les diffrentes notamment tait mise en vidence par Bernardini et Vi-
expertises engages, que ce soit au niveau de la compo- dolin [2], dans le cadres des musiques lectroacoustiques,
sition, de linterprtation, ou de lingnierie et plus fon- qui considraient la ncessit de dvelopper des active
damentalement encore de leurs articulations. Cet article communities of co-operating performers which will be conscious
dtaille les aspects mthodologiques du projet, bass no- enough to share and document their experiences . Mais
tamment sur des modles thoriques en sciences de lin- cette question de lintelligibilit ne peut tre spare des
formation, et les aspects empiriques, bass sur des concep- processus de production et des processus cratifs puisque
tualisations inductives des processus de production et de comme le remarquait justement Born [4] dans le cadre
cration, et leur application pratique au travers dexemples de la production lInstitut de Recherche et de Cration
choisis collects pendant le travail effectu par lensemble Acoustique/Musique (IRCAM), "we have seen that pro-
de percussion Sixtrum avec les compositeurs Robert Nor- grams are often developed over time through the colla-
mandeau, Serge Provost, et Laurie Radford. borative imaginative labor of several authors. Because of
this inherent temporal and social mediation, the resultant
baroque totality is extremely difficult to decode after the
1. INTRODUCTION
event and is thus opaque to the reconstruction of its total
Rappelons que lutilisation de nouvelles technologies a logic the necessary prerequisite for documenting it (p.
mis le rpertoire des musiques mixtes en danger du point 276).
de vue de sa prennit. Cette problmatique a t mise en Cest depuis ce point de dpart que sest construit le projet
avant dans de nombreux articles et dans un cadre musi- Documentation, Dissemination and Preservation of Com-
cal qui ne se limite pas aux musiques mixtes (on prendra positions with Real-time Electronics (DiP-CoRE), projet
comme exemple [2], [17], ou encore [16]). Baudouin [1] visant dvelopper des mthodes de prservation du r-
reliait cette question, dans le cadre des musiques lectro- pertoire centres sur lintelligibilit, tout en actant la di-
niques, celle de la prservation dune mmoire collec- mension fondamentalement idiosyncratique de chaque pro-
tive : lenjeu de sa conservation dpasse amplement ce- cessus cratif et de chaque production. Cest donc dans la
lui des uvres considres de faon isole, et concerne da- mise en uvre du rapport entre dissmination et prser-
vantage une mmoire collective quil devient urgent, me- vation par la mdiation de la documentation que le projet
sure que le temps scoule, de prserver (p. 1). Plus prag- se place dans le domaine de la prennisation du rpertoire
matiquement, Tiffon [19] rappelait que pour les musiques des musiques mixtes.
mixtes en temps rel, luvre est dpendante dune tech-
nologie tributaire dune poque, ou mme dune techno- 2. CONTEXTE DE PRODUCTION
logie spcifiquement cre pour les desseins propres au
compositeur (p. 27). Le projet DiP-CoRE sest mont autour de la cration
Cest bien la problmatique de lidiosyncrasie des tech- par lensemble de percussion Sixtrum de trois uvres mixtes
niques, souvent prsente comme problme (e.g. [12]), de trois compositeurs de renomme internationale : Ro-
quil convient de mettre en avant dans la recherche et tout bert Normandeau, Serge Provost et Laurie Radford. Len-
spcialement dans sa relation lintelligibilit des uvres, semble Sixtrum compos de six percussionnistesJoo
ce qui permettait Baudouin davancer qu en prser- Catalo, Julien Compagne, Julien Grgoire, Philip Horn-
vant cette mmoire, menace de disparition partielle moyen sey, Kristie Ibrahim, Fabrice Marandolatait complt

130
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

par quatre chanteursStphanie Lessard (soprano), Marie- logiques dans le contexte de la technique du cours dac-
Annick Bliveau (alto), Michiel Schrey (tnor), Pierre- tion. Theureau les prsente en rapport plusieurs autres
tienne Bergeron (basse). Les concerts de cration sin- tendances dans les techniques denqutes plus ou moins
crivaient dans la srie organise par le Centre Interdisci- lies aux traces de lactivit, notamment le travail de Ver-
plinaire de Recherche en Musique, Mdias et Technologie mersch [20] sur les entretiens dexplicitation et le tra-
(CIRMMT), intitule live@CIRMMT, et se sont drouls vail de Clot [8] sur les autoconfrontation croises. Cha-
les 15 et le 16 mai 2013 dans la salle du MMR de luniver- cune de ces mthodologies se base sur des systmes de
sit McGill. Ces concerts ont t prcds dune longue contraintes diffrents qui requirent notamment une im-
phase de production dont lun des hauts points fut un ate- plication plus ou moins importante du chercheur dans la
lier sur la spatialisation luniversit McGill, suivant une direction de la production de donnes. Comment consi-
phase de travail entre compositeurs et instrumentistes et gner une exprience, quels sont les partis pris ontologiques
aboutissant une performance des uvres en ltat le 20 et pistmologiques ? Toutes ces questions sont hrites
dcembre 2012. Ces conditions de production, dcrites des disciplines mises contribution, que ce soit lergono-
par les trois compositeurs comme fondamentales, ont per- mie [18], la linguistique [7] ou la psychologie [8].
mis davoir accs un niveau important de traces de lac- Le projet DiP-CoRE tant orient sur cette consignation
tivit collective de production dune uvre ncessaire la des expriences et de transmission entre experts, il tait in-
mise en uvre de nouvelles mthodes de documentation, tressant de sinscrire principalement dans une approche
de dissmination et par voie de consquence de prserva- permettant lexpertise mme dtre le cadre de rfrence,
tion du rpertoire des musiques mixtes. cest--dire de fournir le systme de contraintes. Comme
Les donnes brutes dobservation audio et vido fournis- le dit Goasdou [11], dans un cadre rduit par rapport au
sant la base la partie mthodologique de la documen- projet DiP-CoRE, [...] il nappartient pas aux scienti-
tation discute dans cet article ont t recueillies depuis fiques de dterminer ce quest une bonne interprtation
latelier du 20 dcembre 2012 jusquau deux concerts des (p. 91). Comment donc intgrer la pratique dans la mtho-
15 et le 16 mai 2013. dologie de collecte de donnes sans trahir lexpertise ? Sil
faut se baser sur lexpertise pour consigner les connais-
sances en jeu et la tradition orale qui participe la construc-
3. MTHODE tion des objets que sont les musiques mixtes, alors il de-
vient ncessaire dtablir des mthodes qui permettent de
La prservation des musiques mixtes est une probl- refaire surgir cette construction experte dans les mthodes
matique interdisciplinaire et lon peut la prsenter de mul- de documentations sans rduire ces connaissances un
tiples faons, ainsi que les diffrentes tendances dans chaque cadre formel dfini a priori. Dans ce contexte, les auto-
axe, sans la trahir. Une possibilit est de distinguer les confrontations croises proposes par Clot et leur corol-
approches dans leur rapport la technologie, cest--dire laire dans un cadre organisationnel multi-expertise, c.--d.
entre des approches technocentriques (la technologie la la mthode des dialogical mediated inquiries propose
rescousse de la technologieLa technologie est ici com- par Lorino et al. [13], permettaient au mieux de rpondre
prise comme technique fonde sur le savoir scientifique, aux objectifs du projet et lobjet de recherche, le tout
elle nest donc pas entendue comme simple implmenta- autour du cadre thorique fourni par ce que Boutard [5]
tion) et des approches sociotechniques (prise en compte nomme mixed methods digital curation, cest--dire une
des agencements entre humains et objets techniques). Une faon denvisager la conservation des objets numriques
autre possibilit est de mettre en parallle la vision tra- du point de vue pragmatique de la mise en commun de
ditionnelle de la prservation axe autour de lorganolo- plusieurs mthodes aux postulats pistmologiques diff-
gie, la pratique et la partition, et la vision divergente axe rents.
autour de la documentation des uvres et des processus Le travail de Clot et Fata [9] prend comme fondement
cratifs dans leur singularit. Cest dans cette deuxime la notion dpaisseur de lactivit, cest--dire le fait que
dmarche que sinscrit le projet DiP-CoRE sans toutefois [...] lactivit nest plus limite ce qui se fait. Ce qui
considrer la premire vision comme fondamentalement ne sest pas fait, ce quon voudrait faire, ce quil faudrait
invalide dans le contexte des musiques mixtes, mais plu- faire, ce quon aurait pu faire, ce qui est refaire et mme
tt complmentaire. ce quon fait sans vouloir le faire est accueilli dans lana-
Le point important est que chacune de ces visions est sous- lyse de lactivit en clairant ses conflits (p. 35). Dans
tendue par un systme de contraintes diffrentes. Si dans le cadre multi-expertise de la production des musiques
la vision traditionnelle les systmes de contraintes que mixtes tel que prsent notamment par Berweck [3], nous
sont lorganologie, la pratique et la partition sont lori- avons donc inclus dans le recueil de donnes non seule-
gine dcrits nombreux, ce nest que plus rcemment que ment les compositeurs et les instrumentistes, mais aussi
les cadres de collectes de donnes en rapports avec les les ingnieurs du son et ralisateurs en informatique mu-
processus cratifs ont t lobjet de discussions mtho- sicale.
dologiques. Ces discussions se sont dveloppes en liai- La segmentation des donnes tait rgie par le travail tho-
son avec certaines tendances en musicologie empirique, rique de Boutard [5] et plus prcisment les cadres concep-
on prendra comme exemple le travail de thorisation de tuels fournis par Boutard et Guastavino [6], cadres tou-
Theureau [18] qui nous prsente ces contraintes mthodo-

131
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

- Rptitions Universit McGill et performances :


7h30mn
Documents divers (comprenant notamment des photos
non compresses de la disposition technique et ins-
trumentale, des fichiers sons volumineux) : 4.5 GB.
Entrevues en fonction des uvres (les valeurs sont ap-
proximatives et divises suivant le nombre de cam-
ras utilises)
- Le rve dAhmed (Serge Provost) : 2h50mn
- Baobabs (Robert Normandeau) : 1h45mn
- The Body Loop (Laurie Radford) : 1h10mn
Figure 1. Dispositif dentrevue du projet DiP-CoRE avec
Pour la production du DVD ont t slectionn, en accord
les traces de lactivit. Sur lcran du fond, des extraits des
avec la mthodologie dcrite et les contraintes despace,
captures vidos pendant la production ; droite le patch
au niveau vido (valeurs approximatives) :
Max/MSP du compositeur Laurie Radford ; gauche des
documents textuels et graphiques rcolts pendant et aprs Le rve dAhmed (Serge Provost) : 7mn dobservations
la production. vido et 43mn dentrevues
Baobabs (Robert Normandeau) : 15mn dobservations
vido et 15mn dentrevues
jours pris dans un processus dadaptation aux nouveaux
contextes. Cette segmentation a permis dcarter les ob- The Body Loop (Laurie Radford) : 15mn dobservations
servations non pertinentes au processus de production. Cest vido et 20mn dentrevues
ainsi que par la suite, ces donnes brutes dobservation Le dispositif de rcolte de donnes par entrevues compre-
segmentes ont t passes en revue et slectionnes par nait plusieurs crans permettant dafficher des documents
un panel dexperts en fonction de leur utilit en temps de travail lectronique, les patchs, et de rejouer les seg-
quobjet de documentation et/ou objet de mdiation (cest- ments vido provenant des enregistrements des sessions
-dire permettant dapprofondir un point jug pertinent de rptitions. Suite la lecture des squences vido il
par le panel) pour la phase suivante des entrevues. Ces tait demand aux acteurs de la production slectionns
documents vido, considrs comme objets de mdiation, de commenter lactivit affiche dans les squences tout
ainsi que les documents de travail fournis par les agents en saidant des autres documents prsents si ncessaire.
du processus de production ont fourni le matriel nces- La figure 1 montre le compositeur Laurie Radford droite
saire la constitution de deux types dentrevues : dune et lingnieur du son Padraig Buttner-Schnirer gauche,
part les autoconfrontations croises sur la base du travail devant le dispositif dentrevue comprenant comme traces
en psychologie de lactivit de Clot [8] et leur application de lactivit le patch Max/MSP (cran de droite), la liste
au contexte multi-expertise [13], et dautre part des entre- des microphones (cran de gauche), et les enregistrements
vues avec les compositeurs dans un dispositif semblable vido (cran central). Afin dexemplifier le types de don-
celui de Donin et Theureau [10], cest--dire de confron- nes rcoltes nous prendrons quelques exemples lis la
tation simple avec les traces dactivit (notamment les do- taxonomie tablie par Clot propos de lpaisseur de lac-
cuments de travail, patches, et observations vido). tivit.
Sur la figure 2, linstrumentiste Fabrice Marandola ( gauche),
4. MISE EN UVRE en compagnie du compositeur Robert Normandeau ( droite),
utilise les documents fournis, ici la photographie de la dis-
Les donnes rcoltes la fin du projet comprennent position instrumentale sur scne, pour expliciter les choix
donc : des observations vidos enregistres pendant les fait en rapport avec la distance aux haut-parleurs :
sances de rptitions, des documents de travails et es- Fabrice Marandola (Percussionniste) : Tu vois, si
quisses, des entrevues, les enregistrements de concert. Le tu regardes l [FM montre du doigt limage lcran,
tout sera publi dans un DVD qui sera dissmin par le la- cf. figure 2] sur les images, il y a quand mme du
bel empreintes DIGITALes [14] et comprendra galement monde, il y a de la place de chaque cot. Et au dbut
des enregistrements vidos des trois uvres, Le rve dAh- ce ntait pas a... .
med (Serge Provost), Baobabs (Robert Normandeau) et Robert Normandeau : ... vous tiez jusquau bout
The Body Loop (Laurie Radford). .
Quantitativement les donnes rcoltes comprennent (les FM : Mais en mme temps on avait beaucoup plus
valeurs sont approximatives et divises suivant le nombre laile gauche, laile droite, donc leffet stro [...]
de camras utilises chaque tape) : Lpaisseur de lactivit permet de rendre compte de
ce qui aurait pu tre fait par comparaison ce qui a t
Traces vido
ralis :
- Atelier de dcembre 2012 : 2h20mn Robert Normandeau : Oui en fait, cest un rle qui
- Rptitions Universit de Montral : 9h est destin, au fonds, des interprtes qui sont un

132
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Figure 3. Le compositeur Serge Provost ouvrant son patch


Figure 2. Interaction avec les documents fournis pour les Open Music tout en le commentant.
entrevues. Le percussionniste Fabrice Marandola de len-
semble Sixtrum commente lvolution du placement des
instrumentistes par rapport au systme de diffusion. of these sub-patches. And they get adjusted just a little bit
in terms of their parameters, in terms of how many signals
are coming in, how many signals are going out. For ins-
peu mi chemin entre des comdiens et des chan- tance, the pitch shifter, I had the same pitch shifter for a
teurs. [...] Mais en mme temps cest vrai quil y a le number of years and then I started disliking the sound or
travail de la projection de soi dans lonomatope. Et the quality of the pitch shifter so I rebuilt it with a slightly
si on avait eu plus de temps, je vous aurais probable- different configuration. So its like pitch shifter version
ment indiqu plus de pistes en vous disant : voil a two .
cest un chat, a cest ceci, a cest cela. Parce quil Pour Serge Provost : Il y a des outils de ce patch qui
y a beaucoup de mtaphores [...] . existaient dj dans dautres uvres et que jai rcuprs.
Marie-Annick Bliveau (alto) : Mais cest l que Par exemple ici, le systme de dlai, dharmonisation mi-
les pistes audio aidaient beaucoup parce quil y avait crotonale [...]. Bon, ce sont des outils qui font partie de
dj beaucoup de caractre, puis je trouve que dans ma bote outils o je vais reprendre tels ou tels lments
le Renard et la Rose [nda : luvre lectroacoustique et les rebrancher ensemble afin de faire un rseau qui va
qui a servi de base la transcription pour la nouvelle correspondre aux besoins de la nouvelle pice .
pice de Robert Normandeau Baobabs] encore da- Les compositeurs montrent non seulement le rapport du
vantage [...] . patch aux uvres prcdentes, luvre en cours, mais
Elle permet aussi de rendre compte de ce qui na pas t galement aux uvres futures dans les volutions quils
fait : prvoient dj pour les projets en cours ou venir.
Robert Normandeau : Non, cest vrai que le projet Laurie Radford : I think that probably whats going to
lorigine ctait vraiment de mettre les consonnes happen with this [the output module] is that its going to
aux percussions et les voyelles aux chanteurs mais have another one [routing system] so that the manipulation
a ne marchait pas comme a en fait [...] . of multiple signals becomes even more fluid and complex
Les documents de travail ont servi de support lexplici- .
tation du travail cratif des compositeurs dans la ligne du Cest donc tout ce contexte, support de lintelligibilit des
travail de Donin et Theureau, mais avec une vise docu- uvres en vue de sa re-performance et/ou migration, qui
mentaliste plutt que musicologique. Ainsi le compositeur ressort du dispositif mthodologique de capture des don-
Serge Provost (figure 3) passe au travers de tout son patch nes en relation avec le cadre conceptuel fournis par Bou-
Open Music pour expliquer sa dmarche de transcription tard et Guastavino [6], cest--dire en relation lorgano-
de matriel littraire en partition, au travers notamment du logie, la transmission des connaissances, aux stratgies
code morse. de production et bien sur la composition et linterprta-
Serge Provost : Par exemple ici, jai fait deux li- tion.
brairies, une pour ce qui est des mots qui viennent
de la dclaration universelle des droits de lhomme
et lautre, qui tait pour lautre instrument, qui est le 5. CONCLUSION
mot libert dans 25 langues diffrentes [...] .
Les donnes rcoltes ne se limitent pas au contexte Le projet DiP-CoRE a permis de mettre en place une
spcifique de production des uvres puisque les composi- dmarche mthodologique de travail pour la documenta-
teurs font rfrence non seulement leurs pairs mais aussi tion et la dissmination des uvres mixtes. Une fois cette
leur propre parcours, quelquefois objectiv dans le patch base tablie le dispositif peut tre sensiblement rduit pour
Max-MSP. permettre son application de plus simples dispositifs en
Ainsi pour le compositeur Laurie Radford : Some of fonction des moyens disposition. Il reste que cette pra-
these patches have been with me for ten years, or some tique, visant la prennisation du rpertoire, est situe

133
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

dans un contexte plus large qui inclut les disciplines des [6] Boutard, G. and C. Guastavino. Following gesture
sciences de linformation, de larchivistique, de lingnie- following : Grounding the documentation of a multi-
rie et tout spcifiquement dans leur relation la conserva- agent creation process , Computer Music Journal,
tion et la prservation des objets numriques. Le modle vol. 36 (4), 2012, p. 5980.
gnral de prservation et de dissmination, conceptua- [7] Cance, C., H. Genevois, and D. Dubois, What
lis par Boutard [5] et sur lequel se base cette recherche, is instrumentality in new digital musical devices ? a
requiert de pousser maintenant cette pratique des dispo- contribution from cognitive linguistics and psycho-
sitifs plus larges : dans la ligne de ce que rclamait dj logy , La Musique et ses instruments, Delatour, Pa-
Moore [15], cela ncessite de sappuyer les cadres tho- ris, 2013, p. 283298.
riques et pratiques de prservation des objets numriques
que fournissent communment les dpts numriques, no- [8] Clot, Y., Travail et pouvoir dagir, Presses Univer-
tamment dans le milieu universitaire. Par le modle des sitaires de France, Paris, 2008.
Mixed Methods Digital Curation [5], nous avons mainte- [9] Clot, Y. and D. Fata, Genres et styles en analyse
nant les moyens de mettre en relation les pratiques docu- du travail : Concepts et mthodes , Travailler, vol.
mentaires, principalement qualitatives, tablies par le pro- 4, 2000, p. 742.
jet DiP-CoRE et la thorie de la prservation des objets [10] Donin, N. and J. Theureau, Theoretical and metho-
numriques, sappuyant sur des modles principalement dological issues related to long term creative cogni-
quantitatifs. Pour cela il est ncessaire de mettre en place tion : the case of musical composition , Cognition,
des plateformes de diffusiondont les principes mtho- Technology & Work, vol. 9 (4), 2007, p. 233251.
dologiques ont t mis en lumire par le projet DiP-CoRE
[11] Goasdou, D., Lart du violon, aperu his-
ancres sur des dpts numriques. Une volont politique
torique dune pratique raisonne , Technolo-
au niveau institutionnel est cependant ncessaire et im-
gies/Idologies/Pratiques - Revue dAnthropologie
plique sans doute, en plus des universits, des acteurs comme
des connaissances, vol. 14 (2), 2002, p. 6993.
ceux identifis par Berweck [3], notamment les diteurs,
dans un rapport la fois collaboratif et fond sur des moyens [12] Leroux, P., . . . phraser le monde : continuit, geste
pragmatiques, qui bnficierait toute la communaut des et nergie dans loeuvre musicale , Circuit : mu-
musiques mixtes. siques contemporaines, vol. 21 (2), 2011, p. 2948.
[13] Lorino, P., B. Tricard, and Y. Clot, Research me-
6. REMERCIEMENTS thods for non-representational approaches to orga-
nizational complexity : The dialogical mediated in-
Le projet DiP-CoRE est financ par le Conseil de re- quiry , Organization Studies, vol. 32 (6), 2011, p.
cherches en sciences humaines (CRSH) du Canada : pro- 769801.
gramme Connexion attribu aux deux auteurs. Le premier [14] Marandola, F. and G. Boutard, Des puces et des
auteur est financ par une bourse postdoctorale du Fonds drums, DVD , empreintes DIGITALes, venir.
qubcois de la recherche sur la socit et la culture (FQRSC).
[15] Moore, A., History and archival : the pitfalls of
Ce projet a reu le soutien du Centre Interdisciplinaire de
storage , Colloque Informatique musicale : utopies
Recherche en Musique, Mdias et Technologie.
et ralits, November 2009.
[16] Orcalli, A., Rflexions sur la restitution des uvres
7. REFERENCES musicales lectroniques , Actes des Journes din-
formatique musicale, Saint-Etienne, France, 2011.
[1] Baudouin, O., Les premires musiques synth-
tises par ordinateur : prservation et exploitation [17] Polfreman, R., D. Sheppard, and I. Dearden, Time
dune mmoire , Actes des Journes dinformatique to re-wire ? problems and strategies for the mainte-
musicale, Saint-Etienne, France, 2011. nance of live electronics , Organised Sound, vol.
11 (3), 2006, p. 229242.
[2] Bernardini, N. and A. Vidolin, Sustainable live
electro-acoustic music , Proceedings of Sound and [18] Theureau, J., Les entretiens dautoconfrontation
Music Computing 2005, Salerno, Italy, 2005. et de remise en situation par les traces matrielles et
le programme de recherche cours daction , Re-
[3] Berweck, S., It worked yesterday : On (re-
vue danthropologie des connaissances, 4(2), 2010,
)performing electroacoustic music, Doctoral thesis,
p. 287322.
University of Huddersfield, 2012.
[19] Tiffon, V., Les musiques mixtes : entre prennit
[4] Born, G., Rationalizing Culture : IRCAM, Boulez,
et obsolescence , Musurgia, vol. 12 (3), 2005, p.
and the Institutionalization of the Musical Avant-
2345.
Garde, University of California Press, Berkeley and
Los Angeles, California, 1995. [20] Vermersch, P., Lentretien dexplicitation. ESF, Issy-
les-Moulineaux, 7 edition, 2011.
[5] Boutard, G., Towards mixed methods digital cu-
ration : Facing specific adaptation in the artistic do-
main , Archival Science, in press.

134
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Journe Sonification
vendredi, 23 mai 2014

135
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

136
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

SONIFICATION AND ART

DOMINANTE DE LA JOURNEE (KEYNOTE)

Peter Sinclair
Locus Sonus ESAA
petesinc@nujus.net

After a brief definition of sonification I will discuss two creative approaches that of Sound design
and that of conceptual art. I will attempt to see how these differ and converge in their goals and
methods particularly in the context of what we might call musical sonification. I will describe some
examples of key sonification artworks and the aesthetic strategies they employ. Finally I will
describe RoadMusic a project that I have been working on for some time, and the practice to which
I apply my ideas concerning sonification.

After a brief definition of sonification I will discuss two creative approaches that of Sound design
and that of conceptual art. I will attempt to see how these differ and converge in their goals and
methods particularly in the context of what we might call musical sonification. I will describe some
examples of key sonification artworks and the aesthetic strategies they employ. Finally I will
describe RoadMusic a project that I have been working on for some time, and the practice to which
I apply my ideas concerning sonification.

It has been suggested in the past that sonification as a term should exclude artistic and musical
usage of sound. I am referring here to an article by Sonification expert: Thomas Hermann that can
be found in the 2008 ICAD proceedings. In a special edition of AI&Society dedicated to artistic
sonification that I guest edited, several artists and composers contradicted this position and
Hermann himself has revised his point of view since contribution to the review which he co-signs
starts with: Sonification today is an interdisciplinary practice ranging from scientific applications
to sound art and composition.

137
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

138
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

ALGORITHMIC ORCHESTRATION WITH CONTIMBRE

Thomas A. Hummel
conTimbre
Beethovenstr.30
D79100 Freiburg
th@contimbre.com

the whole conTimbre database metadata are loaded into


RAM. These metadata include
1. INTRODUCTION
- file names,
conTimbre [1] is a database project for the sound of - instruments,
the contemporary orchestra. It has been published in - playing techniques,
2012 and comprises recordings and documentation of - comments,
more than 86.000 sounds for 158 orchestra instruments - pitch information,
and more than 4.000 playing techniques. Within this, - spectral envelopes,
mor than 20.000 woodwind multiphonics are recorded - attack times,
and documented. The aim is manifold. - partial series,
- and others.
It offers a web browser based software called
conTimbre learn, which allows the student of
composition or instrumental musicians to learn about
the playing possibilities of the contemporary orchestra. 3. ORCHESTRATION RULES
It includes a search function to search sounds by a series An important application for this library is the
of paramteres. simulation of real orchestral situations. In real orchestral
situation, orchestration rules have to be considered.
The "conTimbre Orchestrator" is a MAX [2] based Some orchestra instruments can play several notes at a
software which allows to simulate orchestral chord time, some others not. Real musicians can change their
situations. The user can edit a virtual orchestra, select playing technique within a performance only within
instruments, playing techniques and pitches (including limits.
microtones) or versions for a certain playing technique.
Notation graphics including fingering schemes or For this reason, an orchestration rules module was
special notations are presented. The user can ask for developed. It divides orchestration rules into two
detailed text and photo documentation. different types.

The conTimbre orchestrator can load orchestrations


from disk which may be calculated through a
3.1. Vertical rules
CommonLisp interface.
Vertical rules deal on restrictions or possibilities of
The conTimbre ePlayer is a MAX based sampler real instruments within a static chord.
with which it is possible to play contemporary scores
from commercial score editors by MIDI. It is also Empirically, the behaviour of instruments was
possible to play on the ePlayer by MAX messages or analysed, and groups of instruments were built which
through OSC from controllers like Supercollider. obey the same rules.

3.1.1. The one-sound rule


2. ALGORITHMIC ORCHESTRATION
This is the most simple rule and means, that an
The conTimbre database includes a CommonLisp instrument can just play one sound at a time of this kind.
library which creates orchestrations. The orchestrations This rule applies generally to woodwind and brass
can be loaded into the conTimbre Orchestrator. instruments.
The library runs on Mac and needs the installation of
the freeware Steel Bank Common Lisp [3]. On startup,

139
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

3.1.2. The glockenspiel rule 3.2.3. Piano

This rule applies typically to the glockenspiel, but playing modes with preparations on strings may not
also to other instruments like piano and marimbaphone. be mixed with playing modes without any preparation -
It means, that the instrument can play a certain number at least for the same string.
of sounds at same time, but they should be of the same
playing mode. The number of sounds to be played in
parallel depends on the instrument, and also the pitch 3.2.4. All instruments
ambitus of the chord to be played. E.g., a marimbaphone
can play up to 4 pitches at same time using a set of 4 Playing techniques with a dismembered instrument
beaters in two hands. cannot not be mixed with playing techniques using the
normal instrument.

3.1.3. The strings rule


4. REFERENCES
A special case is the rule for string instruments.
String instruments playing ordinario or techniques [1] conTimbre database project.
similar to ordinario can realise two sounds on adjacent www.contimbre.com
strings (double stops). When playing double stops, there
is a restriction on the pitch choice. Stops positions [2] MAX/msp. www.cycling74.com
should not be too different as the hand span may not be [3] Steel Bank CommonLisp. www.sbcl.org
sufficient.

3.1.4. Detailed rules

For some instruments, more detailed rules are


required. The glockenspiel rule needs to be precise on
the pitch ambitus, as for example the piano chord cannot
exceed a certain ambitus because of the size of the hand.
In the case of the piano, this rule only applies to
ordinario too. In the case of special playing techniques
like guiro effects, only one guiro sound can be realised
on the piano at same time.

3.2. Horizontal rules

Horizontal rules deal on restrictions within a


temporal sequence. Generally, there is only one kind of
this rule, ie. the mutual exclusion of two different
playing technique without any time interval.

This kind of rule has to be examined for each


instrument family individually. In the following, some
examples are given.

3.2.1. brass instruments.

Different kinds of mutes in a sequence need a certain


time interval to change the mute.

3.2.2. Percussion instrumentas

Different beaters cannot be changed without a pause.


An exception is that different beaters can be hold in the
hands.

140
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

CAGE: UNE LIBRAIRIE DE HAUT NIVEAU DDIE LA


COMPOSITION ASSISTE PAR ORDINATEUR DANS MAX

Andrea Agostini ric Daubresse Daniele Ghisi


HES-SO, Genve HES-SO, Genve HES-SO, Genve
and.agos@gmail.com eric.daubresse@hesge.ch danieleghisi@gmail.com

R SUM de frquences symboliques).


Deux critres principaux ont motiv la conception et
Cet article est une introduction cage, une librairie pour ralisation de la librairie.
lenvironnement Max 1 compose dun certain nombre Le premier est celui qui a t la base de la cra-
de modules de haut niveau pouvant tre utiliss princi- tion de cage : construire une librairie de modules prts
palement pour la composition assiste par ordinateur. La lutilisation pour crer des classes de processus assez
librairie, actuellement en version alpha, contient un en- universels dans la pratique de CAO. Une partie de cette
semble doutils ddis plusieurs catgories de problmes librairie est donc directement inspire par dautres librai-
typiquement abords par cette discipline : gnration de ries dj existantes dans quelques logiciels (notamment
notes, gnration et traitement de profils mlodiques, pro- les librairies Profile [9] et Esquisse [6, 8] pour Patchwork,
cessus symboliques inspirs par le traitement du signal au- qui ont ensuite t portes dans OpenMusic [4]) ; paral-
dio, interpolations harmoniques et rythmiques, automates llement, un autre versant de la librairie trouve sa raison
et L-systmes, rendu audio, outils pour la set theory, ou- dtre dans des concepts issus du monde du temps rel
tils pour la gestion de partitions. Ce projet, soutenu par (p.e. : cage.granulate, le moteur de granulation symbo-
la Haute cole de musique de Genve 2 , a principalement lique).
une vocation pdagogique : en effet, tous les modules de Le second critre est li la forte connotation pdago-
la librairie sont des abstractions, qui se prtent trs facile- gique du projet : la difference de bach, dont les fonc-
ment tre analyses et modifies. tionnalits principales sont implmentes dans des objets
compils, tous les modules de la cage sont des abstrac-
1. INTRODUCTION tions, qui se prtent trs facilement tre analyses et mo-
difies. Il nest donc pas compliqu, pour lutilisateur qui
Dans cet article seront abords certains des principaux souhaite apprendre manipuler des donnes musicales, de
concepts de la librairie cage 3 pour Max ; elle contient copier, modifier ou ajuster des morceaux de patch pour
plusieurs modules de haut niveau pour la composition as- ses propres besoins. Cette flexibilit des abstractions fait
siste par ordinateur (CAO). Elle est entirement base sur en sorte que, bien que les processus implments soient
la librairie bach : automated composers helper, dvelop- conus pour fonctionner facilement avec une connaissance
pe par deux des auteurs [1, 3]. Comme pour bach, cage moyenne de Max, lutilisateur plus avanc pourra non seule-
est principalement centre autour de la notation symbo- ment partir de ces abstractions et en modifier le compor-
lique dans le domaine du temps rel. Les objets de cage tement selon son projet, mais galement les intgrer dans
communiquent entre eux avec le mcanisme des Lisp-like son propre environnement de travail, que ce soit au studio
linked lists (lllls) [2]. ou dans le cadre dune performance. Cette vocation pda-
la diffrence de bach, qui se compose dun grand gogique est complte par le fait que la librairie sera enti-
nombre dobjets et dabstractions prenant en charge des rement documente, avec des fichiers daide, des feuilles
oprations de bas niveau sur ces listes (p.e. : rotations, de rfrence et une collection de tutoriaux.
inversions, entrelacements...), ou bien des oprations trs
avances mais cependant essentiellement basiques (p.e. :
2. UNE APPROCHE TEMPS REL LA
rsolution de problmes par contraintes, quantification ryth-
COMPOSITION ASSISTE
mique...), les modules de cage accomplissent en gnral
des taches de plus haut niveau, ayant une connotation plu-
Le paradigme du temps-rel influence profondment
tt compositionnelle que strictement technique (p.e. : g-
la nature elle-mme du processus compositionnel. Par
nration de matriel mlodique ou calcul de modulations
exemple, les compositeurs qui oprent dans le domaine
1 . http ://cycling74.com de la musique lectroacoustique ont souvent besoin que
2 . La librairie cage est dveloppe au sein de la HEM avec le soutien la machine ragisse immdiatement tout changement de
du fonds stratgique de la HES-SO (Projet CPE-MUS12-12 : Dvelop-
pement doutils destins lenseignement, la composition et linterpr-
paramtres. De la mme manire, les compositeurs qui
tation) composent avec des donns symboliques pourraient sou-
3 . www.bachproject.net/cage haiter que la machine sadapte dans les plus brefs dlais

141
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

la nouvelle configuration. Le paradigme sous-jacent


cage est donc le mme que celui qui a faonn la librairie
bach : la cration et la modification des donnes musicales
nest pas forcement rduite une activit hors du temps,
mais elle suit, en sadaptant, le flux temporel du processus
compositionnel (voir aussi [3, 5, 11]).

3. COMPOSITION DE LA LIBRAIRIE

La librairie se compose de plusieurs familles de mo-


dules qui sont regroups en catgories.

3.1. Gnration de hauteurs

Une premire famille de modules soccupe de la


gnration des hauteurs selon des critres diffrents :
cage.scale et cage.arpeggio peuvent gnrer, respective-
ment, des chelles et des arpges, dans un certain ambitus Figure 1. Gnration en temps rel de notes tires dune
de hauteurs. La typologie des accords ou des chelles peut chelle de r majeur, avec des poids de probabilit donns
tre donn soit par nom de type symbolique (p.e. F#m, par une distribution de type pareto avec 4800 midicents
ReM), soit avec un pattern de valeurs dintervalles expri- comme pareto wall et 4 comme valeur dexposant.
mes en midicents (p.e. 100 200 100 200 100 200 200
100) 4 . Les dnominations des chelles et des accords
peuvent aussi bien contenir des quarts et des huitimes 3.2. Gnration et traitement de profils mlodiques
de tons (p.e. Sol+M, Abv7... 5 ). cage.harmser gnre des Une famille de modules est spcifiquement ddie
sries harmoniques partir dune note fondamentale, avec la gnration et au traitement des profils mlodiques,
ventuellement un facteur de distortion harmonique. dune manire similaire la librairie Profiles dans Patch-
Dautres modules oprent en gnrant des hauteurs une work et OpenMusic [9]. Une breakpoint function, par
par une : cage.noterandom gnre des notes au hasard, exemple dessine dans un objet function ou un objet
partir dun rservoir donn, selon plusieurs poids de pro- bach.slot 7 peut tre convertie en une squence de hau-
babilits prdfinis qui peuvent tre soit ignors, soit d- teurs (un profil mlodique) grce cage.profile.gen. Ce
finis simplement grce cage.weightbuilder (voir Fig. 1) ; profil peut tre modifi de plusieurs manires : com-
cage.notewalk gnre un chemin alatoire dans un rser- press ou tir (avec cage.profile.stretch), renvers (avec
voir donn, selon une liste de pas admissibles. Dans les cage.profile.mirror), approxim par une grille harmonique
deux cas, le rsultat de lopration est conu pour tre ou par une chelle (avec cage.profile.snap), forc dans
utilis en combinaison avec bach.transcribe, qui va g- une rgion de hauteurs (avec cage.profile.rectify), perturb
rer la transcription symbolique en temps rel. Ainsi, dans dune faon alatoire (avec cage.profile.perturb), ou filtr
les deux cas, llment choisi au hasard peut tre valid a (avec cage.profile.filter). Dans ce dernier cas, le filtrage
posteriori par lutilisateur via un lambda loop. 6 du profil est ralis par lapplication dun filtre moyen,
mdian ou encore custom, dfini par lutilisateur via un
4 . cage, comme bach, adopte la convention de Patchwork et Open- lambda loop (voir aussi Fig. 2).
Music [4] dexprimer les hauteurs et les intervaux en midicents, cest--
dire des centimes de note MIDI.
5 . Par convention, + indique une altration de +1/4 de ton ; - ou d 3.3. Processus dinspiration lectroacoustique
indique une altration de 1/4 de ton ; et v font la mme chose pour
les huitimes de ton. La librairie cage contient un groupe de modules d-
6 . Un lambda loop dans bach, et donc par extension dans cage, est dis lmulation symbolique de processus extraits du
une configuration de feedback symbolique : les objets qui le supportent domaine de la synthse sonore et du traitement du signal
ont une ou plusieurs sorties ddies (lambda outlets) qui envoient des
donns devant tre valides ou modifies ; ces donnes sont labores
audio.
dans une section du patch et la rponse est ensuite re-injecte dans une cage.freqshift est un outil qui permet de transposer des
entre ddie (lambda inlet) de lobjet de dpart. Cette configuration est matriaux de faon linaire sur laxe des frquences, la
trs souvent utilise dans bach pour dfinir des comportements person-
naliss pour certains lments (p.e. : un critre dordonnancement dune 7 . Dans bach, un slot est en gnral un conteneur de mta-donnes
liste, ou un processus qui doit tre appliqu chaque lment dune llll, associes une certaine note [1]. Linformation contenue dans un slot
et ainsi de suite). Le nom lambda est une allusion au fait que cette peut avoir des formes diffrentes, par exemple : breakpoint functions,
configuration permet, en quelque sorte, de passer un morceau de patch nombres et listes de nombres, filtres, texte, liste de fichiers parcourir,
comme pseudo-argument dun objet. Ce nest pas plus quune allusion : matrices, trajectoires de spatialisation... bach.slot permet laffichage et
il ne sagit en aucun cas de lambda-calcul, ni de fonctions interprtes. ldition dun slot sans quil ne soit associ aucune note spcifique.

142
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Figure 2. Un profil mlodique est construit partir dune


fonction dfinie dans un bach.slot. Dans ce cas, la fonction
affiche est chantillonne en 20 points. Ensuite, ce pro- Figure 3. Un exemple de modulation en frquence entre
fil est filtr par un processus exprim travers un lambda deux partitions, obtenue travers labstraction cage.fm.
loop, qui fonctionne avec des fentres de trois notes ; pour La porteuse et la modulante sont en haut, le rsultat
chaque fentre, on substitue une moyenne du premier et en bas. La vlocit des notes (traite dans ce cas comme
dernier lment de la fentre, pondre avec les poids lamplitude des sinusodes correspondantes) est reprsen-
(1, 2). Ce processus de filtrage est rpt deux fois. On te par une chelle de gris.
remarque que, cause du fentrage, le rsultat contient
quatre notes de moins que lchantillonnage original.
nouvelle partition, qui tiendra compte de ces variations
dans le temps (voir Fig. 3). En ce qui concerne le vri-
manire du traitement audio du frequency shifting. En rai- table calcul interne, les deux modules prennent en compte
son de la similarit des deux processus, on classifiera aussi une estimation des oppositions de phase gnres par la
cage.pitchshift dans cette mme catgorie, quoique lop- modulation, et donc permettent llimination de certaines
ration de pitch shifting sur la notation musicale soit, en frquences, la diffrence de la librairie Esquisse. Pour
fait, une simple transposition. cette raison, les rsultats dun mme processus dans les
cage.rm et cage.fm sont ddis respectivement la mo- deux environnements peuvent tre trs diffrents.
dulation en anneaux et en frquence. Lide la base de cage.virtfun est un estimateur de la frquence fonda-
ces techniques, largement utilises par les compositeurs mentale virtuelle dun accord, comme on la peroit par
associs a lcole spectrale, est la suivante : partir de exemple lissue dun processus de waveshaping. Lim-
deux accords (lun portant et lautre modulant) dont plmentation est trs simple : on parcourt la srie sub-
chaque note est considre comme une sinusode simple, harmonique de la note la plus grave de laccord, jusqu
on calcule le spectre quon obtiendrait en modulant entre trouver une frquence dont les harmoniques approximent
eux ces deux groupes de sinusodes. Cette opration n- toutes les notes du mme accord avec un degr de tol-
cessite deffectuer des approximations et des compromis rance tabli. Il est aussi possible dutiliser cage.virtfun
qui peuvent loigner son rsultat de celui obtenu par le partir dune squence daccords dans le temps : le rsul-
mme processus appliqu des signaux audio : cepen- tat sera alors une squence correspondant la suite des
dant, il sagit dune approche trs efficace pour la gnra- fondamentales virtuelles de chaque accord.
tion de familles harmoniques potentiellement trs riches, cage.delay tend le principe de la ligne retard avec r-
ceci partir de matriaux simples, do leur intrt com- injection dans le domaine symbolique. Il sagit essentiel-
positionnel. Quoique linspiration immdiate de cage.rm lement dun outil pour la cration de boucles et de struc-
et cage.fm provienne de la librairie Esquisse [6, 8] pour tures rptitives, qui permet daltrer le matriau chaque
OpenMusic, leur paradigme de fonctionnement et certains pas du processus travers un lambda loop. Le temps de re-
dtails relatifs aux calculs sont diffrents. En particulier, tard lui-mme peut tre chang dune rptition lautre.
ces deux modules sont conus pour travailler dans le temps, Il ny a pas de limitation priori dans la richesse des pro-
et peuvent ainsi accepter comme donnes dentre des ac- cessus auxquels les matriaux sont soumis dans le lambda
cords simples, mais aussi des suites daccords, afin de re- loop : le rsultat musical peut donc tre beaucoup plus
prsenter dans le temps les variations des porteuses et complexe quune simple itration.
des modulantes. Dans ce cas le processus restituera une cage.cascade et cage.pitchfilter tendent le principe

143
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Figure 5. Un exemple de filtrage dynamique dune parti-


tion obtenu avec cage.cascade pilot par un slot de type
dynfilter dans lobjet bach.slot. chaque fois que le filtre
Figure 4. Un exemple de filtrage dune partition avec lob- est modifi par linterface, le rsultat est automatiquement
jet filtergraph et cage.cascade. chaque fois que le mis jour en temps rel. Les quatre rectangles de couleur
filtre est modifi par linterface, le rsultat est automati- rouge dans le bach.slot droite reprsentent quatre filtres
quement mis jour en temps rel. passe-bande, dont les frquences centrales sont reprsen-
tes par les carrs rouges ; diffrence de la Fig. 4, ici le
rsultat est donn par interpolation de ces filtres, et non
du filtrage dans le domaine symbolique. Le premier ap- pas par un unique filtre statique.
plique une partition une squence de filtres avec deux
ples et deux zros, de faon similaire aux objets Max bi-
quad et cascade (voir fig. 4), en mulant la rponse lisateur. De la mme manire, on peut obtenir une inter-
en frquence dun vritable filtre numrique 8 . Le second polation rythmique entre un ensemble de figures travers
opre par contre sur le domaine des hauteurs (et non pas le module cage.rhythminterp.
des frquences), en appliquant une partition un filtre d- Un cas particulier dinterpolation rythmique, ou plu-
fini tout simplement par une breakpoint function, produite tt une extension du mme principe, est la formalisation
par exemple par un objet function ou bach.slot. Dans les de lagogique : cest-a-dire, lcriture dans un systme de
deux cas, la vlocit MIDI de chaque note est modifie en notation proportionnelle (qui bien sr pourra ensuite tre
accord avec la rponse du filtre, et les notes dont la vlo- quantifi) dune structure musicale rpte en accelerando
cit tombe au dessous dun certain seuil sont limines. Il ou rallentando. Cette structure musicale peut aussi tre
est aussi possible de dfinir des changements dans linter- une simple impulsion rythmique constante qui reprsente
polation des filtres dans le temps (voir fig. 5). une grille pour des figures musicales non rptitives : pour
cage.granulate est un moteur de granulation symbo- cette raison, nous avons choisi de rduire le problme au
lique. Les paramtres de granulation sont les mmes que cas dune structure itrative. Nous avons donc identifi
dans les processus correspondant en musique lectroacous- cinq paramtres qui caractrisent un accelerando ou un
tique, cest dire : lintervalle de temps entre deux grains, rallentando : dure de la premire instance, dure de la
la taille de chaque grain, le dbut et la fin de la zone de dernire instance, relation entre deux instances conscu-
la partition do le grain doit tre extrait. partir de ces tives, nombre dinstances, dure totale de la figuration.
donnes, cage.granulate se charge des calculs et remplit Evidemment ces paramtres ne sont pas indpendants : en
en temps rel un bach.roll reli sa sortie (voir fig. 6). gnral, partir dun ensemble de paramtres de dpart,
on peut calculer les autres et formaliser entirement lac-
celerando ou le rallentando. La librairie cage comprend
3.4. Interpolations harmoniques et rythmiques, forma- donc un groupe de modules ddis au calcul des para-
lisation de lagogique mtres manquants partir des donnes disponibles (un
Le module cage.chordinterp opre un calcul dinterpo- module est utilis pour chaque combinaison de donnes
lation harmonique linaire dans un ensemble daccords, significatives en entre), et un module central calcule au
en fonction de poids attribus pour chacun deux par luti- final laccelerando ou le rallentando.

8 . Puisque pour calculer la rponse en frquence dun filtre avec


deux ples et deux zros il est ncessaire de connatre la frquence 3.5. Automates et L-systmes
dchantillonnage, labstraction cage.cascade fait partie des abstrac-
tions de DSP (digital signal processing), comme le indique, bien Deux modules se consacrent aux systmes gnratifs et
quelle agisse sur un contenu symbolique. dautomates.

144
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Figure 6. Un exemple de granulation dune partition en


temps rel ; les grains ont une distance de 200ms, et une
taille comprise entre 500ms et 2000ms. La rgion de loop
dans le bach.roll suprieur est la rgion do les grains
sont extraits. Figure 7. Un exemple de gnration et daffichage dun
comportement fractal, obtenu par une rgle de substitu-
tion. La liste E est la liste initiale ; les rgles de substi-
cage.chain modlise des automates cellulaires en di- tution sont : E on substitue la squence E F E, F on
mension 1, et de L-systmes. Il opre des r-critures substitue la squence F F F. La premire itration donne
dune liste donne, selon un certain nombre de rgles d- E F E, la deuxime donne E F E F F F E F E, et ainsi de
finies par lutilisateur soit par message, soit via un lambda suite. Dans laffichage, on interprte E comme une ligne et
loop. Les substitutions peuvent intervenir sur des lments F comme un espace vide. Ce patch gnre cinq itrations
simples (p.e. une certaine lettre ou note est substitue qui approximent lensemble de Cantor. Toute la partie du
avec une liste de lettres ou notes), ou bien sur des suites patch situe en dessous de cage.chain est ddie unique-
dlments ayant une longueur fixe (p.e. chaque couple ment laffichage.
dlments, quils se prsentent spars ou superposs, on
substitue un ou plusieurs autres lments) ; dans ce der-
nier cas, cage.chain grera le comportement aux limites peut prendre en compte une enveloppe damplitude et une
de la grille en fonction des valeurs de certains attributs enveloppe de panning (donnes comme slots). Il suffit en-
(pad, align). Avec ce module il est ainsi trs simple de suite de relier cage.ezaddsynth la sortie playout des
construire des automates cellulaires, ou des fractales ob- objets de notation pour avoir le rendu audio, qui prend en
tenus par substitution (voir Fig. 7). compte les slots pr-cits.
cage.life soccupe dautomates cellulaires en dimen- Lchantillonneur rpond au besoin dutiliser les objets
sion 2 (dont le plus fameux exemple est sans doute le bach.roll et bach.score comme des sequencers augmen-
jeu de la vie de Conway). Les rgles de ces automates ts : cage.ezseq fournit une palette standard de slots,
sont dfinies grce un lambda loop. Lordre des sous- censs contenir pour chaque note linformation du nom
matrices de substitution peut galement tre dfini par luti- du fichier, lenveloppe damplitude, la vitesse de lecture,
lisateur. lenveloppe de panning, le filtrage audio, et le point de d-
part dans la lecture du fichier (en millisecondes). Si ces
informations ne sont pas toutes donnes, des valeurs par
3.6. Rendu audio
dfaut sont utilises. Lintrt dutiliser cage.ezseq est
Deux modules dans cage sont consacrs la production aussi li au fait que cet objet prend en charge la mise en
dun rendu audio de partitions bach : cage.ezaddsynth mmoire (preload) des fichiers audio, une fois quon lui
(un moteur de synthse par ondes sinusodales) et donne un lien vers un dossier qui les contient. Ce mo-
cage.ezseq (un chantilloneur de fichiers sons). Les dule peut aussi soccuper doprer sur chaque chantillon
deux sont prts tre utiliss trs simplement, la fa- une transposition automatique sans altration temporelle,
on de bach.ezmidiplay, en les connectant simplement laide de lobjet Max gizmo.
la sortie ddie playout des objets de notation.
Le moteur de synthse rpond la ncessit davoir 3.7. Outils de set theory
un rendu audio qui ne soit pas bas sur une sortie MIDI.
Cela est par exemple extrmement utile quand on travaille Certains modules dans cage sont ddis des repr-
avec des grilles microtonales non standard, ou quand on sentations propres de la set theory : cage.chroma2pcset
a besoin denveloppes lies aux notes. cage.ezaddsynth et cage.pcset2chroma oprent des conversions entre

145
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

pitch class sets et vecteurs de chroma (voir [10]) ; 6. REFERENCES


cage.chroma2centroid et cage.centroid2chroma oprent
des conversions entre vecteurs de chroma et centrodes [1] A. Agostini and D. Ghisi, bach : an environment
spectraux. Le centrode spectral dun vecteur de chroma for computer-aided composition in Max, in Procee-
est obtenu via la transforme introduite par Harte et Sand- dings of the International Computer Music Confe-
ler [7]. Dans le passage de chroma au centrode, une par- rence (ICMC 2012), Ljubljana, Slovenia, 2012, pp.
tie de linformation originale est forcment perdue ; par 373378.
consquent, la conversion de cage.centroid2chroma nest [2] , Gestures, events and symbols in the bach en-
pas univoque : un seul vecteur de chroma, parmi tous ceux vironment, in Proceedings of the Journes dInfor-
qui ont pour centrode le vecteur introduit en input, est res- matique Musicale, Mons, Belgium, 2012, pp. 247
titu. 255.
[3] , Real-time computer-aided composition with
bach, Contemporary Music Review, no. 32 (1), pp.
3.8. Partitions 4148, 2013.
[4] G. Assayag and al., Computer assisted composition
cage contient un groupe de modules pour le traitement
at Ircam : From patchwork to OpenMusic, Compu-
global de partitions entires. Dans ce groupe, les outils
ter Music Journal, no. 23 (3), pp. 5972, 1999.
dusage le plus courants sont cage.rollinterp, qui opre
une interpolation entre les partitions contenues dans deux [5] A. Cont, Modeling Musical Anticipation, Ph.D.
objets bach.roll, en utilisant comme paramtre la courbe dissertation, University of Paris 6 and University of
dinterpolation (ou bien une valeur fixe, dans le cas dune California in San Diego, 2008.
interpolation statique), et cage.envelopes, qui reprsente [6] J. Fineberg, Esquisse - library-reference manual
une famille de fonctions synchronises sur la dure totale (code de Tristan Murail, J. Duthen and C. Rueda),
dune partition, et qui aident modifier en temps rel la Ircam, Paris, 1993.
partition en rapport avec les valeurs des courbes chaque [7] C. Harte, M. S, and M. Gasser, Detecting harmonic
instant. change in musical audio, in In Proceedings of Au-
dio and Music Computing for Multimedia Workshop,
2006.
4. ROADMAP [8] R. Hirs and B. G. editors, Contemporary composi-
tional techniques and OpenMusic. Delatour/Ircam,
Au moment de lcriture de ce texte, la librairie est en- 2009.
core dans sa phase de dveloppement. Une version alpha [9] M. Malt and J. B. Schilingi, Profile - libreria per
publique sera disponible en mai 2014 : il est possible que il controllo del profilo melodico per Patchwork, in
toutes les fonctionnalits prvues ne soient pas encore im- Proceedings of the XI Colloquio di Informatica Mu-
plmentes ; la documentation ne sera pas complte. Ce- sicale (CIM), Bologna, Italia, 1995, pp. 237238.
pendant, la majorit des modules seront dj utilisables.
[10] M. Mller, Information Retrieval for Music and Mo-
La premire version complte de la librairie sera mise en
tion. Springer Verlag, 2007.
ligne au mois de octobre 2014, loccasion dune pr-
sentation officielle qui se droulera Genve. La librairie [11] M. Puckette, A divide between compositional and
sera disponible sous le modle "open source"et son tl- performative aspects of Pd, in Proceedings of
chargement libre. partir de lanne acadmique 2014- the First Internation Pd Convention, Graz, Austria,
2015, cage sera objet denseignement dans les cours de 2004.
composition et de musique lectronique lHaute cole
de Musique de Genve et dans un ensemble dinstitutions
partenaires.

5. REMERCIEMENTS

cage est un projet de recherche men au sein du centre


de musique lectroacoustique de la Haute Ecole de Mu-
sique de Genve, avec le soutien du domaine musique et
arts de la scne de la Haute Ecole Spcialise de Suisse oc-
cidentale. Le nom cage, qui dans le parallle entre lettres
et notes reprsente la fameuse expansion de bach, est aussi
un acronyme en hommage ce soutien : composition as-
siste Genve.

146
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

SYSTEMIC THINKING AND CIRCULAR FEEDBACK CHAINS IN A LIVE-


ELETRONICS ALGORITHM FOR GOSTO DE TERRA

Daniel Puig
Universitt der Knste (UdK-Berlin)
Universidade Federal do Rio de Janeiro (UFRJ)
Universidade Federal do Estado do Rio de Janeiro (UNIRIO)
danielpuig@me.com

RSUM
! 1. INTRODUCTION
La formalisation de certains prsupposs de la pense This text focuses on the formalization of some
systmique dans un algorithme live-lectronique presuppositions in systemic thinking, in live-electronics
l'intrieur dun patch de Max/MSP 6, fait partie de ma algorithms within a Max/MSP 6 patch. They are part of
pice gosto de terra, pour piano et live-lectronique. my piece gosto de terra, for piano and live-electronics.
Cela montre une possibilit de traiter des concepts The composition was finished in august 2013 and
comme diffrence, information, numro, quantit et revised after the first performance, together with the
peut-tre pattern, la programmation dans un contexte pianist Adam Marks, to whom it was written for. It deals
musical qui intgre linterprte, linstrument, l'espace with different concepts included in the discussions
acoustique et lalgorithme dans sa conceptualisation. A presented in my doctoral dissertation.1
partir des ides de Gregory Bateson sur ces concepts, le
patch tente de recueillir des informations sur la
performance, par des diffrences de second ordre, en 2. PRESUPPOSITIONS
comparant les diffrences entre les quantits dans le The dissertation deals, among other discussions, with
temps. Ceci est fait en comparant leur flux selon un concepts stemming from Gregory Batesons systemic
seuil, qui tablit un contrle de "sensibilit". Le rsultat thinking. In his book Mind And Nature: a necessary
de l'algorithme peut tre utilis pour dclencher d'autres unity [1], he sets out to explain and exemplify a series of
algorithmes dans le patch, ce qui entrane un presuppositions that form the basis not only of further
fonctionnement du live-lectronique suivant les ideas developed in the text, but also of his whole
caractristiques prvues de la performance live.
! ABSTRACT
systemic approach. The book was written by the end of
his life, and according to his daughter Mary Catherine
Bateson, co-author of some of his texts, it represents the
The formalization of some presuppositions stemming real synthesis of his work and the first of his books
from systemic thinking in a live-electronics algorithm composed to communicate with the nonspecialist
within a Max/MSP 6 patch, is part of my piece gosto de reader [3]. Ramage and Shipp summarize some of his
terra for piano and live-electronics. It shows one main contributions as a systems thinker and note that the
possibility of dealing with concepts as difference, whole pattern of his work is still in the process of being
information, number, quantity and possibly pattern in understood and appreciated [8].
programming within a musical context that integrates Bateson was concerned with mental process and how
performer, instrument, acoustic space and the algorithm looking at it from a very different perspective could
in its conceptualization. Following Gregory Batesons shed some light on different complex processes in
ideas on these concepts, the patch tries to gather nature. Apart from discussing his ideas in relation to
information about the performance, through second musical composition with open forms, with its
order differences, by comparing differences between consequences for the construction of graphical scores
quantities in time. This is done comparing their flow (those that use non-traditional musical notation) and the
against a threshold, that sets a sensibility control. The understanding of musical performance situations that
result of the algorithm may be used to trigger other imply improvisation by the performers, I have tried to
algorithms in the patch, resulting in a functioning of the implement them as the basis for interactive processes in
live-electronics that follows the intended characteristics live-electronics. This approach draws its perspective
of the live performance. from holism, which in Batesons definition is: The
tendency in nature to produce from the ordered grouping

1 My doctoral research has been kindly supported by a scholarship from the German Academic Exchange Service (DAAD), that enabled an

internship at the Universitt der Knste (UdK-Berlin, under Prof. Dr. Drte Schmidt). This has been a joint effort with the Brazilian Government,
through my leave at Universidade Federal do Rio de Janeiro (UFRJ) and my doctorate at Universidade Federal do Estado do Rio de Janeiro
(UNIRIO, under Prof. Dr. Carole Gubernikoff and Prof. Dr. Vania Dantas Leite).

147
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

of parts complex wholes with properties that are not involved parts. It is a second order difference, which can
present in or predictable from the separate parts [3]. M. only make sense if regarded in its context. And that, for
C. Bateson notes that Gregory frequently used the term Bateson, change can be seen as a difference which
and its adjective holistic to refer to modes of acting occurs across time [2].
and observing that are attentive to holistic properties.
These wholes have characteristics of self-organization, 2.2. Number and quantity
that are intimately linked to the presence of circular
feedback chains, responsible for the dynamical self- Another presupposition that Bateson points out in
regulation of the system. That is, different interacting Mind and Nature refers to the difference between
components mutually affecting each other show number and quantity. What matters to him in this
emergent properties and characteristics that are difference are not really their names, the way we
sustained by their interaction [6]. The idea of describe these categories in wordsnumber and
emergence, in this sense, presupposes the understanding quantity, but the fact that the formal ideas behind
that that which emerges is: irreversible, can only be them are immanent in the processes observed. For him,
studied taking time into account and cannot be number is of the world of pattern, gestalt, and digital
replicated; and irreducible, it resists a study through the computation; quantity is of the world of analogic and
reduction to its smaller parts. For Morin, what is probabilistic computation [1].
important in emergence is the fact that it is indeductible Drawing from examples coming from organic life to
from the qualities of the parts, and thus irreducible; it explain the concept, he refers to a flower that has five
appears only parting from the organization of the petals and many stamens. The number of petals will stay
whole [7]. Demo stresses that complex phenomena the same from one individual to another, but the number
produce modes of being that are always of becoming as of stamens will vary enormously. Bateson tries to
well. They behave in a reconstructive way: they do not explain that it seems clear in biological terms that the
reproduce themselves linearly, they reconstruct pattern differences of smaller numbers, like three and
themselves non-linearly [5].2 five for example, are drastic and form even important
For complexity studies, the whole is more than the taxonomic criteria. On the other hand, after a certain
sum of its parts, but it is, at the same time, less than the size of number, they become quantity, meaning that for
sum of its parts, whose qualities and properties can be the organism there is a different process going on for
inhibited by the organization of the whole. As Di Scipio that part of its growing form: numbers can conceivably
puts it, once the whole has emerged, it can reduce or be accurate because there is a discontinuity between
inhibit the action of specific individual components. each integer and the next. Between two and three, there
Take, for instance, a large-scale social organization: is a jump. In the case of quantity, there is no such jump
however complex, varied and efficient in its [1]. He asserts that this difference is basic for theoretical
performance, the whole organization can never be as thought in behavioral science, since it reveals two very
rich and complex as each single human being different ways of conceiving the relation between parts
participating in it. It induces simplified, typified of organism or between parts of processes in nature. For
behaviors that are functional to the whole, but him, numbers are the product of counting and quantities
detrimental to the individual [6]. of measurement, and therefore always approximate.
Looking for complex behavior in the construction of
the live-electronics algorithm in gosto de terra, I have
focused in four of Bateson's presuppositions regarding 2.3. Digital and analogic
different aspects of the functioning of circular feedback Extending that concept to the difference between
chains in mental process. digital and analogic systems, he writes: digital systems
more closely resemble systems containing number;
2.1. Difference and information whereas analogic systems seem to be dependent more
on quantity and goes on to clarify that in digital
First, for Bateson information consists of differences systems there is a discontinuity between response and
that make a difference and difference is a non- no response, yes and no, on and off [1], 1 and 0. Its
substantial phenomenon not located in space or time. parts function like a switch.
He stresses that to produce news of difference, i.e., Looking at a switch from the point of view of the
information, there must be a relationship between two circuit, it does not exist when it is turned on, since in
different parts of a system, or the same part in two that case it is not different from the rest of the
different moments, such that the difference between conducting wire. Similarly, when the switch is off, it
them can be immanent in their mutual relationship and also doesnt exist from the point of view of the circuit,
the whole process be such that news of that difference since the conductors themselves only exist as
can be represented inside an information-processing conductors when the switch is on. In other words, the
entity, such as a brain, an ecosystem or a computer [1]. switch is not except at the moments of its change of
To better clarify, it is important to understand that the setting, and the concept switch has thus a special
difference that makes up information is a class of some relation to time. It is related to the notion change rather
sort of differences, immanent in the relationship of the than to the notion object [1].

2 () produzem modo de ser que so sempre tambm de vir a ser. Comportam-se de maneira reconstrutiva: no se reproduzem linearmente,

reconstroem-se no linearmente.

148
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

2.4. Quantity and pattern given quantity in time, then quantities could be
compared and a ratio between them may show an
In trying to explain what he understood as pattern, emergent pattern.
Bateson points out the phenomenon of moir among
other examples, which can be explained by looking at
Fig.1, where a third pattern emerges (to the right) from 3. FORMALIZATION IN LIVE-ELECTRONICS
the superposition of the other two. Moir phenomena The patch3 for gosto de terra tries to implement these
are actually a classical example of emergence and to ideas in a live-electronics setting, understanding it as
truly comprehend its implications, one has to try the part of a system.
superposition (e.g., with two sheets of transparent paper
with the pattern to the center printed on them) and see
how a slight change in the rotation angle can yield a 3.1. The system, of parts and their interrelationships
drastic change in the resulting pattern.
! Bateson clarifies that the basic rule of systems theory
is that, if you want to understand some phenomenon or
appearance, you must consider that phenomenon within
the context of all completed circuits which are relevant
to it and that a system is any unit containing feedback
structure and therefore competent to process
information [4]. Following the model drawn from
systemic thinking, that a system is constituted by its
parts and the interrelationships between them, the
! algorithm presupposes that this system is formed not
only by the algorithm and its formalization in a Max/
Figure 1. Moir phenomenon: a third pattern
MSP patch, but also by the piano itself, with the
emerges from the superposition of other two.
sounding result of the interaction between the performer
(Source: Wikimedia Commons, Moir_grid.svg,
and the instrument, in a given acoustic space. The
modified for the purposes of this text.)
!
For him: First, any two patterns may, if
interactions between these four parts of the system
(algorithm, performer, instrument and acoustic space), in
turn, are dependent on the interface between: a given
appropriately combined, generate a third. Second, any
way of capturing digital data from the live performance
two of these three patterns could serve as base for a
and of returning the result of the algorithm to the
description of the third. Third, the whole problem of
acoustic space, i.e., to both the performer and the sound
defining what is meant by the word pattern can be
response of the instrument. In this case: a microphone is
approached through these phenomena. What triggered
used to transduce typical aspects measured from sound
the solutions used in the constructed algorithm, was
(frequency and amplitude) and make them available as
Batesons observation that a ratio between two
numbers to the digital system through FFT (Fast Fourier
quantities is already the beginning of pattern [1]. So, if
Transform); and loudspeakers that project sound back to
it would be possible to measure quantities in a digital
the acoustic space, yielding possible sound responses of
system and gather information about differences in a

Figure 2. User interface for the patch of gosto de terra.


3 Fig.2 shows the user interface of the patch for gosto de terra, that can be obtained contacting the author. The score of the piece may also be

obtained in the same way.

149
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

the instrument, by acoustically exciting vibration of the goes through a series of approximations, so as to be
strings, but also responses of the performer that is useful for the comparison between numbers representing
encouraged to listen and respond musically to the sound the flow of data in time. That is to say that the algorithm
result of all parts involved. presupposes an amount of coarseness as necessary, or
the jump to quantities wouldnt be possible from a flow
3.2. The stable? and unstable? algorithm: a of numbers. This, on the other hand, gives a certain
jump between number and quantity organic characteristic to the result, that mirrors
something like the overall characteristics of moments
of the performance and not the accurate numeric details.
Typically, a digital system following the flow of data
of a live performance in time returns a flow of numbers, !
but doesnt tell much about quantities in that flow. To
bridge that gap, the algorithm compares the flow of
numbers in time. Comparing a measurement of numbers
in a given moment of the flow to the same measurement
on a immediately subsequent moment, it returns equality
(1) or inequality (0) of these measurements. This
information is gathered for a relatively much longer time
span and taken as a set of results. This set is then
compared to a threshold, and the algorithm programmed
to return the state of the set according to that threshold:
if the quantity of equalities is above or below the
threshold.
For example, analyzing the subpatch shown in Fig.3
from top to bottom, as this is the direction of the data
flow in the patch, we have the following steps:
1) The flow of frequencies captured by the
microphone, expressed as real numbers (floats), is
analyzed and the result passed around every ten
milliseconds (speedlim object). The mean value of
about the last hundred values is rounded to a natural
number.
2) Two subsequent results in time are fed through
the bucket object to the = = (exactly equal to)
object, which compares them and returns one (1) for
an equality or zero (0) for an inequality. The second
zl stream object gathers these results into a list.
3) The list of ones and zeros is shown in a message
box, for a visualization of the set of results in time.
4) The quantity of ones in the set (zl sum object) is
compared to the threshold through the > (greater
than) object, which returns one (1) if it fulfills the
condition or zero (0), if it doesnt.
!In other words, the algorithm returns if frequencies
are stable (not changing) in the performance, at any
time. If instead of greater than (>) a smaller than (<)
comparison to the threshold would be used, the same
algorithm would return the information that the
frequencies are unstable (changing in time). The result,
one (1) or zero (0) according to the fulfillment or not of !
the given condition for the comparison to the threshold, Figure 3. One instance of the subpatch stable?
is shown in a toggle object, that goes on and off (seen in the patch of gosto de terra: 1) data is treated;
right below the first outlet of the patch, in Fig.3). This 2) compared in time; 3) visualized as a set of
change of state triggers other algorithms in the live- results; and 4) compared to a threshold.
electronics.
An information about the performance is gathered
!
A control of the number given as threshold can be
from a difference in quantity, according to a threshold. seen as a control of the sensibility of the algorithm: a
This difference is the result of a series of differences smaller number as threshold, makes the algorithm react
gathered from the flow of numbers in time, it is a second to a lesser quantity of differences (more sensible), and a
order difference, that tells something about the musical bigger, to a grater (less sensible). The value of the
discourse, as it happens. sensibility control, seen at the lefthand side of the user
Since the accuracy of numbers does not matter much interface in Fig.2, is sent to the algorithm via the receive
for the gathering of information about quantity, the flow object named r sense, highlighted in Fig.3.

150
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

3.3. Triggering other instances of the patch through the performer, acoustic responses of the performance
the algorithm: the use of a third order difference space and so on.
Circular feedback chains are created, where the live-
Following this, a second instance of the same electronics influences itself, but is also influenced by the
algorithm is applied to the same flow of data in the patch performers intentions, through listening and playing,
(see Fig.2, p stable?freq5 and p stable?freq7), but responding to the whole sound space created. On the
with a different time span. In Fig.3, the time span is other hand, the performer has a certain control of the
given by the highlighted speedlim object with the response of the algorithm through the performance
argument 503 (five hundred and three), which means itself. It feels possible to control the electronics by the
that the result of the comparison with the threshold, from very playing of the instrument. The patch helps the
the > (greater than) object, will pass only about every process, showing to the performer in written text, but
half a second (five hundred and three milliseconds). In also visually, what is happening in the algorithm.
the second instance mentioned here, this argument is set In that way, one interesting result that may be the
to 701 (seven hundred and one) milliseconds. The results indication of the pattern that emerges from the
of both instances are then coupled, and the big toggle compared differences in quantity, is the small window
object shown in Fig.2 at the center of the patch, right with vertical lines to the right side of the big toggle (Fig.
above the window that shows a wave form, where a 2). Every vertical line is the representation of a 1 (one)
written information is given: when stable: record, from the set of ones and zeros gathered by the algorithm
will only change its state if the value (1 or 0) of both in the message box linked to step 3) of the description of
instances coincide at any point in time. A third order the algorithm in 3.2 and Fig.3. These lines move from
difference is achieved through another comparison or right to left when the sound processing of the patch is
ratio between quantities. The information about the on. When frequencies are stable, many ones are
stability or instability of frequencies in the performance generated by the two instances of the algorithm, and
is double-checked in different time spans. As indicated more lines move in the small window, with more density
by the written information in the user interface, if both in time, emulating a flux that gives a hint of when the
instances return an equal result, at any point in time, the recording will be triggered or not.
recording is on, if unequal, the recording is off: the patch In the same way, the piano becomes active in the
starts recording the performance when the algorithms system when there are sympathetic vibrations of the
detect any stable frequency that comes through the strings, as does the acoustic space, resounding with its
microphone for about half a second. The waveform of particular acoustic response what is fed to it by the
the recording is shown in the window below the toggle performance. The piece adapts itself to all this factors
and, of course, changes during the performance. without loosing a certain identity: there is a recognizable
The systematic use of prime numbers as time spans or sound characteristic of the whole process, tied to what
number of elements in sets of numbers that refer to the score defines as the musical content to be sought,
quantities, is a way of trying to avoid temporal and dependent and independent, at the same time, of all
constraints in the functioning of the algorithm (and, in parts of the system and their interrelationships.
fact, of the whole live-electronics system for gosto de
terra) that would resemble an idea of time as isometric.
The characteristic of prime numbers, i.e. their property 4. CONCLUSIONS
of only being divided by themselves or one, increases the The described algorithm is, of course, only one way
possibility that there will not be any co-incidence of looking at the formalization of these presuppositions
(literally understood) of events in time, reinforcing non- in systemic thinking. Dealing with concepts as
linearity a characteristic also found in organic systems difference, number and quantity in such a way, seems to
and, in that way, the feeling of organicity implied point to the possibility of developing further
above when referring to coarseness. formalizations that may be responsible for the
emergence of complex patterns, specially if ratios
3.4. Circular feedback chains between quantities could be formalized in such a way
that they themselves yield second, third and maybe
It is interesting to note, that the microphone is used in higher order information.
the system not only to record sound from the live
performance, but also as a kind of sensor. It is used for
its capacity to sensor differences in time, transduce them 5. REFERENCES
and make them available to the algorithm described. [1] Bateson, G. Mind And Nature: A Necessary Unity.
The recorded excerpts of the performance are used in Hampton Press, Cresskill, 2002.
a special convolution process with the sound result of
the piano, i.e., of what is being played live by the [2] Bateson, G. Steps to an ecology of mind. University
performer. When the recording is triggered by the of Chicago Press, Chicago, 2000.
algorithm, it will obviously record anything that comes
[3] Bateson, G., M. C. Bateson, Angels Fear: Towards
through the microphone, feeding the convolution with
an Epistemology of the Sacred. Hampton Press,
chunks of sound that have stable frequencies, but that
Cresskill, 2005.
also carry with them any musical content sounding at
that moment, including sympathetic vibration of the
strings, sounds in the piano body, anything played by

151
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

[4] Bateson, G., R. E. Donaldson (Ed.), A Sacred Unity:


Further Steps to an Ecology of Mind. Harper
Collins, New York, 1991.
[5] Demo, P. Complexidade e aprendizagem: a
dinmica no linear do conhecimento. Atlas, So
Paulo, 2011.
[6] Di Scipio, A. Listening to Yourself through the
Otherself: on Background Noise Study and other
works. Organised Sound. Cambridge University
Press, Cambridge, vol.16, n.2, 2011.
[7] Morin, E. Restricted Complexity, General
Complexity. , Worldviews, Science and Us,
Philosophy and Complexity. (Ed.) Gershenson, C.,
D. Aerts, B. Edmonds, World Scientific, London,
2007.
[8] Ramage, M., K. Shipp, Systems Thinkers. Springer,
London, 2009.
!
!
L'autorisation de faire des copies papier ou numriques, de tout ou de
partie de ce travail, pour un usage personnel ou pdagogique, est
accord sans frais condition que les copies ne soient pas faites ou
distribues dans un but lucratif ou commercial, et que les copies
portent ce texte et la citation complte de larticle sur la premire
page . 2014 Journes dInformatique Musicale, Bourges
!

152
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

BILAN ET PERSPECTIVES DE LA REVUE FRANCOPHONE


DINFORMATIQUE MUSICALE

TABLE RONDE

Anne Sdes - coordination


MSH Paris Nord, AFIM.
mshpn-rfim@mshparisnord.fr

Sous lgide de lAFIM, la Revue francophone dinformatique musicale1 publie des articles thoriques et
exprimentaux originaux, des rapports de recherches et des travaux de synthse en relation avec les domaines lis
linformatique et la cration musicales. La revue est annuelle, voire bisannuelle et tudie tout au long de lanne les
propositions de publication aprs soumission au comit de lecture. Une large place est donne aux travaux des
doctorants et jeunes chercheurs.

La revue choisit, sans exclusive, des thmatiques mergeant des journes dinformatique musicale (JIM), ou des
Sound and Music Computing (SMC), ou plus gnralement de lactualit scientifique et artistique.

Depuis 2010, trois numros annuels sont parus, un quatrime numro est en cours de prparation.

Le numro 1 concernait la thmatique de la mixit et du live electronic (actes dune journe dtude consacre ce sujet
en mars 2011 la MSH Paris Nord) ainsi que des travaux de jeunes chercheurs2.

Le numro 2 a donn une large place la prservation des uvres utilisant les technologies numriques,
approfondissant ainsi la thmatique principale des journes dinformatique musicale 2011 qui avaient eu lieu au Cierec
Saint-tienne3.

Le numro 3 a abord la mise en espace du son, la musicologie des pratiques lectroacoustiques employant des
dispositifs numriques, le geste sensible li la musique interactive dans une approche somatique ainsi que lexprience
de linterprte crateur duvres mixtes4.

Les jim 2014 seront loccasion de faire un premier bilan de la revue, aprs trois annes dexistence, de prsenter le
projet de numro pour lanne 2014, et puisque lAFIM souvre la francophonie, suite aux JIM 2012 Mons, et dans
la perspective des JIM2015 Montral, de questionner lusage de la langue franaise dans notre communaut
pluridisciplinaire de chercheurs et crateurs.

Ce bilan se fera sous la forme dune table ronde qui runira :

Myriam Desainte-Catherine, Labri Bordeaux


Yann Orlarey, Grame, Lyon
Laurent Pottier, porteur du prochain numro de la revue, CIEREC, St-Etienne.
Alain Bonardi, CICM, EA 1572, universit de Paris 8.
Pierre Michaud, porteur du projet JIM 2015 Montral, LITEM, UDM.
Julien Rabin, coordinateur des JIM, GMEA, Albi.
Anne Sdes, responsable de la publication (CICM,EA 1572, universit de Paris 8, MSH Paris Nord)

1
revues.mshparisnord.org/rfim /
2
http://revues.mshparisnord.org/rfim/index.php?id=69
3
http://revues.mshparisnord.org/rfim/index.php?id=183
4
http://revues.mshparisnord.org/rfim/index.php?id=243

153
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

154
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Annexes

155
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

156
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

SONIFICATION AND ART

DOMINANTE DE LA JOURNEE (KEYNOTE)

Peter Sinclair
Locus Sonus ESAA
petesinc@nujus.net

ABSTRACT words the mediation of (most commonly digital) data


through sound.
After a brief definition of sonification I will discuss two
creative approaches that of Sound design and that of
Conveying information through non-verbal sound has a
conceptual art. I will attempt to see how these differ and
long history. Alerts and alarms ranging from the
converge in their goals and methods particularly in the
sounding of the post horn or the chiming of a clock to
context of what we might call musical sonification. I will
the warning given by a siren might be considered as
describe some examples of key sonification artworks and
precursors to sonification. We can recognise the traits of
the aesthetic strategies they employ. Finally I will
auditory perception that make it particularly well
describe RoadMusic a project that I have been working
adapted to these types of signals: hearing is both omni-
on for some time, and the practice to which I apply my
directional and always available; we cannot close our
ideas concerning sonification.
ears, even when sleeping. And a part from startle
After a brief definition of sonification I will discuss two
responses there are other primitive mechanisms at work,
creative approaches that of Sound design and that of
distinguishing variations in multiple streams, without
conceptual art. I will attempt to see how these differ and
demanding our conscious attention. There are clear
converge in their goals and methods particularly in the
advantages in exploiting these faculties in an
context of what we might call musical sonification. I will
environment where our visual attention is increasingly
describe some examples of key sonification artworks and
monopolized by electronic screens or other technical
the aesthetic strategies they employ. Finally I will
tasks such as driving.
describe RoadMusic a project that I have been working
on for some time, and the practice to which I apply my
A well-known example of sonification is the Geiger
ideas concerning sonification.
counter where the frequency of clicks designates the
It has been suggested in the past that sonification as a
intensity of radioactivity. The nature of the clicking
term should exclude artistic and musical usage of sound.
sound of the Geiger counter is the result of its pre-digital
I am referring here to an article by Sonification expert:
electronic circuits, today however, sonification almost
Thomas Hermann that can be found in the 2008 ICAD
inevitably involves choice: that of what sound or which
proceedings [10]. In a special edition of AI&Society
variable parameters of sounds to map to otherwise silent
dedicated to artistic sonification that I guest edited [12],
data. Sonifications are pervading our environment and
several artists and composers contradicted this position
the necessity to distinguish between them is giving rise
and Hermann himself has revised his point of view since
to complex and sophisticated techniques where analysis
contribution to the review which he co-signs starts with:
of function, and subsequently design, play an
Sonification today is an interdisciplinary practice
increasingly important role. To give another familiar
ranging from scientific applications to sound art and
example, a mobile telephone no longer rings but
composition [9].
notifies the user by playing a specifically chosen sound,
which distinguishes his or her telephone from those of
others. It probably plays different sounds for different
1. INTRODUCTION types of alerts (or even to identify different callers) and
beyond this, recent 'smart phones' provide carefully
I do not wish to labour a point that has to a certain extent tailored feedback sounds for touch screen functions.
been resolved, however will serve as a starting point for
this discussion of the aesthetics and semiotics of Different principles or techniques of sonification can be
sonification. The definition of sonification most identified:
commonly cited is that proposed during the ICAD 1
conference in 1999: Sonification is the use of non-
Audification is the direct transposition or
speech audio to convey information [15] or in other
transduction of a signal into the audio domain.
Audio-biofeedback is an example where sensors
connected to a subjects muscles or skull
1 capture electrical impulses that are amplified
International Community for Audio Display

157
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

directly and played through a loud speaker as an with the advent of recording and electronically produced
audio signal. It is also a technique exploited by sounds. Until then at least for a long chapter in the
several artists (myself included) often because it history of western music a composer would right notes
is perceived as being as close as possible to the (data) to be interpreted by musicians.
physical reality of captured phenomena.

Mapping Based Sonification modifies 2. AUDITORY SCENE ANALYSIS


parameters of a sound such as pitch or
amplitude. An example is the pulse-oximeter An approach to sound and musical perception that I have
that monitors a patients blood oxygen found valuable for sonification design specifically
saturation as pitch and pulse rate as tempo when there is a situation where multiple sources of
[20]This is also perhaps the most obvious information are being sonified- is the Auditory Scene
method for creating musical sonifications since Analysis theory as proposed by Albert Bregman [4].
MIDI based, digital music systems are This considers that there is a primitive aspect of audition,
inherently adapted to accept a variable input a sorting level so to speak, which is prior to and
driven by data. independent of cultural influences on listening. It is not
however the simple reflex/startle response that I evoked
Earcons are usually short tones, combinations above, rather it is a relatively complex mechanism or
of tones or simple melodies an example might collection of mechanisms, which have evolved in
be the jingle preceding an announcement on the response to our environment and possibly to our
PA of a train station. neurological system. It is an intermediary located
between the capture of sound through the basilar
Spearcons are time compressed speech samples, membrane and the construction of significance through
which can be played at speeds where they are schematic memory and culture. Bregman does not deny
no longer recognizable as words. They the existence of higher from the top down mechanisms,
represent the advantage of being non-arbitrary, he maintains however that they are built with and on top
easy to create and easy to learn. of a primitive segregation, that he calls Auditory Scene
Analysis.
Auditory Icons have a symbolic relation to an
action they represent, examples are to be found It would be too long here to go into the details of ASA
providing feedback on personal computers, for but the basic question to which it provides a response is:
example: the sound of crumpled paper falling in How does the ear identify coherent auditory objects from
a waste paper bin used to indicate that a file has the cross section of incoming sound, the simultaneous
been moved to the trash folder. mash-up of frequencies? How from the immediate
incoming vibrations does our mind distinguish those
If we consider these different techniques we might also parts of the frequency spectrum belonging to one source
place them on a scale that goes from direct (almost from those belonging to another? If it might seem
unadulterated) information through abstracted obvious to us that different sound qualities belong to a
information to highly symbolized or metaphorical same source, from the cognitive point of view it is a
information. Paul Vickers in his 2006 paper Sonification complex problem. Each sound we perceive is made up of
Absraite/Sonification Concrte: An Aesthetic Perspective a multitude of frequency components spread across the
Space For Classifying Auditory Displays In the Ars spectral range of our hearing, so although we know that
Musica Domain [24] suggests that we might consider the first step in auditory analysis (the cochlea) breaks up
these from the position of electroacoustic music as a the incoming signal into frequency bands, it is unlikely
slider between Schaeffer / Chions reduced listening that we are able to identify a sound through this
and causal listening. That is to say that within an mechanism alone. Bregman demonstrates how principals
audification we listen to the purely acoustical properties of gestalt construction apply to sound by using auditory
of the sound and glean information from them. Whereas illusions that show how we can be tricked into
in the case of an auditory icon we associate the symbolic associating elements of the audio spectrum with one
nature of the sound with a function mapping based another. ASA does not deal with sound objects or even
sonification probably fits somewhere between these two. sound sources but rather with streams which can be
Vickers suggests that musical knowledge is an advantage continuous sounds or repeating sound events (such as
in sonification design because in a sense it is what notes or footsteps). Bregman studies in great detail the
composers do all the time. characteristics that tend to group elements such as
closeness in time and pitch and those that separate such
I would add to this a thought that comes from friend as non synchronous onset or timbral incoherencies. The
and fellow composer and sonifier Peter Gena which is interesting thing here is that ASA can provide a method
that until very recently music was an affair of data to compose multiple sounds (pitched, musical sounds or
mediation before being one of sound [7] sound only other) and predict their interaction (ie what will be
started to be used in its own right as musical material considered as separate and what will be grouped as a

158
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

same source) even when the sounds are variable and the these are in a conceptual continuum with the ideas and
precise score or mix is unknown in advance. Since ASA techniques developed by composers of the mid twentieth
mechanisms are pre-cultural using them as a basis for century who sought the emancipation of (their) music in
organizing sonification is arguably less risky than a more regards to (their) expression. I am thinking here in
traditional musical approach that might be misinterpreted particular of John Cage his inclusion of the everyday
by part of the population and since it allows for variation into the compositional process and his definition of
it is possibly richer and less annoying than auditory experimental music as a being of a kind which the
icons. This last point is important I argue against the composer discovers at the same time as the other
use of recorded samples in sonification applications auditors [5] but also of Stockhausen, Xenakis and the
since (personally) I find repeating sounds rapidly serialist composers who gave process a dominant role in
become annoying and if they have the advantage of composition. Moving on in time I would also include
being unambiguous they are of limited scope in terms of Murray Schafer [19] and others involved in soundscape
the information they can carry. This might seem to be an listening and sound installation, which tend to shift the
argument in favour of audification as a technique and to focus away from the composers imaginary projection
a certain extent it is however several non-treated and towards a decision making process that includes
(noisy) audifications might become difficult to real-time and real-place. Digital technology makes this
distinguish and at the very least require a lot of training emancipation all the more feasible since it can mediate
or experience to become interpretable. the everyday, render audible the imperceptible or anchor
artistic form in real-time and in real-place.
In the recent symposium I organized on audio mobility
Gatan Parseihian, researcher at CNRS-LMA, described
his research into The process of sonification design in 3.1. Beyond Expression
the case of guiding tasks [17]. The processes use
parameter-based sonification and synthesis to provide There is a recurring idea in sonification artworks, that by
feedback information gained via visual capture for externalising some of the expression in the work; by
(among others) blind people. Gatan apologetically allocating a responsibility to data, there is a shift of
explained that blind people where reticent to use the sensibility away from the individual artist or musician,
system since a/ in encumbered their (normal) audio creator of the work, and towards the environment being
perception and b/ they found they the sounds un-subtle sonified; the artist adopts a different position. This is a
and disagreeable. I must admit that I sympathize, for trend, which can be noted in much digital art, where
instance I found the sound attached to the reversing artists see themselves as an element in (as opposed to the
sensor on the car I was driving last week, efficiently author of) a process. There is also a strong ecological
understandable but insultingly oversimplified and presence in sound art, manifested through practices such
disagreeable in its texture. I would argue that while there as field recording and sound walking considered as being
is a case to be made for the clear transmission of less dominant or imposing forms than traditional
information through sonification and that it is important composing and in some cases sonification can be seen as
to be able to distinguish between different sound a continuation of this idea.
sources, it is arguably not always useful to oversimplify
and over filter incoming data, and that in certain cases at Andrea Polli for example uses sonification to render
least alternatives to auditory icons, earcons or public significant but normally imperceptible data. Her
rudimentary mapping based sonification can be intentions are overtly political; she compares sonification
preferable. There are undoubtedly different ways to to soundscape listening and sound-walking, which she
approach this problem, I will return to the solutions that I considers as essentially socially engaged activities [18].
have adopted later. For Polli, audification can readily be considered as an
extension to soundscape, since it is the simple translation
of non-audible vibration into audible vibration. In
3. ARTISTIC PROJECTS comparison, mapping-based sonification (more
specifically geosonification 2 ) potentially poses other
Up until this point I have been discussing questions problems, since the translation involves higher levels of
related to sonification design; that is to say the art of human intervention and therein a danger of over-
crafting sounds for a certain purpose or to mediate simplification; an inevitable subjectivity appears through
certain data in an appropriate way. However there is a the choices involved in the mapping process.
different approach possible to the art of sonification,
which involves considering the holistic artistic approach
that evolves when projects, rather than responding to a
design problem, adopt sonification as the means to
artistic ends. In these situations, often it is the source of
the data itself that becomes significant and the
relationship between that source, the situation and the 2
artists mediation that makes the art work. In many cases, Geosonification: the sonification of data from the
natural world inspired by the soundscape.

159
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

general, particularly the body and mind,


alternative medicine and other Eastern
philosophies are thriving. We have
investigated these ideas from the sounds of cells
to the concept and realization of the Blue
Morph installation at the Integratron3 [23].

Nicolas Reeves, son of the famous French/Canadian


astrophysicist and ecologist Hubert Reeves, applies his
training in architecture and physics to the domain of
media arts. His installation Cloud Harp sonifies by
reflecting laser beams off cloud cover, using a
technology similar to that of a cd player [22]. The artist
qualifies his work as Keplerian (in reference to the
Figure 1. Andrea Polli, Sonic Antarctica, 2008 German Astronomer, who incorporated cosmology into
universal mathematics and revisited Pythagoras Music
Of The Spheres in his 1619 publication Harmonices
Sound and music are readily associated with cosmology
Mundi [13]). For Reeves, Cloud Harp reflects a social
and holistic thinking. The idea that they are
political and ecological position that advocates the
representative of the higher (and lower) order of things is
integration of human technologies into the greater order
sporadically recurrent in Western Philosophy and
of things. The work can be said to listen the
musicology from Pythagoras onwards. The universality
environment rather than imposing itself on that
of sound is also largely reflected in non-western
environment as such, we can hear an echo of the
philosophical traditions such as Sufism, as this quote
influence of Murray Schaffer [19].
from The Sufi Teaching of Hazrat Inayat Khan
illustrates:
Another example of sonification, that evokes both scale
and in a certain sense politics, is Jens Brands Global
Since all things are made by the power of
Player. Presented as a commercial brand, Global Player
sound, of vibration, so every thing is made by a
has a dedicated website [3] that uses spoof advertising to
portion thereof, and man can create his world
present a genuine technique that consists of sonifying the
by the same power. Among all aspects of
relief of the earths surface, from data supplied by
knowledge the knowledge of sound is supreme,
orbiting satellites. His advertising slogan is Brand We
for all aspects of knowledge depend upon the
Play The world What Are You Playing? The website
knowing of the form, except that of sound,
offers two products the GP4 an exclusive, top-notch Hi-
which is beyond all form. (Khan 1996)
Fi product which plays the earth as a disc and the G-
POD a portable version of the Global Player which
That sound and music are appropriate forms to vehicle
looks (suspiciously) like an apple iPod.
information that is otherwise imperceptible because too
vast to perceive, is a dominant concept in several
examples of artistic sonification. Lorella Abenavoli
sonifies the vibrations of the earth, compressing them in 3.2. Audience Reception
time in such a way as to render them audible. With her
installation Le souffle de la Terre Abenavoli invites us to When outside of the domain of pure sound design the
drop in and listen to the earth (Abenavoli 2004) Marty perception of sonifications is not necessarily that
Quinn has worked with NASA using data from solar obvious. If we hear the sound of the earths vibrations
storms as a source (Quinn 2011), and Richard Kroland- compressed in time is it possible to perceive them as
Martinet, Solvi Ystad & Mitsuko Aramaki, sonify such, intuitively, without being informed of their origin
cosmic particles invisible but constantly present in our by an oral or written explication? If we hear music
environment (Aramaki, et al. 2009). generated from the pattern of DNA (Gena, DNA Music
On the other end of the spatial scale Victoria Vesna has 1995) is this perceivable in itself? I would say that it
collaborated with nano scientist James Gimzewski, probably isnt and in most cases of artistic sonifcation
creating sonifications of the metamorphosis of a that I have encountered the source of the data is given to
butterfly. Originally stemming from an audification the audience through some other means than the
technique used by Gimzewski to display scientific data sonification itself. The source of the data becomes a
(the evolution of yeast cells), the Californian signifier or perhaps something akin to the program in
artist/scientist couple present this perception of the program music4.
infinitely small as a public installation entitled Blue
Morph, which reflects their holistic philosophy: 4
Program music appeared in the nineteenth century and
As many speculative ideas in the West circulate consisted of a symphony accompanied by a text that can vary
in complexity from a simple title (for example Tragic Overture
around ideas of energetic approach to matter in
as opposed to Symphony n) to a text several pages long,

160
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

performers plus the information provided by the posters


works as a whole. The knowledge that the flow of the
water next to us was participating in the performance
introduced an extra dimension an extension to the scale
of the piece.

THE WORLD IS A DISC


YOU ARE THE DJ
WWW.G-TURNS.COM
VISIT US ONLINE AT WWW.G-TURNS.COM
OR GET A FREE RIDE BY VISITING OUR EARTH OUTLET AT
ICC, TOKYO OPERA CITY TOWER 4F, 3-20-2 NISHISHINJUKU,
SHINJUKU-KU, TOKYO 1631404 JAPAN
MAY 15, 2010FEBRUARY 27, 2011
11:00 AM6:00 PM

Figure 3. J.Eacott Floodtide, London, July 7 2010.


Figure 2. Jens Brand, Brand - finest Global Players
since 2004. John Eacott considers that data derived from the flow of
tide is more meaningful than data generated by
If understanding the provenance of the data is integral to stochastic computer processes, but this is not his primary
appreciation of the artistic proposition, how does the motivation: he willingly talks of his family background
artist make this information available? Alternatively, if in show business and the importance he attaches to
the provenance of data is not integral to appreciation, spectacle. It would seem that it is this aspect that has pre-
how can we consider that the data is significant? Does eminence over a more esoteric significance that might be
attaching a created sound to a source remove it from the suggested by his choice of elements. In the interview we
realm of pure music? conducted with Eacott he suggested that if today it is
necessary to explain to an audience that sonification is
Take London-based composer John Eacotts work taking place, in the future the audience might
Floodtide [6]. I witnessed a performance of this piece in automatically come to expect that something is being
July 2010. The performance took place on a plaza in sonified. Perhaps, as John Eacott suggests, some day real
front of the Southbank Centre in Central London. In the time sonification will have become conventional to the
place of music stands, the musicians had flat screen point where audiences will be expecting the music to be
displays showing a score generated by a computer in data-driven. If this becomes the case, it will undoubtedly
real-time. The program generating the scores was driven change the audiences' receptivity to this kind of work but
by tide-flow data gathered by a sensor plunged into the it seems that the data keeps its program status as a
Thames below the performing musicians. Strategically signifier, what is being sonified tonight? Ah ok we are
positioned posters explained the process with the aid of listening to although it might shift progressively to
visuals and a large screen indicated tide flow in knots. something which one might guess at without the
The music was agreeable, engaging and minimal in necessity to consult a poster.
nature. I would place it aesthetically in the school of
repetitive music. The performance spanned the six hours So is artistic sonification necessarily conceptually based?
of the tidal turn. Although I did not experience the whole I would venture that when the sonification is intrinsically
duration of the piece I happily spent two hours, half related to a persons phenomenology then perhaps not.
paying attention to the music, half taking in the
surroundings. If there is no direct comprehension of the Christina Kubisch is an international sound artist who
state of the tide through Flood Tide, the ensemble I has also taken an interest in the invisible and inaudible
understand by this the geographical situation plus the dimension of electromagnetic waves. Her Electrical
generated score plus the human presence of the Walks project is probably among the best known and
documented of sonification art works. Publicly presented
for the first time in 2003, it predates this in forms that
pertaining to the composers' intentions (for example Hector are more experimental5. In her description of Electrical
Berliozs Symphonie Fantastique). According to Peter Kivy
this evolution can be traced to the influence of German
5
philosopher G.W.F. Hegel who decreed, at the time the In the Catalogue dedicated to Kubishs works entitled
status of music as a fine art was being debated, that absolute Electrical drawings Christophe Metzger mentions a 1993
music could not be a fine art without a content and could not experiment where Christina Kubisch and composer Alvin
have a content without a text (Kivy, 2002, p. 192). Lucier scanned the streets of Tokyo with these modified
headphones [12].

161
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

Walks [11] Kubisch explains how, originally unsought 4. ROADMUSIC


after parasites that appeared in her installations6 became
the genesis of this work. The current version of RoadMusic runs on a dedicated
mini PC or (since about a month ago) on an adroid
telephone in both cases the device is that is fixed to the
interior of a cars windscreen (like a GPS) and connects
to the cars stereo via a standard audio input. The
program uses sensors and a camera.

Figure 4. Christina Kubisch, Electrical Walks Nancy


June 6 2011 (photo C. Kubisch).

As the quantity intensity and diversity of these parasites Figure 5. RoadMusic running under Android (Photo F.
increased along with the proliferation of electronic Hartmann).
apparatus, she became aware of the artistic potential of
visiting this invisible and normally inaudible universe.
4.1. How it works
She constructed special headphones equipped with
induction coils, which allow the auditor to hear the The sensors gather information about movement
electromagnetic waves emitted by different devices: (accelerometers on x, y, and z axes): vibrations from the
car body and the road surface; and on a larger scale
Light systems, transformers, anti-theft security bends, bumps, accelerations and braking. The camera
devices, surveillance cameras, cell phones, gathers information about the visual field: moving
computers, elevators, streetcar cables, antennae, objects and colour.
navigation systems, automated teller machines,
neon advertising, electric devices, etc. [11] Possibly the single most important (sonic and
conceptual) feature of the RoadMusic program, is that at
Members of the visiting public are invited to don these the outset there is no pre-recorded audio in the system7.
headphones (see Figure 4-3) and discover the hitherto It does not use playlists or samples; rather audio
unperceived but ubiquitous and pervasive dimension of synthesis is based upon the incoming raw data the
electromagnetic waves. This work is a notable exception forms of the road and the cars movements. This data is
to the idea that data is necessarily exposed as the written into wavetables 8 and read at audio speeds,
conceptual basis of the artwork. I would argue that in meaning that the sounds evolve as data updates.
this case the artwork is potentially self explicit and
autonomous. Christina Kubisch offers maps to her public
that indicate spots of particular interest, however, I
propose that if one where to wear the headphones
without prior knowledge of their usage, one would
rapidly comprehend their functionality and ultimately be
in a position to appreciate the artistic intention. For this
to be the case though, the user must move around and
arguably it is this mobility that generates the actual
content of the piece.

This idea that if mobilized, a sonification can potentially Figure 7. RoadMusic wavetable
make sense by itself is the basis of my project
RoadMusic which I will now describe in more detail.
This might immediately conjure up the idea something
very noisy in the auditory imagination of the reader,
however since this is just the starting point of the
synthesis (the wavetable is then read by oscillators and

6 7
Earlier installations use induction headphones to capture There is an exception to this: a recorded voice which gives
deliberately transmitted sounds as the visitor navigates in a feedback information about user navigation.
8
designated space. Indexed memory or array of values used in computer music.

162
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

numerous other processes are applied to it), it essentially the car goes round bends or over bumps, can
effects the sound on a micro-sonic scale, modifying be mapped to change pitch, level or
timbre or texture. The influence of this on the end result harmonic spectrum.
is subtle and not necessarily consciously quantifiable to Events are detected within these same
the untrained ear but it eliminates the monotonous nature streams by measuring difference against
of many synthesised sounds and importantly is the audio time, so it is possible to discern a bump, a
imprint of the journey itself. bend, an acceleration or a deceleration.
These events are used to trigger sounds
directly, to introduce or remove notes from
melodies, or to switch signal processes on or
off.
These events are also used to calculate
statistics about the road measures of
bumpiness, bendiness, stops and starts that
in turn produce new streams of data (moving
frame averages). Like the rescaled data,
these can be mapped to any parameter of
any instrument, causing slower variations
that mediate the drive on a macroscopic
scale.
A last level of analysis applies threshold
values to the statistical data, producing a
new set of events which are typically used to
orchestrate the ensemble switching
different instruments on and off according to
the type of road, for example: straight, some
curves, winding; flat, bumpy, very bumpy.
Figure 6. Schema of RoadMusic analysis and audio
processing
4.1.3. The Landscape

4.1.1. Instruments Or Streams A camera captures the visual field of the road ahead.
This capture is analysed in two ways:
At the next level of complexity up from the wavetables Blob tracking is used to distinguish large
described above, audio synthesis is accomplished by a moving objects, most often cars in the
number of modules generating what will be described opposite lane. An object detected in the video
later in this thesis as multiple streams9 separate audio frame is translated as coordinates: horizontal
identities, which for the moment are most easily thought and vertical position and size. As with data
of as instruments. Each of these instruments has basic from accelerometers, these can be mapped to
parameters that can be varied in real-time such as pitch, sound parameters. In practice, they are
amplitude and pan and some have more distinctive employed to create the impression that a
qualities such as frequency spectrum (tone filter), echo,
sound is moving correlation with an object
delay, and Doppler10 effects that can simulate physical
outside the car by using psycho-acoustic cues
space or movement depending on the instrument.
(phase difference, amplitude and Doppler
shift).
Colour of the overall scene is analysed by
4.1.2. Data Analysis And Mapping extracting varying RGB (red, green, blue)
component levels, typically used to vary
Data from the accelerometers is processed in different
harmonic elements in an instrument. Here
ways:
too an event is extracted when there is a
Each data stream is rescaled and smoothed
change in the dominant colour of the
so that it can be used as a continuous
landscape and used to bring about changes in
controller by any parameter of any
the music.
instrument. For example, the varying force of
acceleration and deceleration or g-force as
4.1.4. Global Inactive
9
See Chapter 3.3 : Auditory Scene Analysis. A last but important detection is the non-event: the
10
Phenomena whereby, when a sound source is moving rapidly program provides a signal when no event has occurred
towards or away from an auditor (for example a siren or train for a few seconds, typically when the vehicle marks a
horn) the perceived pitch is modified.

163
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

stop (there is a mechanism which prevents this from Edited by S. Ystad et al. Auditory Display: 6th
recurring more than once per minute to cater for traffic International Symposium, CMMR/ICAD 2009.
jams and suchlike). This is used to define parameters of Berlin: Springer , 2009. 408-421.
a new piece, for example, to re-generate melodic and [3] Brand, Jens. GP4. http://www.g-turns.com/.
rhythmical patterns. The compositional process, once the 2004.
actual code for instruments has been completed, consists [4] Bregman, Albert S. Auditory Scene Analysis -
of deciding which input parameters are to be routed to The Perceptual Organization of Sound. The
which instrument parameters. MIT Press, 1994.
[5] Cage, John. Silence lectures & writings.
RoadMusics aim is not one of (stricto senso) informing London: Marion Boyars, 1971.
the driver about the road. However there is an intention [6] Eacott, John. Flood Tide.
to create an audio environment (although musical in its http://www.informal.org/. 2009.
form) that puts the driver and passengers in contact with [7] Gena, Peter. Apropos Sonification: a broad
the situation of driving, the road, the car and the view of data as music and sound - Sonification
environment. Where it might be argued normal - What Where How Why. AI&Society
listening in a car tends to a large extend to exclude these. (Springer), 2011.
Modern (in particular electric or hybrid) cars are isolated [8] Gena, Peter. DNA Music.
from the environment they traverse (even with the http://www.petergena.com/DNAmus.html.
windows open at anything beyond minimal speeds 1995.
turbulence will cover any sounds in the landscape) and [9] Grond, Florian, and Thomas Hermann.
car manufacturers do there best to eliminate and Aesthetic Strategies in Sonification. AI &
mechanical noise. Thus the car HiFi, and has become the Society (springer), 2011.
by-default audio source, and in most cases unless giving [10] Hermann, Thomas. Taxonomy and
traffic information it is disassociated from the situation. Definitions For Sonification And Auditory
So in a sense RoadMusic applies design principals to a Display. Proceedings of the 14th International
problem solving process. To this end I use the principals Conference on Auditory Display, Paris, France
of Auditory Scene Analysis described earlier, in order to June 24 - 27, 2008. Paris, 2008.
compose through routines or programs where the [11] Kubisch, Christina. Works with
absolute result is unknown (the sound of RoadMusic is Electromagnetic Induction. Christina Kubisch.
never the same). By thinking of the Auditory scene in http://www.christinakubisch.de/english/klangu
terms of streams with identities and characteristics that ndlicht_frs.htm (accessed december 10, 2011).
separate or approach them it becomes possible to create [12] Kubisch, Christina. Electrical Walks.
compositions without knowing where they will start or Kunsthalle Bremen. Christina Kubisch,
end and what they will encounter in between. In this I Electrical Drawings, Works 1974-2008. Kehrer
also rejoin with John Cages experimental music since Verlag Heidelberg, 2008.
the composer discovers the piece as it occurs and I [13] Kepler, Johannes. Harmonices mundi (The
would propose that the fact that all the music is Harmony of the Worlds). 1619.
generated from audification of the sensor data gives a [14] Khan, Hazrat-Inyat. The Mysticism of Sound
live quality to the experience (something akin to acoustic and Music. Shambhala, 1996.
sound). Finally I am also aligned to a certain extent with [15] Kramer, G et al. Sonication report: Status of
the cosmological camp at least in the sense that one of the eld and research agenda. ICAD 1997.
the aspects of this approach that interests me, is that ICAD, 1997.
rather than creating a fixed art work or a performance, [16] Quinn, Marty. "WALK ON THE SUN" - An
the process is one of cybernetic inclusion. By this I Interactive Image Sonification Exibit.
mean that the driver the car the program and the AI&Society (Springer), 2011.
environment play together and the limits of such a [17] Parsehian, Gaetan. Locusonus symposium #8
system are arguably unlimitedly extendable. Audio Mobility. Locusonus symposium #8
Audio Mobility. Locusonus, 2014.
[18] Polli, Andrea. Soundscape, Sonification and
5. BIBLIOGRAPHY Sound Activism . AI& Society - Sonification -
What Where How Why (Springer), 2011.
[1] Abenavoli, Lorella. Le Souffle de la terre, [19] Schafer, R Murray. The Tuning of The World.
tude n 5. Fondation Daniel Langlois. New York: Alfred Knopf, 1977.
http://www.fondation- [20] Sinclair, Peter. Living With Alarms. AI &
langlois.org/html/f/page.php?NumPage=268. Society - Sonification How Why What Where
2004. (Springer), 2011.
[2] Aramaki, Mitsuko, Charles Gondre, Richard [21] Sinclair, Peter, ed. Sonification - What Where
Kronland-Martinet, Thierry Voinier, and Solvi How Why. AI & Society (Springer) 27, no. 2
Ystad. Imagine the Sounds: An Intuitive (05 2012).
Control of an Impact Sound Synthesizer.

164
JIM2014 - Journes d'Informatique Musicales, 21-23 mai 2014, Bourges, France

[22] Reeves, Nicolas. La Harpe Nuages (Cloud


Harp). Fondation Langlois.
http://www.fondation-
langlois.org/html/e/page.php?NumPage=101.
1997-2000.
[23] Vesna, Victoria. Vibration Matters: Collective
Blue Morph effect. AI& Society -
Sonification - What Where How Why
(Springer), 2011.
[24] Vickers, Paul. Sonification
Abstraite/Sonification Concrete: An 'Aesthetic
Perspective Space' For Classifying Auditory
Displays in the Ars Musica Domain.
Proceedings of the 12th International
Conference on Auditory Display. london, 2006.

165

You might also like