% Intro % Méthodologie % Résultats % A?rmoire % Discussion \section{Introduction} \setcounter{page}{1} % Kickstart Ce mémoire est issu de la rencontre entre l'\ircam\ (Institut de Recherche et Coordination Acoustique/Musique) et le \lps\ (Laboratoire de Physique des Solides) autour d'un sujet de recherche sur sonification/musification de mousses liquides. Rédigé en conclusion d'un stage de recherche de Master 2 au \mpri, il présente le cadre interdisciplinaire et les pistes de réflexion empruntées lors de ce travail exploratoire. Les mousses sont un sujet d'étude du \lps. Les physiciens ont le choix entre les mesures de plusieurs instruments et c'est pourquoi la découverte du/des paramètre(s) décrivant au mieux le comportement de ce système est une question non triviale ; ce/ces paramètre(s) est/sont noyé(s) dans de multiples mesures portant sur de nombreux autres paramètres. L'usage du son et notamment de la musique pour détecter des propriétés des mousses liquides est une approche novatrice dans ce domaine. L'équipe Représentations Musicales (\ircam) possède les outils informatiques et \emph{mathémusicaux} pour élaborer un environnement de sonification apte à démontrer son intérêt. Plus précisément, ce stage prends pour hypothèse que la musique peut aider le processus de sonification et a pour objectif d'apporter des réponses à deux questions qui sont la qualification de l'ordre spatial et temporel dans une mousse liquide en deux dimension et de valider cette approche. % De quoi on va parler \medskip Nous commencerons par présenter succintement le domaine de la sonification scientifique, l'idée de la musification, le système étudié et quelques notions musicales nécessaires. Nous aborderons ensuite les liens entre tonnetz et graphe de Cayley et nous exposerons quelques mappings mis en œuvre pendant ces cinq mois. Nous continuerons avec des détails sur l'implémentation de ces mappings, puis nous parlerons de la validation des données obtenues pour clore sur les perspectives de ce stage et leurs implications. \subsection[De la sonification scientifique]{De la sonification scientifique\ldots} \label{subsec:sonification} Quelle loi gouverne la chute d'un corps ? D'après \cite{drake_galileo_1990}, Galilée aurait construit et utilisé une rampe (figure~\ref{fig:rampe-full}) inclinée dotée de clochettes montées sur des portails munis de marteaux, afin de mettre en évidence une loi quadratique. Sur cette rampe on laisse librement rouler une bille qui, pendant sa descente, fait sonner les clochettes (figure~\ref{fig:rampe-detail}) : la phrase rythmique entendue dépend de la position de chaque portail sur la rampe. En déplaçant les portails de telle manière à ce que cette phrase soit périodique, on peut déterminer l'accélération de la bille en mesurant leurs positions sur la rampe. Cette expérience pratique utilisant le son comme descripteur d'un phénomène fait partie de la sonification scientifique. On peut citer des outils scientifiques actuels reposant sur le même principe que la rampe de Galilée : le compteur Geiger, le radar de recul (avec des « bip » de plus en plus rapprochés quand la distance à l'obstacle diminue). \begin{figure}[p] \centering \subfloat[Ensemble]{ \includegraphics[height=.25\textheight]{img/galileo-inclined-plane.jpg} \label{fig:rampe-full}} \qquad \subfloat[Détail]{ \includegraphics[height=.25\textheight]{img/galileo-inclined-plane-detail.jpg} \label{fig:rampe-detail}} \caption{Rampe de Galileo Galilei (au Museo Galileo de Florence)} \label{fig:rampe} \end{figure} \medskip Le domaine de la \emph{visualisation} de données \cite{friendly_milestones_2002} a une histoire riche et a pris beaucoup d'importance avec l'arrivée des premiers ordinateurs. Il a pour but de mettre en images un ensemble de données, par exemple des clusters dans un nuage de points, pour mettre en avant les relations existantes dans l'ensemble de données considéré. La sonification scientifique est un domaine plus jeune et en plein développement depuis les vingt dernières années, notamment grâce à la création de la conférence \textsc{Icad} (pour \emph{International Community for Auditory Display}) en 1992. Ce champ de recherche intrinsèquement pluridisciplinaire est à mettre en parallèle de la visualisation de données. \\ La sonification est définie dans \cite{kramer_sonification_1999} en ces termes : \begin{quote} Sonification is the transformation of data relations into perceived relations in an acoustic signal for the purposes of facilitating communication or interpretation. \end{quote} Pour faire le lien entre données à analyser et son, quelques techniques ont été référencées dans~\cite{hermann_sonification_2011} : \begin{itemize} \item{l'\textbf{Audification}} consiste à écouter le signal brut ou déformé par traitement analogique (filtrage passif, accélération, ralentissement, \ldots), l'exemple emblématique étant \cite{speeth_seismometer_1961}, dans lequel Speeth montre que l'on peut distinguer, en écoutant les données séismométriques, la détonation d'un explosif d'un tremblement de terre ; \item{les \textbf{Auditory Icons} et \textbf{Earcons}} sont des sons discrets utilisés pour les évènements discrets (comme les alarmes), le premier consiste à jouer des sons préenregistrés et le second peut être l'agencement de séquences synthétisées connues pour former des « mots » ; \item{la \textbf{Model Based Sonification}} consiste à créer un \emph{modèle} issu des données du système, interagir avec ce modèle et écouter en temps réel le son généré afin de tirer des informations du système \cite{hermann_listen_1999} et \item{la \textbf{Parameter Mapping Sonification} (\textsc{Pms})}. \end{itemize} Notre travail s'inscrit dans la dernière catégorie. Traditionnellement, un paramètre contrôlant la production d'un son est \emph{lié} à un des paramètre du système étudié. Par exemple, nous pourrions relier un paramètre sonore comme la fréquence d'un son à un paramètre de notre système comme le nombre de bulles évoluant dans le temps. La variation des fréquences perçues nous renseignent ainsi sur l'évolution du nombre de bulles au cours du temps. Cette méthode plutôt intuitive souffre d'un défaut : il existe beaucoup de mappings possibles. \begin{figure}[p] \centering \begin{tikzpicture}[auto,bend right,scale=\textwidth/5cm] %every node/.style={transform shape}] \node (phyrel) {Lois du système}; \node (phyobs) [below=of phyrel] {Observables}; \draw[thick,->, dotted] (phyobs) -- (phyrel); \node (musobs) [right=of phyobs] {Objets sonores}; \draw[black!50,thick,font=\scriptsize,->] (phyobs) to node {mappings} (musobs); \draw[black!50,thick,font=\scriptsize] (phyobs) to node [swap] {sonification} (musobs); \node (musrel) [above=of musobs] {Relations sonores}; \draw[black!50,thick,font=\scriptsize,->] (musobs) to node [swap,text width=21mm] {perception (IHM)} (musrel); \draw[black!50,thick,->] (musrel) to node [swap] {?} (phyrel); \end{tikzpicture} \caption{Cycle des transformations pour la recherche de relations dans un système complexe par sonification} \label{fig:dico} \end{figure} En général on ne peut pas passer facilement des observables d'un système aux lois les régissant. Il est alors intéressant de passer par une sonification du système (figure~\ref{fig:dico}). En utilisant la \textsc{Pms}, on donne une représentation sonore aux observables de notre système qui est perçue par le système auditif comme un objet sonore dont on peut extraire des caractéristiques ou des relations. Ces relations sonores sont un lien direct avec les lois du système. %Outils Il existe plusieurs outils et environnements pour la recherche de relations par \textsc{Pms} \cite{candey_xsonify_2006} \cite{pauletto_toolkit_2004} \cite{walker_sonification_2003}, mais aucun ne tire réellement parti du côté fortement structurel de la musique. Pourtant la musique a de réels atouts au sein de la sonification, on parlera alors de \emph{musification}. \subsection[À la musification]{\ldots\ à la musification} Une approche de notre problème par les techniques de sonification classiques nous semble limité car elle passe outre la forte composante \emph{strucurelle} de la musique. Nous explorons la voie de la \emph{musification}, une extension naturelle de la \textsc{Pms}. % C'est une approche géométrico-algébrique qui % cherche à combler le manque de géométrie dans les techniques de sonification % usuelles, donnée pourtant intéressante lors de l'étude de systèmes physiques % complexes ayant une organisation spatiale. Elle apporte à la sonification : \begin{itemize} \item une structure hiérarchique claire (note, mesure, phrase, \ldots) et notamment multi-échelle, \item une meilleure analyse des régularités, des symétries et \item une « facilité » de traitement auditif par la réutilisation d'un background musical connu. \end{itemize} La musification est adaptée à l'analyse des systèmes complexes, où l'on veut traiter au moins deux échelles simultanément : l'échelle locale (bulle) et l'échelle globale (mousse). Par ailleurs, la musification peut s'appuyer sur des approches et outils géométriques qui sont aussi utilisés dans l'analyse des systèmes complexes physiques : symétries, organisation spatiale, \ldots C'est tout un univers formel (§~\ref{subsec:music}) qui vient se greffer à la \textsc{Pms} et nous permet de \emph{dépasser} la sonification pour aller vers la musification. \subsection{Système étudié : les mousses liquides} \label{subsec:mousses} \begin{figure}[p] \centering \subfloat[Désordonnée]{ \includegraphics[width=.3\textwidth]{img/foam1} \label{fig:desordonnee}} \quad \subfloat[Partiellement désordonnée]{ \includegraphics[width=.3\textwidth]{img/foam2} \label{fig:part-des}} \quad \subfloat[Régulière]{ \includegraphics[width=.3\textwidth]{img/foam3} \label{fig:reguliere}} \caption{Différentes organisations spatiales d'une mousse en deux dimensions} \label{fig:mousses-space} \end{figure} Notre objet d'étude est un système complexe relativement bien connu des physiciens\footnote{Ref needed} du \lps\ d'Orsay : il s'agit des mousses liquides en deux dimensions (figure~\ref{fig:mousses-space} et figure~\ref{fig:mousses-time}). Une mousse liquide est un mélange liquide-gaz, constitué de poches de gaz (bulles) dans le liquide. Les interfaces sont constituées de molécules à la fois hydrophobes et hypdrophiles. Si le comportement de ces mousses liquides est aujourd'hui bien connu, il n'en a pas toujours été ainsi. Il a fallut plusieurs années de recherche pour isoler le «~bon~» paramètre parmis tous, c'est à dire celui le plus à même de décrire le comportement du système. L'hyptohèse qui motive ce stage est que cette recherche peut être menée plus efficacement grâce à la musification du système. % \begin{figure}[p] \includegraphics[width=\textwidth]{img/foam-coarsening} \begin{tikzpicture}[xscale=\textwidth/2cm] \draw[|-to] (0,0) -- node[midway,fill=white] {temps} (2cm,0); \end{tikzpicture} \caption{Différents états de l'évolution temporelle d'une mousse en deux dimensions à partir d'un état de type désordonné (figure~\ref{fig:desordonnee})} \label{fig:mousses-time} \end{figure} \begin{figure}[p] \centering \includegraphics[width=.8\textwidth]{img/foam-time} \caption{Graphe de l'évolution temporelle de la taille moyenne normalisée des bulles d'une mousse liquide en deux dimensions} \label{fig:mousses-graph} \end{figure} % Deux questions se posent alors : \begin{enumerate} \item{Peut-on écouter le degré d'ordre de l'organisation spatiale du système ?} Par exemple, est-il possible d'avoir des mélodies caractéristiques de l'état \subref{fig:desordonnee}, \subref{fig:part-des} et \subref{fig:reguliere} de la figure \ref{fig:mousses-space}, permettant de les distinguer ? \item{Peut-on écouter les épisodes catastrophiques lors de l'évolution temporelle du système ?} Par exemple, est-il possible d'avoir des mélodies ayant des variations fortes correspondantes aux épisodes catastrophiques, les mettant en évidence ? \end{enumerate} Ces deux questions ont orienté notre exploration lors de la sonification/musification du système. La première est illustrée par les trois états de la figure \ref{fig:mousses-space} ; la seconde est illustrée par les états en fonction du temps de la figure \ref{fig:mousses-time} et le graphe de l'évolution temporelle d'un paramètre de la figure \ref{fig:mousses-graph}. Dans ce graphe, on peut noter trois moments importants~: \begin{enumerate} \item une phase initiale : le système semble statique du point de vue du paramètre représenté ; \item une phase intermédiaire : on trouve plusieurs marches à chaque épisode catastrophique et ils sont difficiles à trouver quand on ne connaît pas le \emph{bon} paramètre ; \item une phase dite de « scaling state » : le système continue à évoluer mais de manière similaire dans le temps (on ne peut plus distinguer deux images prises à des moments différents de deux dont la seconde est un agrandissement de la première). \end{enumerate} Nous opérons en aveugle, sans \emph{a priori} forts sur les mousses et leurs agencements. Nous avons tout de même connaissance des quatres lois de Plateau (des observations du physicien belge J. Plateau) : \begin{enumerate} \item tout film enfermant des bulles se compose d'éléments de surface lisses, \item la courbure moyenne de chacun de ces éléments est constante (ce ne sont pas forcément des sphères), \item lorsque trois éléments de surface se rejoignent, ils se raccordent selon une courbe régulière en tout point de laquelle leurs plans tangents forment des angles de 120° (figure~\ref{fig:plateau3}), \item lorsque ces lignes de raccordement se rejoignent, elles le font quatre par quatre et prennent alors, au point de rencontre, les quatre directions tétraédriques (comme les quatre segments qui joignent le centre d'un tétraèdre régulier à ses sommets, et dont chacun forme avec les autres des angles d'environ 109°, figure~\ref{fig:plateau4}). \end{enumerate} \begin{figure}[p] \centering \subfloat[Point de rencontre de trois «~éléments de surface~»]{ \begin{tikzpicture}[scale=.2\textwidth/15mm] \node (c) {}; \node (d) at (0:1cm) {}; \node (e) at (120:1cm) {}; \node (f) at (240:1cm) {}; \draw (c) -- (d); \draw (c) -- (e); \draw (c) -- (f); \fill (c) circle (.5mm); %\fill (d) circle (.2mm); %\fill (e) circle (.2mm); %\fill (f) circle (.2mm); \end{tikzpicture} \label{fig:plateau3} } \qquad \subfloat[Point de rencontre de quatre «~lignes de raccordement~»]{ \begin{tikzpicture}[scale=.3\textwidth/15mm] \node (o) at (0,0 ,0) {}; \node (c) at (0,1 ,0) {}; \node (d) at (0,-1/3,0.94280904) {}; \node (e) at (0.94280904,-1/3,0) {}; \node (f) at (0,-1/3,0) {}; \draw (o) -- (c.center); \draw (o) -- (d.center); \draw (o) -- (e.center); \draw (o) -- (f.center); \fill (c) circle (.2mm); \fill (d) circle (.2mm); \fill (e) circle (.2mm); \fill (f) circle (.2mm); \begin{scope}[opacity=.5] \fill[black] (o.center) -- (c.center) -- (d.center) -- cycle; \fill[black!80] (o.center) -- (c.center) -- (e.center) -- cycle; \fill[blue] (o.center) -- (c.center) -- (f.center) -- cycle; \fill[gray] (o.center) -- (d.center) -- (e.center) -- cycle; \fill[black] (o.center) -- (d.center) -- (f.center) -- cycle; \fill[black!80] (o.center) -- (f.center) -- (e.center) -- cycle; \end{scope} \fill (o) circle (.5mm); \end{tikzpicture} \label{fig:plateau4} } \caption{Illustration des lois 3 et 4 de Plateau} \label{fig:plateau} \end{figure} Le livre \cite{isenberg_science_1992} fournit beaucoup d'illustrations de ces observations. En deux dimensions, la 3\ieme\ loi nous intéresse et on peut l'observer sur une mousse régulière (figure~\ref{fig:reguliere}) car on retrouve un agencement hexagonal (où chaque intersetion de trois bulles présente trois angles de 120°) : ceci implique que chaque bulle possède six voisines. C'est le point de départ des techniques géométriques mises en place dans ce mémoire (voir notamment §~\ref{subsec:music} et §~\ref{subsec:tonnetz-cayley}). On veut être capable de repérer les symétries et asymétries du système ainsi que des variations marquées d'un paramètre dans l'évolution temporelle. Cette étude en deux dimension a pour but premier de valider le bon fonctionnement des techniques mises en place pour pouvoir ensuite attaquer un domaine moins bien connu : les mousses en trois dimensions. \medskip C'est avec ces quelques indices que nous commençons la musification du système en nous fondant sur la set-theory. \subsection{Une vue sur la théorie musicale} \label{subsec:music} Nous resterons très général sur cette théorie musicale. La formalisation musicale s'est accentuée à la fin du XX\ieme\ siècle avec l'utilisation d'outils algébriques pour décrire les classes d'intervalles : la \emph{set-theory} \cite{forte_structure_1973} \cite{rahn_basic_1987} \cite{colloque_autour_de_la_set_theory_actes_2008}. En rajoutant des opérations algébriques à l'espace des hauteurs on obtient un couple (ensemble, structure) nous ouvrant l'accès à la théorie des groupes. Les opérations ensemblistes et algébriques sont disponibles : union et intersection, utilisation de la loi interne, etc. La notion importante utilisée tout au long de ce mémoire est celle d'\emph{intervalle} : c'est la hauteur entre deux notes. Le plus petit intervalle considéré est le demi-ton. Il y a 12 demi-tons dans la gamme occidentale et ils sont répartis sur 7 notes (figure~\ref{fig:gamme}). On peut altérer la hauteur d'une note, donc l'intervalle ayant pour une de ses bornes cette note, en la faisant précéder d'une altération : ♯ (dièse, +1 demi-ton) ou ♭ (bémol, -1 demi-ton). \begin{figure}[p] \centering \begin{tikzpicture}[note/.style={draw,black,circle},bend left=-40] \node[note] (C) {Do}; \node[note,right=of C] (D) {Ré}; \node[note,right=of D] (E) {Mi}; \node[note,right=of E] (F) {Fa}; \node[note,right=of F] (G) {Sol}; \node[note,right=of G] (A) {La}; \node[note,right=of A] (B) {Si}; \node[note,right=of B,gray,dashed] (C2) {Do}; \draw[->] (C.south east) to node[above,midway] {+2} (D.south west); \draw[->] (D.south east) to node[above,midway] {+2} (E.south west); \draw[->] (E.south east) to node[above,midway] {+1} (F.south west); \draw[->] (F.south east) to node[above,midway] {+2} (G.south west); \draw[->] (G.south east) to node[above,midway] {+2} (A.south west); \draw[->] (A.south east) to node[above,midway] {+2} (B.south west); \draw[->] (B.south east) to node[above,midway] {+1} (C2.south west); \end{tikzpicture} \caption{Répartition des demi-tons dans la gamme de Do Majeur} \label{fig:gamme} \end{figure} Il n'y a que sept noms de notes et ils sont indicés pour indiquer à quelle octave ils appartiennent, une octave étant l'intervalle de Do$_i$ à Do$_{i+1}$ valant 12 demi-tons. Par exemple, le La$_4$ a, par définition, une fréquence de 440~Hz et le La$_3$, à l'octave inférieure, a pour fréquence $f(La_4) / 2 $ donc 220~Hz. En utilisant la réduction à l'octave , on réduit l'espace combinatoire en 12 intervalles qui sont les 12 classes de résidus modulo 12 de $\mathbb{Z}_{12}$. On peut utiliser une représentation circulaire comme support visuel pour des opérations algébriques élémentaires, entre autres : \begin{itemize} \item la transposition (rotation sur le cercle, fig. \ref{fig:transposition}) et \item l'inversion (symétrie sur le cercle, fig. \ref{fig:inversion}), \end{itemize} qui constituent une première formalisation algébrique. \begin{figure}[p] \hfill \subfloat[Transposition : $x \rightarrow x + k \bmod 12$]{ \begin{tikzpicture}[scale=.3\textwidth/2cm,delta angle=-30,radius=1.06cm] \draw (0cm,0cm) circle (1cm); \foreach \i/\j in {90/0,60/1,30/2,0/3,330/4,300/5,270/6,240/7,210/8,180/9,150/10,120/11} { \node[fill,circle,inner sep=.5mm] (\j) at (\i:1cm) {}; \node at (\i:1.2cm) {\j}; } \draw (0) -- (3) -- (7) -- (0); \draw[gray] (1) -- (4) -- (8) -- (1); \draw[gray,dashed,->] (0,0) +(90:1.06cm) arc [start angle=90]; \end{tikzpicture} \label{fig:transposition}} \hfill \subfloat[Inversion : $x \rightarrow -x \bmod 12 $.]{ \begin{tikzpicture}[scale=.3\textwidth/2cm] \draw (0cm,0cm) circle (1cm); \foreach \i/\j in {90/0,60/1,30/2,0/3,330/4,300/5,270/6,240/7,210/8,180/9,150/10,120/11} { \node[fill,circle,inner sep=.5mm] (\j) at (\i:1cm) {}; \node at (\i:1.2cm) {\j}; } \draw[dashed,gray] (0,-1.3cm) -- (0,1.3cm); \draw (0) -- (3) -- (7) -- (0); \draw[gray] (0) -- (5) -- (9) -- (0); \end{tikzpicture} \label{fig:inversion}} \hfill~ \caption{Intervalles et opérations algébriques sur un cercle} \end{figure} \bigskip Une autre représentation qui nous intéresse est l'organisation spatiale des intervalles au sein d'un \emph{tonnetz} (figure~\ref{fig:tonnetz}), décrite en premier par Leonhard Euler. Ce dernier a choisi une disposition spatiale compacte valorisant les intervalles\footnote{% (((----------------------------- L. Euler utilise une notation allemande où le $H$ correspond au $B$ anglo-saxon et le $B$ correspond à $A\#$. Cette notation vient du système de notation \textsc{Bach}. Voir la page \url{http://en.wikipedia.org/wiki/H_(musical_note)} pour de plus amples détails.}% )))--------------------------------------------- ~de tierce majeure (4 demi-tons, en progressant sur l'axe horizontal vers la droite) et de quinte juste (7 demi-tons, en progressant sur l'axe vertical vers le bas). Cette représentation est équivalente à la donnée d'un groupe cyclique d'ordre 12, comme précédemment, mais exprimée sous forme d'un graphe planaire. Ces deux intervalles sont les plus consonnants après l'octave ; il est donc agréable et pratique de pouvoir passer d'une note à une autre en les privilégiants. \begin{figure}[p] \centering \subfloat[Tonnetz de L. Euler (1739)]{ \includegraphics[width=.45\textwidth]{img/eulers-tonnetz} \label{fig:tonnetz}} \subfloat[Tonnetz de L. Euler vu comme une partie du graphe de Cayley de la présentation finie $g_{4,7}$ du groupe $\mathbb{Z}_{12}$]{ \begin{tikzpicture} [note/.style={draw,black,circle,inner sep=.5mm,minimum size=8mm}, label distance=-1mm,label position=below left, double distance=.5mm] \node[note,double] (C) {Do }; \node[note,left=of C] (F) {Fa }; \node[note,right=of C] (G) {Sol }; \node[note,right=of G] (D) {Ré }; \node[note,above=of F] (A) {La }; \node[note,right=of A] (E) {Mi }; \node[note,right=of E] (B) {Si }; \node[note,right=of B] (Fd) { Fa♯}; \node[note,above=of A] (Cd) { Do♯}; \node[note,right=of Cd] (Gd) {Sol♯}; \node[note,right=of Gd] (Dd) { Ré♯}; \node[note,right=of Dd] (Ad) { La♯}; \draw (F) -- (C) -- node[above,midway] {+7} (G) -- (D); \draw (A) -- (E) -- (B) -- (Fd); \draw (Cd) -- (Gd) -- (Dd) -- (Ad); \draw (F) -- (A) -- (Cd); \draw (C) -- node[right,midway] {+4} (E) -- (Gd); \draw (G) -- (B) -- (Dd); \draw (D) -- (Fd) -- (Ad); \draw[dashed] (Cd.north) -- +(0cm ,6mm ); \draw[dashed] (Gd.north) -- +(0cm ,6mm ); \draw[dashed] (Dd.north) -- +(0cm ,6mm ); \draw[dashed] (Ad.north) -- +(0cm ,6mm ); \draw[dashed] (F.south) -- +(0cm ,-6mm); \draw[dashed] (C.south) -- +(0cm ,-6mm); \draw[dashed] (G.south) -- +(0cm ,-6mm); \draw[dashed] (D.south) -- +(0cm ,-6mm); \draw[dashed] (F.west) -- +(-6mm,0cm ); \draw[dashed] (A.west) -- +(-6mm,0cm ); \draw[dashed] (Cd.west) -- +(-6mm,0cm ); \draw[dashed] (Ad.east) -- +(6mm ,0cm ); \draw[dashed] (Fd.east) -- +(6mm ,0cm ); \draw[dashed] (D.east) -- +(6mm ,0cm ); \end{tikzpicture} \label{fig:cayley}} %\caption{Répartition spatiale des intervalles en tant que %tonnetz~\subref{fig:tonnetz} et en tant que graphe de %Cayley~\subref{fig:cayley}} \caption{Répartition spatiale des intervalles en tant que tonnetz et en tant que graphe de Cayley} \end{figure} Le musicologue Hugo Riemann a beaucoup exploré ce mode de représentation des relations intervaliques entre notes pour soutenir son système liant les triades majeures et mineures. En gardant l'agencement d'Euler et en récupérant une triangulation de l'espace, on obtient immédiatement toutes les triades Majeures et mineures de la gamme agencées par tonalités voisinnes, comme Do Majeur (La mineur) est la tonalité relative Majeure (mineure) à La mineur (Do Majeur) respectivement, comme on peut le voir sur la figure~\ref{fig:trig}. \begin{figure}[p] \centering \subfloat[Triangulation d'accords sur un graphe de Cayley, en exemple Do Majeur (gris clair) et La mineur (gris foncé)]{ \begin{tikzpicture} [note/.style={draw,black,circle,inner sep=.5mm,minimum size=8mm}, label distance=-1mm,label position=above right, double distance=.5mm,scale=.30\textwidth/7.2cm] \node[note] (F) at (0cm,0cm) {Fa }; \node[note,double] (C) at (2cm,0cm) {Do }; \node[note] (G) at (4cm,0cm) {Sol }; \node[note] (D) at (6cm,0cm) {Ré }; \node[note] (A) at (0cm,2cm) {La }; \node[note] (E) at (2cm,2cm) {Mi }; \node[note] (B) at (4cm,2cm) {Si }; \node[note] (Fd) at (6cm,2cm) { Fa♯}; \node[note] (Cd) at (0cm,4cm) { Do♯}; \node[note] (Gd) at (2cm,4cm) {Sol♯}; \node[note] (Dd) at (4cm,4cm) { Ré♯}; \node[note] (Ad) at (6cm,4cm) { La♯}; \draw (F) -- (C) -- (G) -- (D); \draw (A) -- (E) -- (B) -- (Fd); \draw (Cd) -- (Gd) -- (Dd) -- (Ad); \draw (F) -- (A) -- (Cd); \draw (C) -- (E) -- (Gd); \draw (G) -- (B) -- (Dd); \draw (D) -- (Fd) -- (Ad); \begin{scope}[opacity=.8] \filldraw[lightgray] (C.center) -- (E.center) -- (G.center) -- cycle; % DOM \filldraw[gray] (C.center) -- (E.center) -- (A.center) -- cycle; % Lam \end{scope} \draw (Cd) -- (E); \draw (Gd) -- (B) -- (D); \draw (Dd) -- (Fd); \draw[dashed] (Cd.north) -- +(0cm ,6mm ); \draw[dashed] (Gd.north) -- +(0cm ,6mm ); \draw[dashed] (Dd.north) -- +(0cm ,6mm ); \draw[dashed] (Ad.north) -- +(0cm ,6mm ); \draw[dashed] (F.south) -- +(0cm ,-6mm); \draw[dashed] (C.south) -- +(0cm ,-6mm); \draw[dashed] (G.south) -- +(0cm ,-6mm); \draw[dashed] (D.south) -- +(0cm ,-6mm); \draw[dashed] (F.west) -- +(-6mm,0cm ); \draw[dashed] (A.west) -- +(-6mm,0cm ); \draw[dashed] (Cd.west) -- +(-6mm,0cm ); \draw[dashed] (Ad.east) -- +(6mm ,0cm ); \draw[dashed] (Fd.east) -- +(6mm ,0cm ); \draw[dashed] (D.east) -- +(6mm ,0cm ); \end{tikzpicture} \label{fig:trig}} \quad \subfloat[Dual du graphe de Cayley mettant en exergue une structure hexagonale]{ \begin{tikzpicture} [note/.style={draw,black,circle,inner sep=2mm}, hex/.style={}, label distance=-1mm,label position=below left, double distance=.5mm,scale=.50\textwidth/9.2cm] \begin{scope}[opacity=.5] \node[note] (F) at (-1cm,0cm) {}; \node[note,double] (C) at ( 1cm,0cm) {}; \node[note] (G) at ( 3cm,0cm) {}; \node[note] (D) at ( 5cm,0cm) {}; \node[note] (A) at ( 0cm,2cm) {}; \node[note] (E) at ( 2cm,2cm) {}; \node[note] (B) at ( 4cm,2cm) {}; \node[note] (Fd) at ( 6cm,2cm) {}; \node[note] (Cd) at ( 1cm,4cm) {}; \node[note] (Gd) at ( 3cm,4cm) {}; \node[note] (Dd) at ( 5cm,4cm) {}; \node[note] (Ad) at ( 7cm,4cm) {}; \draw (F) -- (C) -- (G) -- (D); \draw (A) -- (E) -- (B) -- (Fd); \draw (Cd) -- (Gd) -- (Dd) -- (Ad); \draw (F) -- (A) -- (Cd); \draw (C) -- (E) -- (Gd); \draw (G) -- (B) -- (Dd); \draw (D) -- (Fd) -- (Ad); \draw (Cd) -- (E) -- (G); \draw (Gd) -- (B) -- (D); \draw (Dd) -- (Fd); \draw (A) -- (C); \node (1u) at (barycentric cs:A=1,Cd=1,E=1) {}; \node (2u) at (barycentric cs:Gd=1,B=1,E=1) {}; \node (3u) at (barycentric cs:B=1,Dd=1,Fd=1) {}; \node (4u) at (barycentric cs:F=1,A=1,C=1) {}; \node (5u) at (barycentric cs:E=1,G=1,C=1) {}; \node (6u) at (barycentric cs:B=1,G=1,D=1) {}; \node (1d) at (barycentric cs:Cd=1,Gd=1,E=1) {}; \node (2d) at (barycentric cs:Dd=1,Gd=1,B=1) {}; \node (3d) at (barycentric cs:Dd=1,Ad=1,Fd=1) {}; \node (4d) at (barycentric cs:A=1,E=1,C=1) {}; \node (5d) at (barycentric cs:G=1,E=1,B=1) {}; \node (6d) at (barycentric cs:D=1,Fd=1,B=1) {}; \draw[dashed] (Cd.north) -- +(0cm ,6mm ); \draw[dashed] (Gd.north) -- +(0cm ,6mm ); \draw[dashed] (Dd.north) -- +(0cm ,6mm ); \draw[dashed] (Ad.north) -- +(0cm ,6mm ); \draw[dashed] (F.south) -- +(0cm ,-6mm); \draw[dashed] (C.south) -- +(0cm ,-6mm); \draw[dashed] (G.south) -- +(0cm ,-6mm); \draw[dashed] (D.south) -- +(0cm ,-6mm); \draw[dashed] (F.west) -- +(-6mm,0cm ); \draw[dashed] (A.west) -- +(-6mm,0cm ); \draw[dashed] (Cd.west) -- +(-6mm,0cm ); \draw[dashed] (Ad.east) -- +(6mm ,0cm ); \draw[dashed] (Fd.east) -- +(6mm ,0cm ); \draw[dashed] (D.east) -- +(6mm ,0cm ); \end{scope} \draw[hex] (1u.center) -- (1d.center) -- (2u.center) -- (2d.center) -- (3u.center) -- (3d.center); \draw[hex] (4u.center) -- (4d.center) -- (5u.center) -- (5d.center) -- (6u.center) -- (6d.center); \draw[hex] (1u.center) -- (4d.center); \draw[hex] (2u.center) -- (5d.center); \draw[hex] (3u.center) -- (6d.center); \draw[hex,dashed] (1d.center) -- +(0, 1.5cm); \draw[hex,dashed] (2d.center) -- +(0, 1.5cm); \draw[hex,dashed] (3d.center) -- +(0, 1.5cm); \draw[hex,dashed] (4u.center) -- +(0,-1.5cm); \draw[hex,dashed] (5u.center) -- +(0,-1.5cm); \draw[hex,dashed] (6u.center) -- +(0,-1.5cm); \draw[hex,dashed] (1u.center) -- +(150:1.0cm); \draw[hex,dashed] (4u.center) -- +(150:1.0cm); \draw[hex,dashed] (3d.center) -- +(-30:1.0cm); \draw[hex,dashed] (6d.center) -- +(-30:1.0cm); \end{tikzpicture} \label{fig:dual}} \caption{Triangulation d'accords et dual se rapportant à un graphe de Cayley} \label{fig:cayley-use} \end{figure} \section{Formalisation} \subsection{Un tonnetz comme graphe de Cayley} \label{subsec:tonnetz-cayley} %(thèse de julien cohen) Le graphe de Cayley d'un groupe G permet de visualiser les éléments de G et leur relation de voisinnage. Soit G un groupe et S une partie génératrice de G~: \begin{itemize} \item chaque sommet $V_i$ représente un élément du groupe $G$, \item chaque arc $e_i$ est étiqueté par un générateur de $S$, \item un arc étiqueté $e$ setrouve entre les sommets $U$ et $V$ si $U + e = V$. \end{itemize} Un tonnetz peut être vu comme le graphe de Cayley de la présentation finie d'un groupe, en l'occurence du groupe cyclique $\mathbb{Z}_{12}$ des 12 demi-tons de la gamme occidentale, muni de l'addition comme loi commutative et d'une partie génératrice $S$. Pour garder l'analogie dans la figure \ref{fig:cayley}, nous utilisons deux générateurs : la tierce Majeure (\texttt{4}) et la quinte juste (\texttt{7}). Le sommet à l'origine du graphe de Cayley est l'élément \emph{neutre} du groupe. Dans nos exemples, nous utilisons la présentation finie suivante : $$ g_{4,7} = < 4, 7\ |\ 3\cdot4=0, 12\cdot7=0 > $$ Dans le graphe de Cayley associé à cette présentation, l'espace se replie sur lui même après 4 « sauts » de tierce Majeure ou 12 « sauts » de quinte juste, on a ainsi un tore. %Chemins hamiltoniens dans le tonnetz \cite{albini_hamiltonian_2009}. \subsection{Quelques mappings} Pour apporter des éléments de réponse aux questions des physiciens (§~% \ref{subsec:mousses}), nous proposons les mappings suivants. Le premier porte sur l'aspect signal et entre de ce fait complètement dans le cadre de la sonification classique, les trois suivantes tirent partie des théories musicales néo-Riemanniennes et portent sur des études rythmiques et mélodiques. \subsubsection{Synthèse modale} Un objet physique vibre librement après avoir été excité et présente des modes propres de vibration dépendant entre autres de sa géométrie et des matériaux le constituant. Ces modes peuvent être observés sur le spectre des fréquences du signal émis et sont utilisés par \modalys\ pour sauvegarder l'empreinte sonore d'un objet physique. Le signal émis est un timbre particulier que notre système auditif \emph{reconnaît} et associe à l'objet qui l'a émis. Par exemple, une cuiller en bois tombant au sol a un son caractéristique et facilement différenciable d'une cuiller en métal. Nous utilisons cette capacité de reconnaissance pour reconnaître et différencier différentes organisations spatiales des bulles dans une mousse en deux dimensions et plus tard reconnaître leur évolution. La synthèse modale est un cas de sonification classique. Nous associons un résonnateur à chaque bulle de la mousse, ainsi les paramètres de la bulle servent à déterminer les paramètres du résonnateur. Ce dernier est modélisé très simplement par une fonction oscillante atténuée : $$ cos(a\cdot t)\cdot e^{-k\cdot t} $$ Nous additionnant ensuite le signal obtenu pour chaque bulle ; les paramètres à régler sont la largeur de bande de fréquence de destination et sa borne inférieure Ce premier mapping se veut très simple afin de déterminer quelles informations sont très facilement accessibles à l'ouïe. L'implémentation (§~\ref{sec:implementation}) a été menée en utilisant \modalys. \subsubsection{Chemins rythmiques} À l'image d'un exemple de sonification du §~\ref{subsec:sonification}, le compteur Geiger, nous pouvons utiliser le rythme comme lien à l'organisation spatiale des bulles d'une mousse liquide en deux dimensions. \begin{figure}[ht] \centering \subfloat[En pointillés, $(\Delta)$ traverse la mousse. Les centres des bulles proches sont sélectionnés]{ \includegraphics[width=.45\textwidth]{img/chemin-rythm1} \label{fig:rythm1}} \qquad \subfloat[Projection orthogonale des centres de bulles sur $(\Delta)$ pour obtenir une phrase rythmique]{ \includegraphics[width=.45\textwidth]{img/chemin-rythm2} \label{fig:rythm2}} \caption{Extraction d'une phrase rythmique dans une mousse en deux dimensions} \end{figure} On parcours par balayage le long d'une segment de droite $(\Delta)$ l'image d'une mousse en sélectionnant tous les centres des bulles étant à une distance $d$ de la droite. Ces échantillons récoltés sont ensuites projetés orthogonalement sur $(\Delta)$. On sonifie ensuite la distance entre chaque point projeté pour obtenir un motif rythmique : nous avons ainsi une information en une dimension en traversant un échantillon et nous pouvons détecter une symétrie axiale d'axe orthogonal à $(\Delta)$. Cette technique est mise en pratique de manière plus générale par S. Adhitya dans \textsc{Sum} \cite{adhitya_audio-assisted_2011}, un outil permettant de sonifier l'organisation urbaine à partir de plans surimposés. \subsubsection{Chemins sonores} Les mappings précédents décrivent soit de manière globale le système en omettant des irrégularités locales, soit de manière locale mais restreinte à une dimension ; nous sommes intéressés par des variations au niveau local mais en deux dimension, afin par exemple de trouver des zones d'ordre parmis un désordre moyen avec des chemins plus complexes. \begin{figure}[p] \caption{Schéma de la sonification des chemins dans un système physique en deux dimensions} \end{figure} Pour ce faire, nous utilisons le lien mis en lumière précédemment (§~\ref{subsec:tonnetz-cayley}) entre tonnetz et graphe de Cayley afin de \emph{musifier} des parcours dans une mousse plus ou moins régulière. Un chemin dans une mousse est une suite de sauts entre bulles voisinnes. Nous numérotons de manière unique le voisinnage de chaque bulle et nous indiquons ainsi un chemin par une suite d'entiers correspondant aux directions à prendre. Dans le graphe de Cayley du groupe $\mathbb{Z}_{12}$, chaque élément a six voisins, en prenant les directions \texttt{a}, \texttt{b}, \texttt{a+b}, \texttt{-a}, \texttt{-b} et \texttt{-(a+b)}. Plongé dans un tonnetz, ceci correspond à une suite de notes. \subsubsection{Chemins augmentés} Nous avons rajouté des extensions au dessus des chemins sonores tels que décrits dans la section précédente : accords, mélodies plus complexes et rythme. L'usage d'accords nous permet de comparer immédiatement deux parcours simultanés, les mélodies nous permettent de déformer des thèmes connus (par exemple la comptine Frère Jacques) et le rythme rajoute une information sur les différences de distance entre le parcours dans un espace \emph{régulier} et déformé. \section{Implementation} \label{sec:implementation} Tous les mappings ont été implémentés grâce aux outils présents à l'\ircam, notamment \modalys, pour la synthèse modale, et \openmusic\ comme environnement de programmation principal. D'autres outils ont été employés pour les tests mais n'ont été utilisés pour l'implémentation finale : Max et \textsc{Mgs}. \subsection{Modalys} \modalys\ (anciennement appelé Mosaïc) est un outil de synthèse modale par modèle physique basée sur \lisp\ \cite{eckel_sound_1995}. Cet outil permet de modéliser un objet physique et une (ou des) interaction(s) avec ce dernier . \modalys\ simule les modes de vibration de cet objet et calcul le signal reçu à un point donné de l'espace. Par exemple, le chevalet d'un violon alto et l'archer frottant sur la corde pourraient être respectivement l'objet modélisé et l'interaction. Le profil vibratoire (??) d'un objet modélisé peut être sauvegardé comme une liste de modes propres de vibration (fréquence, bande passante, amplitude). \subsection{OpenMusic} Environnement de programmation visuelle et fonctionnelle basée sur \lisp\ (LispWorks). Développé par G. Assayag et C. Agon. La programmation s'effectue à base de patch, que l'on peut connecter à l'aide de liens en sortie et en entrée pour passer des valeurs, un patch pouvant faire office de fonction anonyme à passer à un autre patch ou à une fonction écrite en \lisp\ directement. Plusieurs primitives de \modalys\ sont directement accessibles dans \openmusic. \section{Validation} Chaque mapping a été testé avec différents paramètres et sur différents échantillons de départ. \subsection{Un protocole pour la validation} Nous proposons ici un modeste protocole pour la validation des données \subsection{Écoutes préliminaires} Détection d'ordre changeant fortement lors d'un épisode catastrophique, données de simulation, identification de battements. \section{Perspectives} De part la courte durée du stage et de part le côté fortement exploratoire du sujet, certaines parties n'ont été que partiellement traitées et d'autres n'ont été qu'entrevues. Voici quelques explications sur les points insuffisamment abordés. \subsection{Une amélioration des mapping} comparaison delaunay / voisin mousse Un meilleur traitement local/global (id Laurent) \subsection{Une validation approfondie} Écoutes beaucoup sujets, statistiques \subsection{Développement d'un cadre général} Fait l'objet d'un sujet de thèse à l'\textsc{Édite} de Paris VI.