diff --git a/content.tex b/content.tex index 4e0df36..09d0758 100644 --- a/content.tex +++ b/content.tex @@ -233,7 +233,7 @@ dimensions à partir d'un état de type désordonné (figure~\ref{fig:desordonne \begin{figure}[p] \centering \includegraphics[width=.8\textwidth]{img/foam-time} -\caption{Graphe de l'évolution temporelle de la taille moyenne normalisée des +\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} @@ -267,6 +267,10 @@ 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} +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 compris. Le +paramètre $/$ décrit ici l'évolution du système. Ces trois figures +proviennent de \cite{drenckhan_presentation_2012}. 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 @@ -525,7 +529,7 @@ 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 +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}. @@ -673,12 +677,36 @@ double distance=.5mm,scale=.50\textwidth/9.2cm] \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} +\medskip +On s'intéressera à trois structures musicales pour \emph{musifier} les bulles +d'un 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 de M1, page \pageref{subsec:modal}). +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 commes intervalles de temps. + +\clearpage +\section{Méthode} \subsection{Un tonnetz comme graphe de Cayley} \label{subsec:tonnetz-cayley} %(thèse de julien cohen) @@ -691,30 +719,36 @@ G~: \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 > $$ +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é additivement car nous sommes dans un groupe abélien : +$$ g_{4,7} = < 4, 7\ |\ 3+4=0, 12+7=0 > $$ + +\begin{figure}[p] +\caption{Chemins dans un graphe de Cayley} +\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. +on a ainsi un tore. Nous travaillons dans un dépliage de ce 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. +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 suivantes +tirent partie des théories musicales néo-Riemanniennes et portent sur des +études rythmiques et mélodiques. -\subsubsection{Synthèse modale} +\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 @@ -722,25 +756,41 @@ 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. +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. -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. -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. +\begin{table}[h!] +\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} -\subsubsection{Chemins rythmiques} +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. @@ -762,42 +812,170 @@ obtenir une phrase rythmique]{ 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)$. +$d$ de la droite (figure \ref{fig:rythm1}). Ces échantillons récoltés sont +ensuites 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)$. La liste des paramêtres peut être +consultée dans la table \ref{tab:param2}. -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. +\begin{table}[ht] +\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} -\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. +Une technique similaire est mise en œuvre 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{Remarque et extension des chemins rythmiques} +Nous remarquons que pour M$_2$, M$_3$ et M$_3$ on veut explorer un espace (2D) +mais en cheminant le long d'un chemin (1D). Cette démarche est intéressante et +logique pour les raisons suivantes : +\begin{itemize} +\item 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é ; +\item 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 ; +\item 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 n'être constitué que de segment de +droite. +\end{itemize} + +On peut imaginer une famille de courbes $(H_0,H_1,H_2)$ qui remplissent de +mieux en mieux l'espace, $H_i$ approche et aggrège les parcelles. + +\begin{figure}[ht] +\caption{famille de courbes} +\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 aggrégeant les +valeurs des bulles à une distance $D$, $D$ dépendant de l'itération de la +courbe de Hilbert : plus l'itération est élevée et plus $D$ est petit. +Arrivé à une segmentation de l'espace proche 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). + +\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}[p] \caption{Schéma de la sonification des chemins dans un système physique en deux dimensions} +\label{fig:M3} \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. +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 espace pavé de notes. +Ce dernier, plongé dans l'espace, est ensuite déformé au gré de l'évolution du +système. -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. +%--- +\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 hexagone correspond une note. Toutes +les transformations se font sur une base métrique. -\subsubsection{Chemins augmentés} -Nous avons rajouté des extensions au dessus des chemins sonores tels que +\begin{figure}[ht] +\caption{Numérotation unique des voisins d'une bulle} +\label{fig:num} +\end{figure} + +Un chemin dans une mousse est une suite de sauts entre bulles voisines. Plongé +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 voisinnage 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 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 +coordoné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. + +\begin{table}[ht] +\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. @@ -807,20 +985,25 @@ 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é. +\clearpage \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}. +D'autres outils ont été employés pour les études préliminaires mais n'ont été +utilisés pour l'implémentation finale : Max et \textsc{Mgs}. + +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. \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 . +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é @@ -839,6 +1022,9 @@ office de fonction anonyme à passer à un autre patch ou à une fonction écrit en \lisp\ directement. Plusieurs primitives de \modalys\ sont directement accessibles dans \openmusic. +\subsection{Mappings} + + \section{Validation} Chaque mapping a été testé avec différents paramètres et sur différents échantillons de départ.