master-thesis/content.tex

1200 lines
53 KiB
TeX
Raw Normal View History

2012-07-31 09:27:46 +02:00
% 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
2012-08-03 11:26:10 +02:00
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
2012-08-03 11:26:10 +02:00
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.
2012-07-31 09:27:46 +02:00
% De quoi on va parler
\medskip
Nous commencerons par présenter succintement le domaine de la sonification
2012-08-03 11:26:10 +02:00
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.
2012-07-31 09:27:46 +02:00
\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},
2012-08-06 17:19:36 +02:00
Galilée aurait construit et utilisé une rampe (figure~\ref{fig:rampe-full})
2012-07-31 09:27:46 +02:00
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
2012-08-06 17:19:36 +02:00
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.
2012-07-31 09:27:46 +02:00
Cette expérience pratique utilisant le son comme descripteur d'un phénomène
2012-08-03 11:26:10 +02:00
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).
2012-07-31 09:27:46 +02:00
2012-08-03 17:44:51 +02:00
\begin{figure}[p]
2012-07-31 09:27:46 +02:00
\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}
2012-08-03 11:26:10 +02:00
\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é.
2012-07-31 09:27:46 +02:00
2012-08-03 11:26:10 +02:00
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
:
2012-07-31 09:27:46 +02:00
\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}
2012-08-03 11:26:10 +02:00
Pour faire le lien entre données à analyser et son, quelques techniques ont été
2012-07-31 09:27:46 +02:00
référencées dans~\cite{hermann_sonification_2011} :
\begin{itemize}
\item{l'\textbf{Audification}} consiste à écouter le signal brut ou déformé par
2012-08-03 11:26:10 +02:00
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 ;
2012-07-31 09:27:46 +02:00
\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
2012-08-03 11:26:10 +02:00
à jouer des sons préenregistrés et le second peut être l'agencement de
séquences synthétisées connues pour former des « mots » ;
2012-07-31 09:27:46 +02:00
\item{la \textbf{Model Based Sonification}} consiste à créer un \emph{modèle}
2012-08-03 11:26:10 +02:00
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})}.
2012-07-31 09:27:46 +02:00
\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
2012-08-03 11:26:10 +02:00
plutôt intuitive souffre d'un défaut : il existe beaucoup de mappings
possibles.
2012-08-03 17:44:51 +02:00
\begin{figure}[p]
2012-08-03 11:26:10 +02:00
\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
2012-08-06 17:19:36 +02:00
système (figure~\ref{fig:dico}). En utilisant la \textsc{Pms}, on donne une
2012-08-03 11:26:10 +02:00
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}.
2012-07-31 09:27:46 +02:00
\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
2012-08-03 11:26:10 +02:00
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
2012-07-31 09:27:46 +02:00
2012-08-09 15:29:43 +02:00
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.
2012-07-31 09:27:46 +02:00
\subsection{Système étudié : les mousses liquides}
\label{subsec:mousses}
2012-08-03 17:44:51 +02:00
\begin{figure}[p]
2012-07-31 09:27:46 +02:00
\centering
\subfloat[Désordonnée]{
\includegraphics[width=.3\textwidth]{img/foam1}
\label{fig:desordonnee}}
\quad
\subfloat[Partiellement désordonnée]{
2012-08-03 17:44:51 +02:00
\includegraphics[width=.3\textwidth]{img/foam2}
\label{fig:part-des}}
2012-07-31 09:27:46 +02:00
\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
2012-08-03 11:26:10 +02:00
physiciens\footnote{Ref needed} du \lps\ d'Orsay : il s'agit des mousses
2012-08-06 17:19:36 +02:00
liquides en deux dimensions (figure~\ref{fig:mousses-space} et
figure~\ref{fig:mousses-time}). Une mousse liquide est un mélange liquide-gaz,
2012-08-03 17:44:51 +02:00
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]
2012-07-31 09:27:46 +02:00
\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
2012-08-06 17:19:36 +02:00
dimensions à partir d'un état de type désordonné (figure~\ref{fig:desordonnee})}
2012-07-31 09:27:46 +02:00
\label{fig:mousses-time}
\end{figure}
2012-08-03 17:44:51 +02:00
\begin{figure}[p]
\centering
\includegraphics[width=.8\textwidth]{img/foam-time}
\caption{Graphe de l'évolution temporelle de l'aire moyenne normalisée des
2012-08-03 17:44:51 +02:00
bulles d'une mousse liquide en deux dimensions}
\label{fig:mousses-graph}
\end{figure}
%
2012-07-31 09:27:46 +02:00
Deux questions se posent alors :
\begin{enumerate}
2012-08-03 17:44:51 +02:00
\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 ?
2012-07-31 09:27:46 +02:00
\end{enumerate}
Ces deux questions ont orienté notre exploration lors de la
2012-08-03 17:44:51 +02:00
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
2012-08-06 17:19:36 +02:00
l'évolution temporelle d'un paramètre de la figure \ref{fig:mousses-graph}.
Dans ce graphe, on peut noter trois moments importants~:
2012-08-03 17:44:51 +02:00
\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 ;
2012-08-03 17:44:51 +02:00
\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}
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 $<A>/<A_0>$ décrit ici l'évolution du système. Ces trois figures
proviennent de \cite{drenckhan_presentation_2012}.
2012-07-31 09:27:46 +02:00
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
2012-08-06 17:19:36 +02:00
angles de 120° (figure~\ref{fig:plateau3}),
2012-07-31 09:27:46 +02:00
\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
2012-08-06 17:19:36 +02:00
d'environ 109°, figure~\ref{fig:plateau4}).
2012-07-31 09:27:46 +02:00
\end{enumerate}
2012-08-03 17:44:51 +02:00
\begin{figure}[p]
\centering
2012-08-06 17:19:36 +02:00
\subfloat[Point de rencontre de trois «~éléments de surface~»]{
2012-08-03 17:44:51 +02:00
\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);
2012-08-06 17:19:36 +02:00
%\fill (d) circle (.2mm);
%\fill (e) circle (.2mm);
%\fill (f) circle (.2mm);
2012-08-03 17:44:51 +02:00
\end{tikzpicture}
2012-08-06 17:19:36 +02:00
\label{fig:plateau3}
2012-08-03 17:44:51 +02:00
}
\qquad
2012-08-06 17:19:36 +02:00
\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);
2012-08-03 17:44:51 +02:00
\end{tikzpicture}
2012-08-06 17:19:36 +02:00
\label{fig:plateau4}
2012-08-03 17:44:51 +02:00
}
\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
2012-08-06 17:19:36 +02:00
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.
2012-07-31 09:27:46 +02:00
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
2012-08-03 17:44:51 +02:00
en nous fondant sur la set-theory.
2012-07-31 09:27:46 +02:00
2012-08-03 17:44:51 +02:00
\subsection{Une vue sur la théorie musicale}
2012-07-31 09:27:46 +02:00
\label{subsec:music}
2012-08-09 15:29:43 +02:00
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).
2012-07-31 09:27:46 +02:00
2012-08-03 17:44:51 +02:00
\begin{figure}[p]
2012-07-31 09:27:46 +02:00
\centering
\begin{tikzpicture}[note/.style={draw,black,circle},bend left=-40]
\node[note] (C) {Do};
\node[note,right=of C] (D) {};
\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}
2012-07-31 15:07:34 +02:00
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}$
2012-08-06 17:19:36 +02:00
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.
2012-07-31 15:07:34 +02:00
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}$.
2012-08-06 17:19:36 +02:00
On peut utiliser une représentation circulaire comme support visuel pour des
opérations algébriques élémentaires, entre autres :
2012-07-31 09:27:46 +02:00
\begin{itemize}
2012-08-06 17:19:36 +02:00
\item la transposition (rotation sur le cercle, fig. \ref{fig:transposition}) et
2012-07-31 09:27:46 +02:00
\item l'inversion (symétrie sur le cercle, fig. \ref{fig:inversion}),
\end{itemize}
qui constituent une première formalisation algébrique.
2012-08-03 17:44:51 +02:00
\begin{figure}[p]
2012-07-31 09:27:46 +02:00
\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
2012-07-31 09:27:46 +02:00
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
2012-07-31 09:27:46 +02:00
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.}% )))---------------------------------------------
2012-08-06 17:19:36 +02:00
~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
2012-08-06 17:19:36 +02:00
agréable et pratique de pouvoir passer d'une note à une autre en les
privilégiants.
2012-07-31 09:27:46 +02:00
2012-08-03 17:44:51 +02:00
\begin{figure}[p]
2012-07-31 09:27:46 +02:00
\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
2012-08-09 11:14:48 +02:00
présentation finie $g_{4,7}$ du groupe $\mathbb{Z}_{12}$]{
2012-07-31 09:27:46 +02:00
\begin{tikzpicture}
[note/.style={draw,black,circle,inner sep=.5mm,minimum size=8mm},
2012-07-31 09:27:46 +02:00
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) {};
\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♯};
2012-07-31 09:27:46 +02:00
\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}
2012-07-31 09:27:46 +02:00
\end{figure}
2012-07-31 15:07:34 +02:00
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
2012-08-06 17:19:36 +02:00
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
2012-08-06 17:19:36 +02:00
mineur) est la tonalité relative Majeure (mineure) à La mineur (Do Majeur)
respectivement, comme on peut le voir sur la figure~\ref{fig:trig}.
2012-07-31 09:27:46 +02:00
2012-08-03 17:44:51 +02:00
\begin{figure}[p]
2012-07-31 09:27:46 +02:00
\centering
\subfloat[Triangulation d'accords sur un graphe de Cayley, en exemple Do Majeur
(gris clair) et La mineur (gris foncé)]{
2012-07-31 09:27:46 +02:00
\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) {};
\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♯};
2012-07-31 09:27:46 +02:00
\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);
2012-07-31 15:07:34 +02:00
\begin{scope}[opacity=.8]
\filldraw[lightgray]
(C.center) -- (E.center) -- (G.center) -- cycle; % DOM
\filldraw[gray]
(C.center) -- (E.center) -- (A.center) -- cycle; % Lam
2012-07-31 09:27:46 +02:00
\end{scope}
2012-07-31 15:07:34 +02:00
\draw (Cd) -- (E);
\draw (Gd) -- (B) -- (D);
\draw (Dd) -- (Fd);
2012-07-31 09:27:46 +02:00
\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}
2012-07-31 09:27:46 +02:00
\end{figure}
\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}
2012-07-31 09:27:46 +02:00
\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, 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}
2012-08-09 11:14:48 +02:00
Dans le graphe de Cayley associé à cette présentation, l'espace se replie sur
2012-08-09 11:14:48 +02:00
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.
2012-07-31 09:27:46 +02:00
2012-08-12 20:40:08 +02:00
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é :
$$ 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$ :
$$ w = a + b + -a + -b $$
%%Chemins hamiltoniens dans le tonnetz \cite{albini_hamiltonian_2009}.
%Simple topological collections can be defined as \emph{group based fields}
%(GBF), that can be considered as associative arrays whose indexes are elements
%in a group~\cite{giavitto01c}. The group is defined by a \emph{finite
%presentation}:
%$$
%G = \langle
%\GBF{g}_1, \dots, \GBF{g}_n ;
%w_1 = 0, \dots w_n = 0
%\rangle
%$$
%where $G_g = \{ \GBF{g}_i \}$ is a set of generators together with some
%constraints $w_j$ on their combinations: $w_j \in G_g^*$ is a group element
%which equates to zero (we consider here only abelian groups and therefore
%we use an additive notation: 0 denotes the identity element of the group).
%%%
%Thus a GBF can be pictured as a labelled graph where the underlying graph
%is the Cayley graph of the finite presentation. The labels are the values
%associated with the vertices and the generators are associated with the
%edges. In other words, the set of vertices $\PosSet^0 = G$ and there is an
%edge labelled by $\GBF{g}_k \in G_g$ between the vertices $h$ and $h'$ iff
%$h + \GBF{g}_k = h'$.
%
%For instance, in order to define a square grid, we may use two generators
%\GBF{e} (east) and \GBF{n} (north). This is illustrated in the left part of
%Fig.~\ref{fig:grids}.
\begin{figure}[!b]
\begin{center}
\begin{tikzpicture}
\draw[densely dotted] (-.9,-.9) grid (3.9,2.9);
\draw[fill] (1,0) circle (1.5pt) node[above right]
{\GBF{e}};
\draw[fill] (0,2) circle (1.5pt) node[above left]
{$2\cdot\GBF{n}$};
\draw[fill] (0,1) circle (1.5pt) node[above left]
{\GBF{n}};
\draw[fill] (1,2) circle (1.5pt) node[above right,cover]
{$2\cdot\GBF{n}+\GBF{e}$};
\draw[thick,->] (0,0) -- (1,0);
\draw[thick,->] (0,0) -- (0,2);
\draw[thick,->] (0,0) -- (0,1);
\draw[thick,->] (1,0) -- (1,2);
\draw[thick,->] (0,2) -- (1,2);
\draw[fill=white] (0,0) circle (1.5pt) node[below,cover]
{$0\cdot\GBF{n} = 0\cdot\GBF{e}$};
%
\begin{scope}[shift={(8,-.2)},scale=1.2]
\path[clip](-.8,-.8) rectangle (3.1,2.3);
\foreach \x in {-2,...,3}
\foreach \y in {-2,...,3}
\draw[densely dotted] (0,0) ++(0:\x) ++(60:\y) -- ++(60:1)
-- ++(-60:1) -- +(180:1);
\draw[fill] (0,0) ++(60:1) circle (1.5pt) node[above left,cover]
{\GBF{n}};
\draw[thick,->] (0,0) -- ++(60:1);
\draw[fill] (0,0) ++(120:1) circle (1.5pt) node[above,cover]
{\GBF{nw}};
\draw[thick,->] (0,0) -- ++(120:1);
\draw[fill] (0,0) ++(60:2) circle (1.5pt) node[above left,cover]
{$2\cdot\GBF{n}$};
\draw[thick,->] (0,0) -- ++(60:2);
\draw[fill] (0,0) ++(0:1) circle (1.5pt) node[above,cover]
{\GBF{e}};
\draw[thick,->] (0,0) -- ++(0:1);
\draw[fill] (0,0) ++(60:2) ++(0:1) circle (1.5pt) node[above,cover]
{$2\cdot\GBF{n}+\GBF{e}$};
\draw[thick,->] (0,0) ++(60:2) -- ++(0:1);
\draw[very thick,dashed,->] (0,0) -- ++(0:2) -- ++(60:1) -- ++(120:1);
\draw[fill=white] (0,0) circle (1.5pt) node[below,cover,text
width=16mm,text centered] {$0\cdot\GBF{n} = 0\cdot\GBF{e}$\newline
$= 0\cdot\GBF{nw}$};
\end{scope}
\end{tikzpicture}
\end{center}
\caption{Left: a GBF defining a square grid, with two generators
\GBF{e} and \GBF{n}. Right: a GBF defining a triangular grid with
three generators \GBF{e}, \GBF{n} and \GBF{nw}, and a constraint
$\GBF{n} - \GBF{nw} = \GBF{e}$.}
\label{fig:grids}
\end{figure}
%Similarly, an hexagonal grid can be defined by means of three generators
%\GBF{n}, \GBF{e} and \GBF{nw} (north-west) and a constraint $\GBF{n} -
%\GBF{nw} = \GBF{e}$, as illustrated in the right part of
%Fig.~\ref{fig:grids}. As shown by the dashed path, we have
%$2\cdot\GBF{n}+\GBF{e} = 2\cdot\GBF{e} + \GBF{n} + \GBF{nw}$, which can be
%also checked in an algebraic way, by substituting \GBF{nw} with $\GBF{n} -
%\GBF{e}$ in this equality as allowed by the constraint.
%
%\textbf{(A UPDATER)}
%The GBF structure is thus adequate to define the arrangement on a
%grid, in any number of dimensions. In such grids, a distance can be
%naturally defined as the minimum number of steps in order to reach one
%point from the other (this is the approach of \emph{geometric group
% theory}). For instance, in the triangular grid of
%Fig.~\ref{fig:grids}, points at \GBF{e} and \GBF{n} are at distance
%1 because only one step in direction \GBF{nw} is required to reach the
%latter from the former; similarly, points \GBF{n} and
%$2\cdot\GBF{n}+\GBF{e}$ are at distance 2. Let us denote by
%$\Delta(x,y)$ the distance between two points $x$ and $y$. It is easy
%to check that $\Delta(x,y) = \Delta(y,x)$ for any $x$ and $y$.
%
%Such a distance can be used to implement our neighboring relation,
%for instance, for $x \neq y$, we could define:
%%
%$$\delta(x,y) \defeq {1 \over \Delta(x,y)}$$
%%
%which matches the intuition that $\delta(x,y) = 1$ for two immediate
%neighbors while $\delta(x,y)$ converges toward $0$ when $x$ and $y$
%become farther one each other.
%
%The main drawback with grids is that inserting new elements is
%possible only if a hole is already present. Consider for instance
%Fig.~\ref{fig:limitation} and assume that the modules represent
%cells forming a tissue. It would be difficult to model the division of
%cell~3, because there is no free position adjacent to~3. But in many
%biological system, we may expect that the division of cell~3 results
%in ``pulling away'' the neighboring cells. Similarly, if cell~3 is
%called to die, removing it from the grid will result in a disconnected
%tissue, which may be undesirable too.
2012-07-31 09:27:46 +02:00
\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 suivantes
tirent partie des théories musicales néo-Riemanniennes et portent sur des
études rythmiques et mélodiques.
\subsubsection{M$_1$ : Synthèse modale}
\label{subsec:modal}
2012-07-31 09:27:46 +02:00
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}[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}
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}
2012-07-31 09:27:46 +02:00
À 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
2012-08-09 11:14:48 +02:00
\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}
2012-07-31 09:27:46 +02:00
On parcours par balayage le long d'une segment de droite $(\Delta)$ l'image
2012-08-09 11:14:48 +02:00
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
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}.
\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}
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.
2012-08-09 11:14:48 +02:00
\begin{figure}[p]
\caption{Schéma de la sonification des chemins dans un système physique en deux
dimensions}
\label{fig:M3}
2012-08-09 11:14:48 +02:00
\end{figure}
2012-07-31 09:27:46 +02:00
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
2012-08-12 20:40:08 +02:00
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.
2012-07-31 09:27:46 +02:00
%---
\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.
\begin{figure}[ht]
\caption{Numérotation unique des voisins d'une bulle}
\label{fig:num}
\end{figure}
2012-07-31 09:27:46 +02:00
2012-08-12 20:40:08 +02:00
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 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
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
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
2012-07-31 09:27:46 +02:00
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é.
\clearpage
2012-07-31 09:27:46 +02:00
\section{Implementation}
\label{sec:implementation}
2012-08-12 20:40:08 +02:00
% É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\ et une librairie pour ce dernier regroupant les principales
fonctions pour la sonification des mousses est en cours de développement,
cependant elle n'est pas prête à l'issue de ce stage et demande encore quelques
améliorations.
2012-07-31 09:27:46 +02:00
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 été
2012-08-12 20:40:08 +02:00
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 \textsc{Mgs}, un langage de programmation spatiale
\cite{giavitto_mgs_2001}, considéré pour le calcul des projections de M$_3$.
\end{itemize}
2012-07-31 09:27:46 +02:00
\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.
2012-07-31 09:27:46 +02:00
\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.
2012-08-12 20:40:08 +02:00
Le profil vibratoire d'un objet modélisé peut être sauvegardé comme une
2012-07-31 09:27:46 +02:00
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.
2012-08-12 20:40:08 +02:00
\subsection{Organisation des patchs}
2012-07-31 09:27:46 +02:00
\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
2012-08-12 20:40:08 +02:00
Peut-on reconnaitre la forme d'un tambour ?
2012-07-31 09:27:46 +02:00
Un meilleur traitement local/global (id Laurent)
\subsection{Une validation approfondie}
Écoutes beaucoup sujets, statistiques
\subsection{Développement d'un cadre général}
2012-08-12 20:40:08 +02:00
Librairie (environnement de sonification)
2012-07-31 09:27:46 +02:00
Fait l'objet d'un sujet de thèse à l'\textsc{Édite} de Paris VI.