% 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 la sonification 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 de l'\ircam\ a développé des environnements informatiques originaux intégrant des concepts théoriques modélisant l'analyse musicale à l'aide de structures mathématiques. Ces environnements musicaux peuvent être appliqués au cas de la sonification des systèmes complexes. Plus précisément, ce stage prend pour hypothèse que la musique peut aider le processus de sonification (on parlera ainsi de « musification » des données) 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 une représentation géométrique de l'espace des hauteurs en musique, connue comme le \emph{Tonnetz}, et des outils algébriques tel que le graphe de Cayley puis 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 leur position 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 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{description} \item [Audification] Cette technique 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 [Auditory Icons et Earcons] Ce 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 [Model Based Sonification] Cette méthode 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} ; \item [Parameter Mapping Sonification (PMS)] Avec cette approche, on relie les paramètres du système aux paramètres du rendu sonore. \end{description} 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 renseigne 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 \pgfdeclarelayer{background} \pgfsetlayers{background,main} \begin{tikzpicture}[align=center, every node/.style={auto}] \node (phystate) {État local du système}; \node (phyobs) [below=of phystate] {Observables}; \node (sonrel) [right=of phystate] {Relations sonores\\(analogiques)}; \node (musrel) [above=of sonrel] {Relations musicales\\(symboliques)}; \node (sonobs) [below=of sonrel] {Objets sonores}; \node (phyrel) [above=of phystate] {État global du système\\Lois du système}; \node (qt) at (barycentric cs:musrel=1,phyrel=1) [black,yshift=1cm] {?}; \node (qb) at (barycentric cs:phyobs=1,sonobs=1) [black,yshift=-1cm,font=\scriptsize] {mappings\\sonification/musification}; \draw[thick,->, dotted] (phyobs) -- (phystate); \draw[thick,->, dotted] (phystate) -- (phyrel); \draw[black,thick,->] (phyobs) |- (qb) -| (sonobs); \draw[black,thick,font=\scriptsize,->] (sonobs) to node [swap,text width=21mm] {perception (IHM)} (sonrel); \draw[black,thick,->,dotted] (sonrel) to node [swap] {?} (phystate); \draw[black,thick,->] (sonrel) to (musrel); \draw[black,thick,->] (musrel.north) |- (qt) -| (phyrel.north); \begin{pgfonlayer}{background} \node[draw=gray,dashed,thick,fill=gray!10,inner sep=5mm,xshift=3mm,yshift=-4mm, fit=(phystate) (sonrel) (sonobs) (phyobs) (qb)] {}; \end{pgfonlayer} \end{tikzpicture} \caption{Place de la musification dans le cycle des transformations pour la recherche de relations dans un système complexe par sonification (la partie encadrée correspond à une PMS classique, tandis que le reste se rapporte à la musification)} \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 et même si au moins une méthode automatique existe \cite{schmidt_distilling_2009}, elle reste pour l'instant limitée à des cas particuliers. Il est alors intéressant de passer par une sonification du système (figure~\ref{fig:dico}). En utilisant la 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 et thèse Vogt Le domaine de la sonification scientifique en physique est bien détaillé dans \cite{vogt_sonification_2010} et il existe plusieurs outils et environnements pour la recherche de relations par PMS \cite{candey_xsonify_2006} \cite{pauletto_toolkit_2004} \cite{walker_sonification_2003}, cependant aucun ne tirent réellement parti du côté fortement structurel de la musique. Pourtant, la musique a de réels atouts au sein de la sonification et c'est pourquoi nous introduisons la musification. \subsection[À la musification]{\ldots\ à la musification} Une approche de notre problème par les techniques de sonification classiques nous semble limitée 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 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 PMS et nous permet de \emph{dépasser} la sonification pour aller vers la musification. Nous utilisons ces observations pour musifier un système complexe physique, les mousses liquides en deux dimensions. \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, par exemple de l'eau savonneuse et de l'air, constitué de poches de gaz (bulles) dans le liquide. Les interfaces sont constituées de molécules à la fois hydrophobes et hypdrophiles à travers lesquelles, suivant la pression, le gaz d'une bulle passe à une autre. Au cours de l'évolution temporelle de la mousse, certaines bulles grossissent et d'autres diminuent de volume, jusqu'à disparaître. Si le comportement de ces mousses liquides est aujourd'hui bien connu, il n'en a pas toujours été ainsi. Il a fallu plusieurs années de recherche pour isoler le «~bon~» paramètre parmi tous, c'est-à-dire celui le plus à même de décrire le comportement du système. L'hypothè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 l'aire 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} (ces trois figures proviennent de \cite{drenckhan_presentation_2012}). Dans ce graphe, on observe l'évolution de l'aire moyenne des bulles au cours du temps. 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) et il est également très difficile, si ce n'est \emph{impossible de le voir}. \end{enumerate} Il faut bien comprendre que ce graphe est réalisé \emph{a posteriori}, une fois que le fonctionnement du système a été découvert et bien compris. Dans l'exemple illustré ici, c'est le graphe $/$ qui décrit l'évolution de la surface moyenne normalisée des bulles qui caractérise l'évolution du système et permet de distinguer trois phases dans la vie du système. De manière générale, le physicien doit trouver, dans la masse des données expérimentales, les relations qui permettent de caractériser l'état d'un système et son évolution. L'hypothèse qui est explorée dans ce travail est que la musification permet, au même titre que la visualisation scientifique, d'explorer cette masse de données et de rendre explicite les relations qui y sont cachées. Comme présenté dans la figure~\ref{fig:dico}, on doit pouvoir repérer des relations à différentes \emph{échelles} à la fois locale et globale (respectivement micro et macroscopique), ce que la musification nous fournit d'emblée de part la correspondance naturelle entre les échelles musicales et les différents niveaux de structure du système physique. \medskip Nous opérons en aveugle, sans \emph{a priori} fort sur les mousses et leur agencement. 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 dimensions 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 une approche computationnelle en analyse musicale connue comme la \emph{Set Theory}. \subsection{Une vue sur la théorie musicale} \label{subsec:music} Nous nous contenterons d'une description générale de 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 collections de hauteurs et de relatifs intervalles musicaux : la \emph{Set Theory}~\cite{forte_structure_1973} \cite{rahn_basic_1987} \cite{andreatta_autour_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 distance 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$_3$ a, par définition, une fréquence de 440~Hz et le La$_2$, à l'octave inférieure, a pour fréquence $f(La_3) / 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 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égiant. \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 note 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 voisines, 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} \medskip On s'intéressera à trois structures musicales pour \emph{musifier} les bulles d'une mousse : \begin{itemize} \item les \textbf{relations harmoniques} comme la donnée d'un accord ou d'un timbre. Un accord est une superposition de notes alors qu'un timbre est plutôt une composition de fréquences (dans le cas du mapping M$_1$, détaillé à la page \pageref{subsec:modal} de ce mémoire). C'est une donnée ponctuelle, instantanée, permettant de valider immédiatement un critère sonore. Par exemple, pour le timbre : « c'est une trompette ! » ou bien pour la justesse : « cet accord est très dissonant » ; \item les \textbf{relations mélodiques} comme une succession d'évènements sonores se déployant dans le temps, ces évènements pouvant être des structures harmoniques. On peut évaluer la similarité à un air connu : « on dirait Frère Jacques » ou s'attendre à un développement musical : « Il va de nouveau y avoir cette même phrase mélodique » ; \item les \textbf{relations rythmiques} sont aussi une succession d'évènements s'étalant dans le temps. \textit{A contrario}, on se concentre uniquement sur le moment où arrive l'évènement (onset) et pas sur sa nature. On peut par exemple reconnaître des \emph{ostinati} rythmiques. \end{itemize} Ces trois structures musicales s'appuient sur l'analyse des intervalles : de manière évidente pour harmonique et mélodique, les relations rythmiques sont analysables comme intervalles de temps. Ces trois dernières sont mises en pratique pour la musification de notre système. \section{Méthode} % Où on en est ? Nous avons établi le principe de sonification et son extension, la musification. % Problème ? Nous souhaitons maintenant trouver et établir, pour le système physique que nous venons de décrire, des méthodes permettant de mettre en avant ses différents niveaux de structure. % Solution ? Quatre méthodes (appelées mappings, en référence à la PMS) sont présentées dans cette section, d'abord très axées sur la sonification traditionnelle (M$_1$, un seul niveau de description) puis plus structurées dans l'optique d'une musification : rythmique (M$_2$), mélodique (M$_3$) et enfin musicaux (M$_4$). Nous commencerons par établir les liens existants entre Tonnetz et Graphe de Cayley, notion nécessaire aux mappings à venir. \subsection{Un tonnetz comme graphe de Cayley} \label{subsec:tonnetz-cayley} %(thèse de julien cohen) Le graphe de Cayley de la présentation finie d'un groupe G permet de visualiser les éléments de G et leur relation de voisinage. 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$ se trouve entre les sommets $U$ et $V$ si $U + e = V$. \end{itemize} \medskip 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, notée additivement car nous sommes dans un groupe commutatif : $$ g_{4,7} = < 4, 7\ |\ 3.\mathbf{4} + 0.\mathbf{7} = 0,\quad0.\mathbf{4} + 12.\mathbf{7} = 0,\quad4 + 7 = 7 + 4 > $$ \begin{figure}[ht] \centering \subfloat[Chemin fermé universel dans un graphe de Cayley]{ \begin{tikzpicture}[scale=.45\textwidth/4cm] \clip (-15mm,-5mm) rectangle (25mm,15mm); \draw[step=1cm,densely dotted] (-2,-1) grid (3,3); \fill (0,0) circle (2pt); \fill (0,1) circle (2pt); \fill (1,1) circle (2pt); \draw[thick,<->,double] (0,0) -- node[left] {b} node[right] {-b} ++(0,1); \draw[thick,<->,double] (1,1) -- node[below] {-a} node[above] {a} ++(-1,0); \end{tikzpicture} \label{fig:closepath}} \qquad \subfloat[Chemin fermé dans un graphe de Cayley spécifique à la contrainte $a + b = b + a$]{ \begin{tikzpicture}[scale=.45\textwidth/4cm] \clip (-15mm,-5mm) rectangle (25mm,15mm); \draw[step=1cm,densely dotted] (-2,-1) grid (3,3); \fill (0,0) circle (2pt); \fill (0,1) circle (2pt); \fill (1,0) circle (2pt); \fill (1,1) circle (2pt); \draw[thick,->] (0,0) -- node[left] {b} (0,1); \draw[thick,->] (0,1) -- node[above] {a} (1,1); \draw[thick,->] (1,1) -- node[right] {-b} (1,0); \draw[thick,->] (1,0) -- node[below] {-a} (0,0); \end{tikzpicture} \label{fig:closepath2}} \caption{Chemins dans un graphe de Cayley} \label{fig:paths} \end{figure} 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. Nous travaillons dans un dépliage de ce tore. Tout graphe de Cayley possède des chemins fermés, par exemple dans le graphe construit à partir de deux générateurs $a$ et $b$, le chemin suivant décrit par le mot $w$ est fermé en toute généralité (figure~\ref{fig:closepath}): $$ w = a + b + (-b) + (-a) $$ Certains graphes de Cayley possèdent des chemins fermés qui leur sont \emph{spécifiques} ; en reprenant l'exemple précédant augmenté de la contrainte de commutativité $ a + b = b + a $, on obtient un autre chemin fermé décrit par le mot $w$ (figure~\ref{fig:closepath2}) : $$ w = a + b + (-a) + (-b) $$ \subsection{Quelques mappings} Pour apporter des éléments de réponse aux questions des physiciens (§~\ref{subsec:mousses}), nous proposons les mappings M$_1$, M$_2$, M$_3$ et M$_4$ suivants. Le premier porte sur l'aspect signal et entre de ce fait complètement dans le cadre de la sonification classique, les trois suivants tirent partie des théories musicales néo-Riemanniennes et portent sur des études rythmiques et mélodiques. À chaque mapping correspond une table des paramètres : les paramètres de la bulle sont liés directement aux dimensions et descripteurs du système physique, les paramètres du modèle sont ceux liés directement aux dimensions du mapping et qui sont reliés aux précédents et finalement les paramètres arbitraires sont ceux que l'on ne contrôle pas explicitement mais qui influent sur le résultat. \subsubsection{M$_1$ : Synthèse modale} \label{subsec:modal} 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 mode de vibration (virtuel, il ne correspond à aucun objet physique existant) à chaque bulle de la mousse, ainsi les paramètres de la bulle servent à déterminer les paramètres du mode. \begin{table}[hb] \centering \begin{tabular}{|l|l|l|} \hline \textbf{Paramètre de la bulle} & \textbf{Paramètre du modèle} & \textbf{Paramètre arbitraires} \\ \hline Aire & Fréquence & \emph{Aucun}\\ Nombre de voisins & Amplitude & \\ Périmètre & Bande de fréquence & \\ \hline \end{tabular} \caption{Liste des paramètres d'une bulle liée à un mode de vibration} \label{tab:param1} \end{table} Nous additionnons ensuite le signal obtenu pour chaque bulle ce qui construit un timbre ; les paramètres à régler sont détaillés dans la table \ref{tab:param1}. 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{M$_2$ : 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 parcourt 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 (figure \ref{fig:rythm1}). Ces échantillons récoltés sont ensuite projetés orthogonalement sur $(\Delta)$, comme illustré figure \ref{fig:rythm2}. 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)$. Plus précisément, nous avons accès à la densité de centre de bulle tout au long de la droite ; cela nous renseigne à la fois sur la taille des bulles et sur leur répartition le long de $(\Delta)$. La liste des paramètres peut être consultée dans la table \ref{tab:param2}. \begin{table}[hb] \begin{agrandirmarges}{1cm} \centering \begin{tabular}{|l|l|l|} \hline \textbf{Paramètre de la bulle} & \textbf{Paramètre du modèle} & \textbf{Paramètre arbitraires} \\ \hline Position du centre en abscisse & Position de l'évènement sur l'axe du temps & Équation de droite $(\Delta)$ \\ Position du centre en ordonnée & & \\ \hline \end{tabular} \caption{Liste des paramètres d'une bulle liée à un chemin rythmique} \label{tab:param2} \end{agrandirmarges} \end{table} Une technique similaire est mise en œuvre par S. Adhitya dans SUM \cite{adhitya_audio-assisted_2011}, un outil permettant de sonifier l'organisation urbaine à partir de plans surimposés. \subsubsection{Remarque et extension des chemins rythmiques} Nous remarquons que pour M$_2$ (et ce sera aussi le cas pour M$_3$ et M$_4$ que nous verrons ensuite) on veut explorer un espace (2D) mais en cheminant le long d'un chemin (1D). Cette démarche est intéressante et logique car, dans le cas d'un espace homogène, les bulles au cœur du chemin sont « typiques » et représentatives de l'espace non exploré. Cependant, dans le cas d'un espace non homogène (figure \ref{fig:desordonnee}), on n'obtient pas toujours le même résultat suivant le point de départ du chemin, pour un même chemin. Dans ce cas une courbe fractale continue remplissant le plan permettrait d'explorer exhaustivement tout l'espace des bulles, par exemple une courbe de Hilbert, de dimension donnée. Elle a pour intérêt de parcourir tout l'espace en le décrivant, zone par zone et donc d'offrir un aperçu sonore permettant de rendre compte de la « densité » d'un paramètre, par zone. On peut imaginer une famille de courbes $(H_1,H_2,H_3)$ qui remplissent de mieux en mieux l'espace, chaque $H_i$ approchant et agrégeant les parcelles de plus en plus précisément. \begin{figure}[ht] %\draw [opacity=.2,line join=round,line width=1cm, % l-system={Hilbert curve, axiom=L, order=2, step=1cm, angle=90}] \centering \subfloat[Courbe $H_1$, $r = 1.5$]{ \begin{tikzpicture} \clip (-.5,-.5) rectangle (3.5,3.5); \draw [densely dotted] (-1,-1) grid (4,4); \draw [l-system={Hilbert curve, axiom=L, order=1, step=3cm, angle=90}] lindenmayer system; \foreach \i in {0cm,3cm} { \foreach \j in {0cm,3cm} { \fill (\i,\j) circle (2pt); \fill[opacity=.2] (\i,\j) circle (1.5cm); } } \draw[<->|] (0,0) -- node[above left] {$r$} (45:1.5cm); \end{tikzpicture} \label{fig:H1}} \hfill \subfloat[Courbe $H_2$, $r = 0.5$]{ \begin{tikzpicture} \clip (-.5,-.5) rectangle (3.5,3.5); \draw [densely dotted] (-1,-1) grid (4,4); \draw [l-system={Hilbert curve, axiom=L, order=2, step=1cm, angle=90}] lindenmayer system; \foreach \i in {0cm,1cm,2cm,3cm} { \foreach \j in {0cm,1cm,2cm,3cm} { \fill (\i,\j) circle (2pt); \fill[opacity=.2] (\i,\j) circle (0.5cm); } } \draw[<->|] (0,0) -- (45:.5cm); \end{tikzpicture} \label{fig:H2}} \hfill \subfloat[Courbe $H_3$, $r = 3/14$]{ \begin{tikzpicture} \clip (-.5,-.5) rectangle (3.5,3.5); \draw [densely dotted] (-1,-1) grid (4,4); \draw [l-system={Hilbert curve, axiom=L, order=3, step=0.42857143cm, angle=90}] lindenmayer system; \foreach \i in {0cm,.42857143cm,.85714286cm,1.2857143cm,1.7142857cm, 2.1428571cm,2.5714286cm,3cm} { \foreach \j in {0cm,.42857143cm,.85714286cm,1.2857143cm,1.7142857cm, 2.1428571cm,2.5714286cm,3cm} { \fill (\i,\j) circle (2pt); \fill[opacity=.2] (\i,\j) circle (.21428571cm); } } \draw[-|] (0,0) -- (45:.21428571cm); \end{tikzpicture} \label{fig:H3}} \caption{Utilisation de courbes de Hilbert pour remplir progressivement l'espace, en gris la zone moyennée} \label{fig:hilbert} \end{figure} Chaque itération présente un moyennage des valeurs, du plus global au plus local. Chaque « coude » de la courbe de Hilbert est un point agrégeant les valeurs des bulles à une distance $r$ dépendant de l'itération de la courbe de Hilbert : plus l'itération est élevée et plus $r$ est petit (voir la figure~\ref{fig:hilbert}). Arrivé à une segmentation de l'espace en parcelles de taille moyenne proche de la taille moyenne des bulles, nous nous trouvons à un niveau de description très local, puisque chaque coude aura un moyennage des valeurs sur une bulle (dans un espace homogène). On peut donc sonifier chaque point $p_i$ en lui associant une hauteur correspondant, par exemple, au nombre de voisines qu'ont en moyenne les bulles contenues dans le cercle de centre $p_i$ et de rayon $r$. \subsubsection{M$_3$ : Chemins musicaux} Dans la section précédente, nous remplissions le plan avec une courbe fractale continue. Nous pouvons aussi nous servir d'un maillage hexagonal de taille caractéristique initiale réglable. \begin{figure}[ht] \centering \subfloat[$P_2$, pavage hexagonal se rapportant au graphe dual d'un graphe de Cayley]{\includegraphics[width=.3\textwidth]{img/hex}} \qquad\qquad \subfloat[$P_1$, mousse en deux dimensions]{ \includegraphics[width=.3\textwidth]{img/bul}}\\[1cm] \subfloat[Numérotation unique des voisins d'une bulle (convention utilisée)]{ \begin{tikzpicture}[rotate=30,scale=.7, hex/.style={regular polygon, regular polygon sides=6, draw, inner sep=.5cm, transform shape, text width=0}] \node[hex,gray] (5) at ( 30:1.41cm) {}; %5 \node[hex,gray] (6) at ( 90:1.41cm) {}; %6 \node[hex,gray] (1) at (150:1.41cm) {}; %1 \node[hex,gray] (2) at (210:1.41cm) {}; %2 \node[hex,gray] (3) at (270:1.41cm) {}; %3 \node[hex,gray] (4) at (330:1.41cm) {}; %4 \node[hex,thick] (h) at (0,0) {}; \foreach \i in {1,...,6} { \draw[gray,->,dashed] (h.center) -- (\i) node[gray] {\i} ;} \end{tikzpicture} \label{fig:num}} \qquad \subfloat[Projection de deux chemins de $P_2$ à $P_1$. Du plus clair au plus foncé, à gauche, $1, 2, 3, 4, 5$ et à droite $6, 4, 6, 4, 6$]{ \includegraphics[height=.16\textheight]{img/bulandhex} \label{fig:M3d}} \caption{Schéma de la sonification des chemins dans un système physique en deux dimensions} \label{fig:M3} \end{figure} En effet, on ne peut que noter le parallélisme entre l'organisation hexagonale d'une mousse régulière (figure \ref{fig:reguliere}) avec un graphe de Cayley d'une présentation de $\mathbb{Z}_{12}$ (figure \ref{fig:dual}) et par conséquent de son tonnetz associé. Il semble donc naturel de se servir de cette représentation et d'essayer de voir la mousse comme un tonnetz, c'est-à-dire un graphe de notes. Plongé dans l'espace, ce pavage du plan est ensuite déformé au gré de l'évolution du système. %--- \bigskip La figure \ref{fig:M3} présente schématiquement les deux projections $\pi_{12}$ et $\pi_{21}$ des plans $P_1$, l'espace où évolue le système étudié, et $P_2$ l'espace musical sous-jacent où se trouve un pavage hexagonal généré par un graphe de Cayley plongé dans le plan : il forme des hexagones réguliers comme une mousse régulière et à chacun de ces hexagones correspond une note. Toutes les transformations se font sur une base métrique. Un chemin dans une mousse est une suite de sauts entre bulles voisines. Dans un tonnetz, ceci correspond à une suite de notes. Dans le graphe de Cayley de la présentation $g_{4,7}$ 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)}. Nous numérotons de manière unique (figure \ref{fig:num}) le voisinage de chaque bulle et nous indiquons ainsi un chemin par une suite d'identifiants correspondant aux directions (uniques) à prendre. Nous utiliserons par la suite soit des chemins construits à partir de points ou définits comme une succession de directions. Dans tous les cas, deux points consécutifs dans un chemin sont \emph{voisins} dans la mousse ou dans le graphe de Cayley. On construit les projections de la manière suivante : \begin{itemize} \item $\pi_{12}$ : on part du plan $P_1$, dans lequel se trouve un chemin $c$ de longueur $n$ constitué des \emph{points} $p_1$, $p_2$, …, $p_n$. \begin{enumerate} \item On commence par construire une grille hexagonale $P_2$ centrée sur les coordonnées de $p_1$, avec pour taille caractéristique le rayon moyen des bulles. \item Ensuite, on détermine à quelle position se trouve chaque $p_i$ de $P_1$ dans $P_2$ par un changement de coordonnées. \item $p_i$ exprimé dans les nouvelles coordonnées détermine ainsi la note associée. \end{enumerate} \item $\pi_{21}$ : on part du plan $P_2$, dans lequel se trouve un chemin $c$ de longueur $n$ cette fois décrits par \emph{voisinage} $v_1$, $v_2$, …, $v_n$. On souhaites trouver un chemin « équivalent » dans le plan $P_1$ contenant le système physique : \begin{enumerate} \item On sélectionne \emph{arbitrairement} un centre de bulle comme point de départ. \item On détermine quels sont ses voisins et on les numérote. \item On parcours $c$ dans $P_1$ comme on le ferait dans $P_2$, c'est-à-dire en choisissant le prochain voisin à chaque bulle. \item On obtient ainsi un chemin $c'$ constitué des \emph{points} $p_1$, $p_2$, …, $p_n$ dans $P_1$. \end{enumerate} \end{itemize} \bigskip La méthode consiste à écouter comparativement le rendu d'un chemin dans $P_1$ et dans $P_2$ en partant du fait que, si la mousse est régulière, alors les deux rendus sonores seront identiques. L'idée sous-jacente à cette méthode est d'essayer de rendre de manière musicale la \emph{distorsion} entre le réseau de bulles et un réseau hexagonal idéal. En effet, la mousse se relaxe au cours du temps vers un réseau proche d'un réseau hexagonal idéal. S'il est possible d'expliciter à un instant donné combien la mousse diffère de ce réseau, on pourra écouter comment cette distorsion évolue et s'atténue au cours du temps. Dans l'approche développée ici, le « défaut d'hexagonalité » se traduit par une distorsion d'un chemin mélodique dans un tonnetz. À partir de là, on peut écouter des paramètres différents qui rendent compte de cette distorsion. Par exemple : \begin{itemize} \item on peut écouter un objet musical (note, accord, rythme) qui est lié à la distance entre point d'arrivée du chemin idéal et point d'arrivée du chemin déformé ; \item on peut, plus globalement, écouter le chemin correspondant à une mélodie connue, soit en canon (une voix correspondant à un chemin idéal, l'autre correspondant au chemin déformé), soit uniquement l'air déformé (le background culturel commun permettant de détecter immédiatement la différence avec l'air connu). \end{itemize} On peut d'ailleurs noter que, dans l'exemple fourni figure~\ref{fig:M3d}, le chemin de gauche est rendu de manière similaire dans $P_1$ et dans $P_2$, alors que le chemin de droite est clairement déformé dans $P_1$, dû à une irrégularité le long du chemin. \begin{table}[h] \begin{agrandirmarges}{1.5cm} \centering \begin{tabular}{|l|l|l|} \hline \textbf{Paramètre de la bulle} & \textbf{Paramètre du modèle} & \textbf{Paramètre arbitraires} \\ \hline Position du centre en abscisse & Chemin comme suite de voisins & Orientation de $P_1$ par rapport à $P_2$ \\ Position du centre en ordonnée & Rayon moyen d'un hexagone dans la grille & \\ « Rayon » moyen des bulles & & \\ \hline \end{tabular} \caption{Liste des paramètres d'une bulle liée à un chemin musical} \label{tab:param3} \end{agrandirmarges} \end{table} \subsubsection{M$_4$ : Chemins augmentés} Nous avons rajouté des extensions au-dessus des chemins musicaux 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} % État du travail Les mappings M$_1$, M$_2$, M$_3$ et M$_4$ ont été mis en pratique, à l'exception de l'extension des chemins rythmiques à l'aide des courbes fractales continues remplissant le plan. Tous les mappings ont été réalisés avec \openmusic, un langage de programmation graphique (décrit plus en détail §~\ref{subseq:om}), et une bibliothèque logicielle pour ce dernier regroupant les principales fonctions pour la sonification des mousses est en cours de développement, cependant elle est en cours de finalisation et demande encore quelques améliorations. 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 études préliminaires mais n'ont pas été utilisés pour l'implémentation finale : \begin{itemize} \item Max, un environnement de programmation visuelle temps réel dédié aux interactions visuelle et musicale, considéré pour la sonification de M$_1$ et \item MGS, un langage de programmation spatiale \cite{giavitto_topological_2003} \cite{bigo_building_2011}, considéré pour le calcul des projections de M$_3$. \end{itemize} Nous partons à chaque fois des données que nous fournissent les physiciens du \lps. Ces données textuelles sont soit issues d'une simulation du système soit d'une expérience physique en laboratoire. Les informations sont réparties en fichiers, chaque fichier correspondant aux informations liées à une itération du système. Par exemple, le fichier \verb+bubbleList0087.txt+ contient un tableau des paramètres de chaque bulle à l'itération 87 du système, dont voici un aperçu des cinq premières lignes~: \begin{figure}[!h] \begin{agrandirmarges}{1.5cm} \centering\scriptsize \begin{verbatim} refAbs indiceT Xc Yc area perimeter perimeterSquel Voisin areaSquel 7 24 366.29319274879765 34.74824269330374 2703.0 194.2670273047588 220.8940178970694 6 3506.7500000000005 9 9 484.7240557389072 26.99101576824349 2727.0 194.75230867899737 111.60506872273685 3 1777.9735056839017 24 26 73.46391948347892 36.87713634637296 2633.0 192.8528137423857 218.2162989786121 6 3409.2083333333335 25 28 250.1252813203301 46.01950487621905 2666.0 192.2670273047588 217.44392303943744 6 3396.2916666666674 32 34 134.1557126480703 58.96121513183034 2617.0 192.02438661763952 216.35836507129306 6 3353.833333333333 \end{verbatim} \end{agrandirmarges} \end{figure} Nous y trouvons : \begin{description} \item[refAbs] une référence absolue à une bulle qui permet de garder la trace d'une bulle au cours des itérations; \item[Xc, Yc] les coordonnées en abscisse et en ordonnée du centre de la bulle ; \item[area] l'aire de la bulle ; \item[perimeter] le périmètre de la bulle ; \item[Voisin] le nombre de voisines de la bulle. \end{description} Les autres paramètres présents ne sont pas utilisés lors des sonifications. \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 et l'archet 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équences propres, déformées propres et amortissement). \subsection{OpenMusic} \label{subseq:om} \openmusic\ est un langage et environnement de programmation visuelle et fonctionnelle basé sur le Common Lisp Object System (implémentation de LispWorks). Développé par Carlos \textsc{Agon}, Gérard \textsc{Assayag} et Jean \textsc{Bresson}, il a pour but premier d'assister le compositeur en lui fournissant les outils et le formalisme pour exprimer ses idées. La programmation s'effectue à base de patch, des icônes graphiques munies d'entrées (les arguments de la fonction) et de sorties (le ou les résultats de cette fonction), que l'on peut connecter à l'aide de liens pour passer des valeurs (figure~\ref{fig:om}). Un patch peut aussi faire office de fonction anonyme (lambda) à passer à un autre patch ou à une fonction écrite en \lisp\ directement. Plusieurs primitives de \modalys\ sont directement accessibles dans \openmusic. Une fois ces patchs écrits et connectés, on lance l'évaluation de l'ensemble pour obtenir un résultat. On programme ainsi une application en dérivant les données en entrée jusqu'à obtenir le résultat escompté. \openmusic\ est muni d'extensions pour la musique (notation, calcul dédié), le son (extraction de caractéristiques), la spatialisation et même la vidéo. Il permet aussi d'écrire directement des fonctions en \lisp\ et fournit une interface visuelle pour la programmation des boucles, entre autre. C'est un logiciel libre conçu et développé à l'\ircam\ fonctionnant sur MacOS et Windows : ce sont ces arguments qui ont motivé notre choix. \begin{figure}[ht] \begin{agrandirmarges}{.15\textwidth} \includegraphics[width=1.3\textwidth]{img/visual-prog} \caption{Photo d'écran présentant plusieurs fenêtres d'\openmusic\ pendant l'implémentation de M$_3$ et M$_4$} \label{fig:om} \end{agrandirmarges} \end{figure} \subsection{La bibliothèque logicielle \musify} \label{subsec:musify} La bibliothèque logicielle \musify\ a été développée dans le but de regrouper les fonctions nécessaires à la musification d'un système complexe. Elles sont suffisamment génériques pour s'étendre au delà des mousses, tant que le système reste représentable en deux dimensions. Voici la liste provisoire des fonctions retenues (travail en cours) qui se rapportent toutes à M$_3$ et M$_4$ : \begin{description} \item [\texttt{make\_DicoCoord}] Cette fonction prend une liste de $n$ points $(x_1, y_1), \ldots, (x_n, y_n)$ et retourne une table de hachage les contenant avec pour clef un entier indiquant leur ordre : $$ (1: (x_1,y_1)), \ldots, (n: (x_n,y_n))$$ Afin que le traitement des données reste rapide, sans pour autant stocker implicitement des données en mémoire, nous utilisons cette table de hachage pour maintenir le lien entre la référence des nœuds et leur coordonnées ; on peut ainsi passer rapidement de la représentation de graphe à la représentation spatiale plongée dans le plan. \item [\texttt{coord\_to\_bubble}] Cette fonction prend une coordonnée $(x,y)$ et renvoie l'identifiant $i$ correspondant à la bulle \emph{la plus proche}. Cela permet de sélectionner un centre de bulle arbitrairement comme point de départ. \item [\texttt{find\_neighbors}] Cette fonction prend une table de hachage, trouve les voisins de chacun des points dans la table et les numérote de manière unique. Elle retourne une nouvelle table de hachage dans laquelle chaque identifiant est associé aux identifiants de ses voisins : c'est une matrice d'adjacence. Notre implémentation fait appel au logiciel \texttt{qdelaunay} qui calcule une triangulation de Delaunay sur l'ensemble des points. \item [\texttt{dirs\_to\_bubblepath}] Cette fonction prend une liste de directions (des entiers de 1 à 6), une table de hachage contenant le voisinage de chaque bulle, une bulle de départ et retourne une suite d'identifiants de bulles. C'est la première étape de la projection $\pi_{21}$. \item [\texttt{bubblepath\_to\_notes}] Cette fonction prend une liste d'identifiants de bulles, l'aire moyenne des bulles, la table de hachage des voisins, deux paramètres pour générer un tonnetz, une note de départ et retourne une liste de notes sous forme d'entiers. C'est la seconde étape de la projection $\pi_{21}$ où on rend sous forme de note le parcourt d'un chemin dans une mousse. \item [\texttt{dirs\_to\_note}] Cette fonction prend une liste de directions, deux paramètres pour générer un tonnetz, une note de départ et retourne une liste de notes sous forme d'entiers également. On rend sous forme de note le parcours d'un chemin dans le tonnetz. \item [\texttt{dirs\_to\_coord}] Cette fonction prend une liste de directions, l'aire moyenne des bulles, les coordonnées de départ et génère les positions dans le plan des points du chemin parcouru. On parcours ici le tonnetz dans le plan euclidien : cela permet de comparer avec un parcours dans la mousse. \end{description} \section{Validation} Les mappings que nous avons présentés sont des propositions qui ont pour objectif d'explorer l'idée de la musification par rapport à la sonification classique. Nous avons ainsi proposé des approches reposant sur le rythme et la mélodie. Nous espérons que les exemples développés auront convaincu le lecteur du fait qu'ils puissent être facilement être étendus afin de mettre en œuvre des accords, de la polyphonie, etc. Cette validation doit permettre d'établir à quel point un mapping musical est performant pour assister un sujet lors de l'analyse de l'évolution d'un système physique complexe. Chaque mapping a été testé avec différents paramètres et sur différents échantillons de départ. Comme la sonification est une activité impliquant la perception humaine (à l'instar de la visualisation) comme finalité de sa production, il est primordial de valider les résultats obtenus sur un grand nombre de sujet. Ainsi, on s'assure du fait que les résultats obtenus sont bien reproductibles et sont bien liés aux qualités de la technique plutôt qu'à des particularités d'un groupe d'individus. \subsection{Écoutes préliminaires} En utilisant M$_1$, nous pouvons d’ores et déjà entendre un épisode catastrophique lors de l'évolution temporelle d'une mousse. En effet, nous utilisons une bande de fréquence de l'ordre de quelques Hertz en sortie afin d'entendre un phénomène de battement et utilisons les correspondances nombre de voisines/fréquence, aire/amplitude et périmètre/bande de fréquence (voir table~\ref{tab:param1})~: \begin{itemize} \item Une mousse parfaitement ordonnée ne retourne qu'une fréquence unique, car toutes les bulles ont le même nombre de voisines ; \item Une mousse en phase intermédiaire présente des passages avec battements entrecoupés de passages sans battements indiquant les épisodes catastrophiques ; \item Une mousse en phase de « scaling state » ne présente plus de battements car trop de fréquences sont mélangées, c'est plutôt un timbre complexe. \end{itemize} \medskip Avec M$_2$, nous obtenons un résultat similaire : nous pouvons remarquer un épisode catastrophique au niveau local car la phrase rythmique change brusquement et se vide au fur et à mesure que les bulles grossissent. \medskip Avec M$_3$ et M$_4$, nous n'avons pas encore eu le temps d'effectuer d'écoutes préliminaires. \subsection{Un protocole pour la validation} Nous proposons ici une idée de protocole à suivre pour la validation des données expérimentales obtenues. Les sujets sont assis dans un environnement isolé du bruit ambiant (chambre anéchoïde) face à un écran et à un dispositif de pointage qui leur permet de choisir une réponse parmi celles qui sont proposées. % Les constantes sont les facteurs qui ne changent pas. On effectue plusieurs passations (période pendant laquelle on teste l'effet d'un paramètre sur un sujet) avec plusieurs modalités (paramètre que l'on teste). Pendant la modalité «~organisation spatiale~», on vérifie ce qu'un sujet peut reconnaître en prenant pour donnée du système en entrée un état du système à un instant donné. Dans la modalité «~évolution temporelle~», on prend pour donnée une évolution du système. À chaque passation de la modalité «~organisation spatiale~», le sujet compare les 2 échantillons sonores qui lui sont présentés et choisit (Gauche ou Droite) celui qui répond le mieux à la question posée sur l'écran. Ces échantillons sont issus de la sonification de deux échantillons de donnée initiale, avec deux méthodes et mapping des paramètres identiques. On enregistre le choix fait et on réitère en changeant d'abord d'échantillons, de mapping puis de méthode. À chaque passation de la modalité « évolution temporelle », le sujet doit décider s'il a perçu un évènement particulier dans l'échantillon sonore qu'il a entendu (échantillon de 5 à 10 secondes). Cet échantillon est le fruit de la sonification de 4 itérations de la simulation du murissement d'une mousse, avec la même méthode de sonification. On enregistre la réponse (positive, négative) et on réitère en changeant d'échantillon, de mapping puis de méthode. On cherche à déterminer quel mapping de chaque méthode M$_1$, M$_2$ et M$_3$ est le plus efficace pour que le sujet reconnaisse l'information. Afin de limiter la fatigue des sujets, l'expérience ne doit pas durer plus de 15 minutes. \section{Perspectives} De par la courte durée du stage et de par le côté fortement exploratoire du sujet, certaines parties n'ont été que partiellement traitées et d'autres n'ont été qu'entrevues. Une page web\footnote{% \url{http://repmus.ircam.fr/blogteam/potier/list-of-parameter-mappings}} ~hébergée à l'\ircam\ permet d'écouter des échantillons sonores associées aux méthodes M$_1$, M$_2$ et M$_3$ obtenus pendant l'implémentation. \bigskip Voici quelques explications sur les points insuffisamment abordés. \begin{description} \item[Vérification du graphe de voisinage] Le premier point à aborder est celui de la comparaison entre une triangulation de Delaunay et le voisinage \emph{réel} dans une mousse. Comme décrit dans §~\ref{subsec:musify}, nous utilisons une triangulation de Delaunay afin trouver une relation de voisinage entre les bulles, afin de pouvoir décrire un chemin de proche en proche. Un point important à vérifier est donc qu'il soit raisonnable d'utiliser cette méthode comme approximation du voisinage, sachant que le paramètre «~nombre de voisins~» est très important du point de vue des mousses liquides en deux dimensions. \item[Une extension de M$_1$] Une seconde voie d'amélioration serait d'ajouter à M$_1$ une donnée locale en plus du traitement global. Pour le moment, nous considérons chaque bulle comme des entités séparées et sans interaction les unes avec les autres. À l'instar de carreaux hexagonaux en terre cuite que l'on peut trouver dans le midi, suite à un tremblement de terre seuls certains d'entre eux sont fêlés à cause des vibrations. Chacun d'entre eux ayant une fréquence de résonnance et étant accolés les uns aux autres : seuls certains ont cassé et cela à cause d'une amplification locale dûe au voisinage. En partant d'un principe similaire, il serait intéressant de rajouter une interaction entre chaque bulle en prenant en compte les fréquences de résonnance de chacune afin d'amplifier ou d'inhiber ses voisines. \item[Une validation approfondie] La partie de validation n'a malheureusement été que très peu traitée. Il est primordial de mener des campagnes de validation auprès de très nombreux sujets afin de valider statistiquement la pertinence des résultats. \item[Développement d'un cadre général] Comme amorcé avec la bibliothèque logicielle \musify, nous avons pour but de développer un environnement de sonification général permettant l'exploration d'un ensemble de données pour y trouver des relations, de manière semi-automatique, interactive (modèle Human-In-The-Loop) et temps-réel afin que l'utilisateur puisse en permanence obtenir un retour sonore. Ce cadre général vise à être développé dans un sujet de thèse déposé cette année à l'ÉDITE de Paris VI (annexe~\ref{anx:sujet}). \item[Explorer plus de mapping] Par exemple, il faudrait explorer des variantes de M$_3$ avec des accords plutôt que des mélodies. \item[Surchage cognitive] Il serait intéressant de savoir jusqu'à quel point on peut superposer des informations différentes (comme dans M$_4$ : rythme, accord, polyphonie, timbre, etc.) avant d'atteindre un point de surchage cognitive~\cite{paas_cognitive_2004} (qui peut être tout autant un phénomène masquage de fréquence), auquel cas il est inutile de continuer à «~empiler~» l'information. \item[Exploration des mappings] Comment explorer semi-automatiquement les mappings ? On pourrait faire défiler auditivement plusieurs mapping différents du même processus et laisser l'auditeur choisir le plus approprié. Il faut concevoir une interface pour effectuer semi-automatiquement la correspondance afin que l'auditeur puisse affiner lui-même son écoute, parmi un dictionnaire de mapping existant. Il manque un outil générique et très flexible (comme \texttt{gnuplot}) qui, à partir de séries temporelles, produit de la musique (plutôt que des graphiques). \item[Étude systématique des rapports 2D/3D] Afin de pouvoir généraliser ensuite le modèle à trois dimensions, il serait intéressant d'étudier en détail les projections de 3D vers 2D, avec une courbe de Hilbert par exemple, par balayage (comme le principe du radar) ou par une approche voisine de la tomographie discrète (reconstruction d'une image en 2D par l'ensemble des projections du contour en 1D). \end{description}