Added colorfull example on M3

This commit is contained in:
EEva 2012-08-17 02:20:55 +02:00
parent c85f8eec7b
commit bfd02a9941
6 changed files with 123653 additions and 77 deletions

View file

@ -94,22 +94,24 @@ interpretation.
Pour faire le lien entre données à analyser et son, quelques techniques ont été Pour faire le lien entre données à analyser et son, quelques techniques ont été
référencées dans~\cite{hermann_sonification_2011} : référencées dans~\cite{hermann_sonification_2011} :
\begin{itemize} \begin{description}
\item{l'\textbf{Audification}} consiste à écouter le signal brut ou déformé par \item [Audification] Cette technique consiste à écouter le signal
traitement analogique (filtrage passif, accélération, ralentissement, \ldots), brut ou déformé par traitement analogique (filtrage passif,
l'exemple emblématique étant \cite{speeth_seismometer_1961}, dans lequel Speeth accélération, ralentissement, \ldots), l'exemple emblématique étant
montre que l'on peut distinguer, en écoutant les données séismométriques, la \cite{speeth_seismometer_1961}, dans lequel Speeth montre que l'on peut
détonation d'un explosif d'un tremblement de terre ; distinguer, en écoutant les données séismométriques, la détonation d'un explosif
\item{les \textbf{Auditory Icons} et \textbf{Earcons}} sont des sons discrets d'un tremblement de terre ;
utilisés pour les évènements discrets (comme les alarmes), le premier consiste \item [Auditory Icons et Earcons] Ce sont des sons discrets utilisés pour les
à jouer des sons préenregistrés et le second peut être l'agencement de évènements discrets (comme les alarmes), le premier consiste à jouer des sons
séquences synthétisées connues pour former des « mots » ; préenregistrés et le second peut être l'agencement de séquences synthétisées
\item{la \textbf{Model Based Sonification}} consiste à créer un \emph{modèle} connues pour former des « mots » ;
issu des données du système, interagir avec ce modèle et écouter en temps réel \item [Model Based Sonification] Cette méthode consiste à créer un
le son généré afin de tirer des informations du système \emph{modèle} issu des données du système, interagir avec ce modèle et
\cite{hermann_listen_1999} et \item{la \textbf{Parameter Mapping Sonification} écouter en temps réel le son généré afin de tirer des informations du système
(\textsc{Pms})}. \cite{hermann_listen_1999} ;
\end{itemize} \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 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 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 du système étudié. Par exemple, nous pourrions relier un paramètre sonore comme
@ -121,27 +123,38 @@ possibles.
\begin{figure}[p] \begin{figure}[p]
\centering \centering
\begin{tikzpicture}[auto,bend right,scale=\textwidth/5cm] \pgfdeclarelayer{background}
%every node/.style={transform shape}] \pgfsetlayers{background,main}
\node (phyrel) {Lois du système}; \begin{tikzpicture}[align=center, every node/.style={auto}]
\node (phyobs) [below=of phyrel] {Observables}; \node (phystate) {État local du système};
\draw[thick,->, dotted] (phyobs) -- (phyrel); \node (phyobs) [below=of phystate] {Observables};
\node (musobs) [right=of phyobs] \node (sonrel) [right=of phystate] {Relations sonores\\(analogiques)};
{Objets sonores}; \node (musrel) [above=of sonrel] {Relations musicales\\(symboliques)};
\draw[black!50,thick,font=\scriptsize,->] (phyobs) to node \node (sonobs) [below=of sonrel] {Objets sonores};
{mappings} (musobs); \node (phyrel) [above=of phystate] {État global du système\\Lois du système};
\draw[black!50,thick,font=\scriptsize] (phyobs) to node [swap] \node (qt) at (barycentric cs:musrel=1,phyrel=1) [black!50,yshift=1cm] {?};
{sonification} (musobs); \node (qb) at (barycentric cs:phyobs=1,sonobs=1)
[black!50,yshift=-1cm,font=\scriptsize] {mappings\\sonification/musification};
\node (musrel) [above=of musobs] \draw[thick,->, dotted] (phyobs) -- (phystate);
{Relations sonores}; \draw[thick,->, dotted] (phystate) -- (phyrel);
\draw[black!50,thick,font=\scriptsize,->] (musobs) \draw[black!50,thick,->] (phyobs) |- (qb) -| (sonobs);
to node [swap,text width=21mm] {perception (IHM)} (musrel); \draw[black!50,thick,font=\scriptsize,->] (sonobs)
\draw[black!50,thick,->] (musrel) to node [swap] {?} (phyrel); to node [swap,text width=21mm] {perception (IHM)} (sonrel);
\draw[black!50,thick,->,dotted] (sonrel) to node [swap] {?} (phystate);
\draw[black!50,thick,->] (sonrel) to (musrel);
\draw[black!50,thick,->] (musrel.north) |- (qt) -| (phyrel.north);
\begin{pgfonlayer}{background}
\node[draw=black!50,dashed,thick,fill=gray!10,inner sep=6mm,xshift=3mm,
fit=(phystate) (sonrel) (sonobs) (phyobs) (qb)] {};
\end{pgfonlayer}
\end{tikzpicture} \end{tikzpicture}
\caption{Cycle des transformations pour la recherche de relations \caption{Cycle des transformations pour la recherche de relations
dans un système complexe par sonification} 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} \label{fig:dico}
\end{figure} \end{figure}
@ -149,24 +162,26 @@ 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 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é à des cas \cite{schmidt_distilling_2009}, elle reste pour l'instant limité à des cas
particuliers. Il est alors intéressant de passer par une sonification du particuliers. Il est alors intéressant de passer par une sonification du
système (figure~\ref{fig:dico}). En utilisant la \textsc{Pms}, on donne une 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 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 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 ou des relations. Ces relations sonores sont un lien direct avec les lois du
système. système.
%Outils %Outils et thèse Vogt
Il existe plusieurs outils et environnements pour la recherche de relations par Le domaine de la sonification scientifique en physique est bien détaillé
\textsc{Pms} \cite{candey_xsonify_2006} \cite{pauletto_toolkit_2004} dans \cite{vogt_sonification_2010} et il existe plusieurs
\cite{walker_sonification_2003}, mais aucun ne tire réellement parti du côté outils et environnements pour la recherche de relations par
fortement structurel de la musique. Pourtant la musique a de réels atouts au PMS \cite{candey_xsonify_2006} \cite{pauletto_toolkit_2004}
sein de la sonification, on parlera alors de \emph{musification}. \cite{walker_sonification_2003}, cependant aucun ne tire réellement parti du
côté fortement structurel de la musique. Pourtant la musique a de réels atouts
au sein de la sonification, on parlera alors de \emph{musification}.
\subsection[À la musification]{\ldots\ à la musification} \subsection[À la musification]{\ldots\ à la musification}
Une approche de notre problème par les techniques de sonification classiques Une approche de notre problème par les techniques de sonification classiques
nous semble limité car elle passe outre la forte composante \emph{strucurelle} 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 de la musique. Nous explorons la voie de la \emph{musification}, une extension
naturelle de la \textsc{Pms}. naturelle de la PMS.
% C'est une approche géométrico-algébrique qui % C'est une approche géométrico-algébrique qui
% cherche à combler le manque de géométrie dans les techniques de sonification % 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 % usuelles, donnée pourtant intéressante lors de l'étude de systèmes physiques
@ -186,7 +201,7 @@ des approches et outils géométriques qui sont aussi utilisés dans l'analyse d
systèmes complexes physiques : symétries, organisation spatiale, \ldots systèmes complexes physiques : symétries, organisation spatiale, \ldots
C'est tout un univers formel (§~\ref{subsec:music}) qui vient se greffer à la 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 PMS et nous permet de \emph{dépasser} la sonification pour aller vers
la musification. la musification.
\subsection{Système étudié : les mousses liquides} \subsection{Système étudié : les mousses liquides}
@ -706,7 +721,6 @@ Ces trois structures musicales s'appuient sur l'analyse des intervalles : de
manière évidente pour harmonique et mélodique, les relations rythmiques sont manière évidente pour harmonique et mélodique, les relations rythmiques sont
analysables commes intervalles de temps. analysables commes intervalles de temps.
\clearpage
\section{Méthode} \section{Méthode}
\subsection{Un tonnetz comme graphe de Cayley} \subsection{Un tonnetz comme graphe de Cayley}
\label{subsec:tonnetz-cayley} \label{subsec:tonnetz-cayley}
@ -746,7 +760,8 @@ $$ g_{4,7} = < 4, 7\ |\ 3+4=0, 12+7=0 > $$
\end{tikzpicture} \end{tikzpicture}
\label{fig:closepath}} \label{fig:closepath}}
\qquad \qquad
\subfloat[Chemin fermé particulier dans un graphe de Cayley]{ \subfloat[Chemin fermé dans un graphe de Cayley spécifique à la contrainte $a +
b = b + a$]{
\begin{tikzpicture}[scale=.45\textwidth/4cm] \begin{tikzpicture}[scale=.45\textwidth/4cm]
\clip (-15mm,-5mm) rectangle (25mm,15mm); \clip (-15mm,-5mm) rectangle (25mm,15mm);
\draw[step=1cm,densely dotted] (-2,-1) grid (3,3); \draw[step=1cm,densely dotted] (-2,-1) grid (3,3);
@ -980,8 +995,10 @@ ensuites projetés orthogonalement sur $(\Delta)$, comme illustré figure
\ref{fig:rythm2}. On sonifie ensuite la distance entre chaque point projeté \ref{fig:rythm2}. On sonifie ensuite la distance entre chaque point projeté
pour obtenir un motif rythmique : nous avons ainsi une information en une 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 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 axiale d'axe orthogonal à $(\Delta)$. Plus précisément, nous avons accès à la
consultée dans la table \ref{tab:param2}. 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{table}[hb]
\begin{agrandirmarges}{1cm} \begin{agrandirmarges}{1cm}
@ -1009,35 +1026,89 @@ l'organisation urbaine à partir de plans surimposés.
\subsubsection{Remarque et extension des chemins rythmiques} \subsubsection{Remarque et extension des chemins rythmiques}
Nous remarquons que pour M$_2$, M$_3$ et M$_3$ on veut explorer un espace (2D) 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 mais en cheminant le long d'un chemin (1D). Cette démarche est intéressante et
logique pour les raisons suivantes : logique car, dans le cas d'un espace homogène, les bulles au cœur du chemin sont
\begin{itemize} « typiques » et représentatives de l'espace non exploré. Cependant, dans le
\item dans le cas d'un espace homogène, les bulles au cœur du chemin sont cas d'un espace non homogène (figure \ref{fig:desordonnee}), on n'obtient pas
« typiques » et représentatives de l'espace non exploré ; toujours le même résultat suivant le point de départ du chemin, pour un même
\item dans le cas d'un espace non homogène (figure \ref{fig:desordonnee}) chemin. Dans ce cas une courbe fractale continue remplissant le plan permettrait
on n'obtient pas toujours le même résultat suivant le point de départ du d'explorer exhaustivement tout l'espace des bulles, par exemple une courbe de
chemin, pour un même chemin ; Hilbert, de dimension donnée. Elle a pour intérêt de parcourir tout l'espace en
\item une courbe fractale continue remplissant le plan permettrait d'explorer le décrivant, zone par zone et donc d'offrir un aperçu sonore permettant de
exhaustivement tout l'espace des bulles, par exemple une courbe de Hilbert de rendre compte de la « densité » d'un paramètre, par zone.
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 On peut imaginer une famille de courbes $(H_1,H_2,H_3)$ qui remplissent de mieux
mieux en mieux l'espace, $H_i$ approche et aggrège les parcelles. en mieux l'espace, chaque $H_i$ approchant et aggrègeant les parcelles de plus
en plus précisément.
\begin{figure}[ht] \begin{figure}[ht]
\caption{famille de courbes} %\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} \label{fig:hilbert}
\end{figure} \end{figure}
Chaque itération présente un moyennage des valeurs, du plus global au plus 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 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 valeurs des bulles à une distance $r$ dépendant de l'itération de la courbe
courbe de Hilbert : plus l'itération est élevée et plus $D$ est petit. de Hilbert : plus l'itération est élevée et plus $r$ est petit (voir la
Arrivé à une segmentation de l'espace proche en parcelles de taille moyenne figure~\ref{fig:hilbert}). Arrivé à une segmentation de l'espace en parcelles
proche de la taille moyenne des bulles, nous nous trouvons à un niveau de de taille moyenne proche de la taille moyenne des bulles, nous nous trouvons à
description très local, puisque chaque coude aura un moyennage des valeurs un niveau de description très local, puisque chaque coude aura un moyennage des
sur une bulle (dans un espace homogène). 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} \subsubsection{M$_3$ : Chemins musicaux}
Dans la section précédente, nous remplissions le plan avec une courbe fractale Dans la section précédente, nous remplissions le plan avec une courbe fractale
@ -1045,6 +1116,16 @@ continue. Nous pouvons aussi nous servir d'un maillage hexagonal de taille
caractéristique initiale réglable. caractéristique initiale réglable.
\begin{figure}[ht] \begin{figure}[ht]
\centering
\subfloat[$P_1$, mousse en deux dimensions]{
\includegraphics[width=.3\textwidth]{img/bul}}
\qquad
\subfloat[$P_2$, pavage hexagonal se rapportant à un graphe dual d'un graphe de
Cayley]{
\includegraphics[width=.3\textwidth]{img/hex}}\\[1cm]
\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}}
\caption{Schéma de la sonification des chemins dans un système physique en deux \caption{Schéma de la sonification des chemins dans un système physique en deux
dimensions} dimensions}
\label{fig:M3} \label{fig:M3}
@ -1068,7 +1149,22 @@ une mousse régulière et à chacun de ces hexagone correspond une note. Toutes
les transformations se font sur une base métrique. les transformations se font sur une base métrique.
\begin{figure}[ht] \begin{figure}[ht]
\caption{Numérotation unique des voisins d'une bulle} \centering
\begin{tikzpicture}[rotate=30,
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}
\caption{Numérotation unique des voisins d'une bulle (convention utilisée)}
\label{fig:num} \label{fig:num}
\end{figure} \end{figure}
@ -1088,7 +1184,7 @@ dans le graphe de Cayley. On construit les projections de la manière suivante :
de longueur $n$ constitué des \emph{points} $p_1$, $p_2$, …, $p_n$. de longueur $n$ constitué des \emph{points} $p_1$, $p_2$, …, $p_n$.
\begin{enumerate} \begin{enumerate}
\item On commence par construire une grille hexagonale $P_2$ centrée sur les \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 coordonnées de $p_1$, avec pour taille caractéristique le rayon moyen des
bulles. bulles.
\item Ensuite, on détermine à quelle position se trouve chaque $p_i$ de $P_1$ \item Ensuite, on détermine à quelle position se trouve chaque $p_i$ de $P_1$
dans $P_2$ par un changement de coordonnées. dans $P_2$ par un changement de coordonnées.
@ -1113,9 +1209,12 @@ en choisissant le prochain voisin à chaque bulle.
\bigskip \bigskip
La méthode consiste à écouter comparativement le rendu d'un chemin dans $P_1$ 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 et dans $P_2$ en partant du fait que, si la mousse est régulière, alors
les deux rendus sonores seront identiques. les deux rendus sonores seront identiques. On peut d'ailleurs noter que, dans l'exemple
fourni figure~\ref{fig:M3}, 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}[hb] \begin{table}[h]
\begin{agrandirmarges}{1.5cm} \begin{agrandirmarges}{1.5cm}
\centering \centering
\begin{tabular}{|l|l|l|} \begin{tabular}{|l|l|l|}
@ -1147,7 +1246,6 @@ 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 différences de distance entre le parcours dans un espace \emph{régulier} et
déformé. déformé.
\clearpage
\section{Implementation} \section{Implementation}
\label{sec:implementation} \label{sec:implementation}
% État du travail % État du travail
@ -1159,9 +1257,9 @@ 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 développement, cependant elle n'est pas prête à l'issue de ce stage et demande
encore quelques améliorations. encore quelques améliorations.
Tous les mappings ont été implémentés grâce aux outils présents à Tous les mappings ont été implémentés grâce aux outils présents à l'\ircam,
l'\ircam, notamment \modalys, pour la synthèse modale, et notamment \modalys, pour la synthèse modale, et \openmusic\ comme environnement
\openmusic\ comme environnement de programmation principal. de programmation principal.
D'autres outils ont été employés pour les études préliminaires mais n'ont été D'autres outils ont été employés pour les études préliminaires mais n'ont été
utilisés pour l'implémentation finale : utilisés pour l'implémentation finale :
@ -1172,6 +1270,40 @@ interactions visuelle et musicale, considéré pour la sonification de M$_1$ et
\cite{giavitto_mgs_2001}, considéré pour le calcul des projections de M$_3$. \cite{giavitto_mgs_2001}, considéré pour le calcul des projections de M$_3$.
\end{itemize} \end{itemize}
Nous partons à chaque fois des données que nous fournissent les physiciens
du \lps. Ces données sont textuelles et sont soit issues d'une simulation
du système soit les résultats 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} \subsection{Modalys}
\modalys\ (anciennement appelé Mosaïc) est un outil de synthèse modale par \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 modèle physique basée sur \lisp\ \cite{eckel_sound_1995}. Cet outil permet
@ -1210,10 +1342,12 @@ logiciel libre conçu et développé à l'\ircam\ fonctionnant sur MacOS et Wind
: ce sont ces arguments qui ont motivé notre choix. : ce sont ces arguments qui ont motivé notre choix.
\begin{figure}[ht] \begin{figure}[ht]
\includegraphics[width=\textwidth]{img/visual-prog} \begin{agrandirmarges}{.15\textwidth}
\includegraphics[width=1.3\textwidth]{img/visual-prog}
\caption{Photo d'écran présentant plusieurs fenêtres d'\openmusic\ pendant \caption{Photo d'écran présentant plusieurs fenêtres d'\openmusic\ pendant
l'implémentation de M$_3$ et M$_4$} l'implémentation de M$_3$ et M$_4$}
\label{fig:om} \label{fig:om}
\end{agrandirmarges}
\end{figure} \end{figure}
\subsection{La bibliothèque logicielle \musify} \subsection{La bibliothèque logicielle \musify}
@ -1231,7 +1365,7 @@ leur ordre :
$$ (1: (x_1,y_1)), \ldots, (n: (x_n,y_n))$$ $$ (1: (x_1,y_1)), \ldots, (n: (x_n,y_n))$$
Afin que le traitement des données reste rapide, sans pour autant stocker 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 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 coordonées ; on 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 peut ainsi passer rapidement de la représentation de graphe à la représentation
spatiale plongée dans le plan. spatiale plongée dans le plan.
\item [\texttt{coord\_to\_bubble}] \item [\texttt{coord\_to\_bubble}]

BIN
img/bul.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
img/bulandhex.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

123440
img/figure.svg Normal file

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 7.8 MiB

BIN
img/hex.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -11,7 +11,9 @@
\usepackage{tikz} \usepackage{tikz}
\usetikzlibrary{petri} \usetikzlibrary{petri}
\usetikzlibrary{shapes} \usetikzlibrary{shapes}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{positioning} \usetikzlibrary{positioning}
\usetikzlibrary{fit}
\usetikzlibrary{lindenmayersystems}% for Hilbert curve \usetikzlibrary{lindenmayersystems}% for Hilbert curve
\usepackage[lofdepth,lotdepth]{subfig}% replaces subfigure \usepackage[lofdepth,lotdepth]{subfig}% replaces subfigure
\usepackage{scrtime} \usepackage{scrtime}