Almost there, missing thanks, abstract, figures
already too many pages, with nothing in it
This commit is contained in:
parent
067a164a54
commit
731d826875
4 changed files with 260 additions and 90 deletions
|
@ -340,3 +340,17 @@
|
||||||
title = {{MGS}: a {P}rogramming {L}anguage for the {T}ransformations of {T}opological {C}ollections},
|
title = {{MGS}: a {P}rogramming {L}anguage for the {T}ransformations of {T}opological {C}ollections},
|
||||||
year = {2001}
|
year = {2001}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@article{schmidt_distilling_2009,
|
||||||
|
author = {Schmidt, Michael and Lipson, Hod},
|
||||||
|
title = {Distilling Free-Form Natural Laws from Experimental Data},
|
||||||
|
volume = {324},
|
||||||
|
number = {5923},
|
||||||
|
pages = {81-85},
|
||||||
|
year = {2009},
|
||||||
|
doi = {10.1126/science.1165893},
|
||||||
|
abstract ={For centuries, scientists have attempted to identify and document analytical laws that underlie physical phenomena in nature. Despite the prevalence of computing power, the process of finding natural laws and their corresponding equations has resisted automation. A key challenge to finding analytic relations automatically is defining algorithmically what makes a correlation in observed data important and insightful. We propose a principle for the identification of nontriviality. We demonstrated this approach by automatically searching motion-tracking data captured from various physical systems, ranging from simple harmonic oscillators to chaotic double-pendula. Without any prior knowledge about physics, kinematics, or geometry, the algorithm discovered Hamiltonians, Lagrangians, and other laws of geometric and momentum conservation. The discovery rate accelerated as laws found for simpler systems were used to bootstrap explanations for more complex systems, gradually uncovering the “alphabet” used to describe those systems.},
|
||||||
|
URL = {http://www.sciencemag.org/content/324/5923/81.abstract},
|
||||||
|
eprint = {http://www.sciencemag.org/content/324/5923/81.full.pdf},
|
||||||
|
journal = {Science}
|
||||||
|
}
|
||||||
|
|
|
@ -45,6 +45,7 @@ rhythmic structure of the successive durations.
|
||||||
% --------------------------------------------------------------------
|
% --------------------------------------------------------------------
|
||||||
|
|
||||||
\section{Sujet de thèse}
|
\section{Sujet de thèse}
|
||||||
|
\label{anx:sujet}
|
||||||
\fbox{\pgfimage[width=\textwidth,page=1]{img/SSMSC1}}
|
\fbox{\pgfimage[width=\textwidth,page=1]{img/SSMSC1}}
|
||||||
\clearpage
|
\clearpage
|
||||||
\fbox{\pgfimage[width=\textwidth,page=2]{img/SSMSC2}}
|
\fbox{\pgfimage[width=\textwidth,page=2]{img/SSMSC2}}
|
||||||
|
|
326
content.tex
326
content.tex
|
@ -84,8 +84,7 @@ développement depuis les vingt dernières années, notamment grâce à la créa
|
||||||
de la conférence \textsc{Icad} (pour \emph{International Community for Auditory
|
de la conférence \textsc{Icad} (pour \emph{International Community for Auditory
|
||||||
Display}) en 1992. Ce champ de recherche intrinsèquement pluridisciplinaire est
|
Display}) en 1992. Ce champ de recherche intrinsèquement pluridisciplinaire est
|
||||||
à mettre en parallèle de la visualisation de données. \\
|
à mettre en parallèle de la visualisation de données. \\
|
||||||
La sonification est définie dans \cite{kramer_sonification_1999} en ces termes
|
La sonification est définie dans \cite{kramer_sonification_1999} en ces termes~:
|
||||||
:
|
|
||||||
|
|
||||||
\begin{quote}
|
\begin{quote}
|
||||||
Sonification is the transformation of data relations into perceived relations
|
Sonification is the transformation of data relations into perceived relations
|
||||||
|
@ -146,13 +145,15 @@ dans un système complexe par sonification}
|
||||||
\label{fig:dico}
|
\label{fig:dico}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
En général on ne peut pas passer facilement des observables d'un système aux
|
En général on ne peut pas passer facilement des observables d'un système
|
||||||
lois les régissant. Il est alors intéressant de passer par une sonification du
|
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
|
||||||
|
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 \textsc{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
|
système auditif comme un objet sonore dont on peut extraire des caractéristiques
|
||||||
caractéristiques ou des relations. Ces relations sonores sont un lien direct
|
ou des relations. Ces relations sonores sont un lien direct avec les lois du
|
||||||
avec les lois du système.
|
système.
|
||||||
|
|
||||||
%Outils
|
%Outils
|
||||||
Il existe plusieurs outils et environnements pour la recherche de relations par
|
Il existe plusieurs outils et environnements pour la recherche de relations par
|
||||||
|
@ -217,7 +218,7 @@ constitué de poches de gaz (bulles) dans le liquide. Les interfaces sont
|
||||||
constituées de molécules à la fois hydrophobes et hypdrophiles. Si le
|
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
|
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
|
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
|
«~bon~» paramètre parmi 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
|
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.
|
recherche peut être menée plus efficacement grâce à la musification du système.
|
||||||
%
|
%
|
||||||
|
@ -711,7 +712,7 @@ analysables commes intervalles de temps.
|
||||||
\label{subsec:tonnetz-cayley}
|
\label{subsec:tonnetz-cayley}
|
||||||
%(thèse de julien cohen)
|
%(thèse de julien cohen)
|
||||||
Le graphe de Cayley d'un groupe G permet de visualiser les éléments de G et
|
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
|
leur relation de voisinage. Soit G un groupe et S une partie génératrice de
|
||||||
G~:
|
G~:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item chaque sommet $V_i$ représente un élément du groupe $G$,
|
\item chaque sommet $V_i$ représente un élément du groupe $G$,
|
||||||
|
@ -730,7 +731,14 @@ finie suivante, noté additivement car nous sommes dans un groupe abélien :
|
||||||
$$ g_{4,7} = < 4, 7\ |\ 3+4=0, 12+7=0 > $$
|
$$ g_{4,7} = < 4, 7\ |\ 3+4=0, 12+7=0 > $$
|
||||||
|
|
||||||
\begin{figure}[p]
|
\begin{figure}[p]
|
||||||
|
\centering
|
||||||
|
\subfloat[Chemin fermé universel dans un graphe de Cayley]{
|
||||||
|
\label{fig:closepath}}
|
||||||
|
\qquad
|
||||||
|
\subfloat[Chemin fermé particulier dans un graphe de Cayley]{
|
||||||
|
\label{fig:closepath2}}
|
||||||
\caption{Chemins dans un graphe de Cayley}
|
\caption{Chemins dans un graphe de Cayley}
|
||||||
|
\label{fig:paths}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Dans le graphe de Cayley associé à cette présentation, l'espace se replie sur
|
Dans le graphe de Cayley associé à cette présentation, l'espace se replie sur
|
||||||
|
@ -739,13 +747,13 @@ on a ainsi un tore. Nous travaillons dans un dépliage de ce tore.
|
||||||
|
|
||||||
Tout graphe de Cayley possède des chemins fermés, par exemple dans le graphe
|
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
|
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é :
|
le mot $w$ est fermé en toute généralité (figure~\ref{fig:closepath}):
|
||||||
$$ w = a + b + -b + -a $$
|
$$ w = a + b + -b + -a $$
|
||||||
|
|
||||||
Certains graphes de Cayley possèdent des chemins fermés qui leur sont
|
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
|
\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
|
de commutativité $ a + b = b + a $, on obtient un autre chemin fermé décrit par
|
||||||
le mot $w$ :
|
le mot $w$ (figure~\ref{fig:closepath2}) :
|
||||||
$$ w = a + b + -a + -b $$
|
$$ w = a + b + -a + -b $$
|
||||||
|
|
||||||
%%Chemins hamiltoniens dans le tonnetz \cite{albini_hamiltonian_2009}.
|
%%Chemins hamiltoniens dans le tonnetz \cite{albini_hamiltonian_2009}.
|
||||||
|
@ -775,60 +783,60 @@ $$ w = a + b + -a + -b $$
|
||||||
%\GBF{e} (east) and \GBF{n} (north). This is illustrated in the left part of
|
%\GBF{e} (east) and \GBF{n} (north). This is illustrated in the left part of
|
||||||
%Fig.~\ref{fig:grids}.
|
%Fig.~\ref{fig:grids}.
|
||||||
|
|
||||||
\begin{figure}[!b]
|
%\begin{figure}[!b]
|
||||||
\begin{center}
|
%\begin{center}
|
||||||
\begin{tikzpicture}
|
%\begin{tikzpicture}
|
||||||
\draw[densely dotted] (-.9,-.9) grid (3.9,2.9);
|
%\draw[densely dotted] (-.9,-.9) grid (3.9,2.9);
|
||||||
\draw[fill] (1,0) circle (1.5pt) node[above right]
|
%\draw[fill] (1,0) circle (1.5pt) node[above right]
|
||||||
{\GBF{e}};
|
% {\GBF{e}};
|
||||||
\draw[fill] (0,2) circle (1.5pt) node[above left]
|
%\draw[fill] (0,2) circle (1.5pt) node[above left]
|
||||||
{$2\cdot\GBF{n}$};
|
% {$2\cdot\GBF{n}$};
|
||||||
\draw[fill] (0,1) circle (1.5pt) node[above left]
|
%\draw[fill] (0,1) circle (1.5pt) node[above left]
|
||||||
{\GBF{n}};
|
% {\GBF{n}};
|
||||||
\draw[fill] (1,2) circle (1.5pt) node[above right,cover]
|
%\draw[fill] (1,2) circle (1.5pt) node[above right,cover]
|
||||||
{$2\cdot\GBF{n}+\GBF{e}$};
|
% {$2\cdot\GBF{n}+\GBF{e}$};
|
||||||
\draw[thick,->] (0,0) -- (1,0);
|
%\draw[thick,->] (0,0) -- (1,0);
|
||||||
\draw[thick,->] (0,0) -- (0,2);
|
%\draw[thick,->] (0,0) -- (0,2);
|
||||||
\draw[thick,->] (0,0) -- (0,1);
|
%\draw[thick,->] (0,0) -- (0,1);
|
||||||
\draw[thick,->] (1,0) -- (1,2);
|
%\draw[thick,->] (1,0) -- (1,2);
|
||||||
\draw[thick,->] (0,2) -- (1,2);
|
%\draw[thick,->] (0,2) -- (1,2);
|
||||||
\draw[fill=white] (0,0) circle (1.5pt) node[below,cover]
|
%\draw[fill=white] (0,0) circle (1.5pt) node[below,cover]
|
||||||
{$0\cdot\GBF{n} = 0\cdot\GBF{e}$};
|
% {$0\cdot\GBF{n} = 0\cdot\GBF{e}$};
|
||||||
%
|
%%
|
||||||
\begin{scope}[shift={(8,-.2)},scale=1.2]
|
%\begin{scope}[shift={(8,-.2)},scale=1.2]
|
||||||
\path[clip](-.8,-.8) rectangle (3.1,2.3);
|
%\path[clip](-.8,-.8) rectangle (3.1,2.3);
|
||||||
\foreach \x in {-2,...,3}
|
%\foreach \x in {-2,...,3}
|
||||||
\foreach \y in {-2,...,3}
|
% \foreach \y in {-2,...,3}
|
||||||
\draw[densely dotted] (0,0) ++(0:\x) ++(60:\y) -- ++(60:1)
|
% \draw[densely dotted] (0,0) ++(0:\x) ++(60:\y) -- ++(60:1)
|
||||||
-- ++(-60:1) -- +(180:1);
|
% -- ++(-60:1) -- +(180:1);
|
||||||
\draw[fill] (0,0) ++(60:1) circle (1.5pt) node[above left,cover]
|
%\draw[fill] (0,0) ++(60:1) circle (1.5pt) node[above left,cover]
|
||||||
{\GBF{n}};
|
% {\GBF{n}};
|
||||||
\draw[thick,->] (0,0) -- ++(60:1);
|
%\draw[thick,->] (0,0) -- ++(60:1);
|
||||||
\draw[fill] (0,0) ++(120:1) circle (1.5pt) node[above,cover]
|
%\draw[fill] (0,0) ++(120:1) circle (1.5pt) node[above,cover]
|
||||||
{\GBF{nw}};
|
% {\GBF{nw}};
|
||||||
\draw[thick,->] (0,0) -- ++(120:1);
|
%\draw[thick,->] (0,0) -- ++(120:1);
|
||||||
\draw[fill] (0,0) ++(60:2) circle (1.5pt) node[above left,cover]
|
%\draw[fill] (0,0) ++(60:2) circle (1.5pt) node[above left,cover]
|
||||||
{$2\cdot\GBF{n}$};
|
% {$2\cdot\GBF{n}$};
|
||||||
\draw[thick,->] (0,0) -- ++(60:2);
|
%\draw[thick,->] (0,0) -- ++(60:2);
|
||||||
\draw[fill] (0,0) ++(0:1) circle (1.5pt) node[above,cover]
|
%\draw[fill] (0,0) ++(0:1) circle (1.5pt) node[above,cover]
|
||||||
{\GBF{e}};
|
% {\GBF{e}};
|
||||||
\draw[thick,->] (0,0) -- ++(0:1);
|
%\draw[thick,->] (0,0) -- ++(0:1);
|
||||||
\draw[fill] (0,0) ++(60:2) ++(0:1) circle (1.5pt) node[above,cover]
|
%\draw[fill] (0,0) ++(60:2) ++(0:1) circle (1.5pt) node[above,cover]
|
||||||
{$2\cdot\GBF{n}+\GBF{e}$};
|
% {$2\cdot\GBF{n}+\GBF{e}$};
|
||||||
\draw[thick,->] (0,0) ++(60:2) -- ++(0:1);
|
%\draw[thick,->] (0,0) ++(60:2) -- ++(0:1);
|
||||||
\draw[very thick,dashed,->] (0,0) -- ++(0:2) -- ++(60:1) -- ++(120: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
|
%\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
|
% width=16mm,text centered] {$0\cdot\GBF{n} = 0\cdot\GBF{e}$\newline
|
||||||
$= 0\cdot\GBF{nw}$};
|
% $= 0\cdot\GBF{nw}$};
|
||||||
\end{scope}
|
%\end{scope}
|
||||||
\end{tikzpicture}
|
%\end{tikzpicture}
|
||||||
\end{center}
|
%\end{center}
|
||||||
\caption{Left: a GBF defining a square grid, with two generators
|
%\caption{Left: a GBF defining a square grid, with two generators
|
||||||
\GBF{e} and \GBF{n}. Right: a GBF defining a triangular grid with
|
% \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
|
% three generators \GBF{e}, \GBF{n} and \GBF{nw}, and a constraint
|
||||||
$\GBF{n} - \GBF{nw} = \GBF{e}$.}
|
% $\GBF{n} - \GBF{nw} = \GBF{e}$.}
|
||||||
\label{fig:grids}
|
%\label{fig:grids}
|
||||||
\end{figure}
|
%\end{figure}
|
||||||
|
|
||||||
%Similarly, an hexagonal grid can be defined by means of three generators
|
%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{n}, \GBF{e} and \GBF{nw} (north-west) and a constraint $\GBF{n} -
|
||||||
|
@ -949,7 +957,7 @@ 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)$. La liste des paramètres peut être
|
||||||
consultée dans la table \ref{tab:param2}.
|
consultée dans la table \ref{tab:param2}.
|
||||||
|
|
||||||
\begin{table}[ht]
|
\begin{table}[ht]
|
||||||
|
@ -1046,7 +1054,7 @@ 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
|
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},
|
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
|
\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
|
(figure \ref{fig:num}) le voisinage de chaque bulle et nous indiquons ainsi
|
||||||
un chemin par une suite d'identifiants correspondant aux directions (uniques)
|
un chemin par une suite d'identifiants correspondant aux directions (uniques)
|
||||||
à prendre. Nous utiliserons par la suite soit des chemins construits à partir
|
à 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,
|
de points ou définits comme une succession de directions. Dans tous les cas,
|
||||||
|
@ -1123,10 +1131,10 @@ déformé.
|
||||||
Les mappings M$_1$, M$_2$, M$_3$ et M$_4$ ont été mis en pratique, à
|
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
|
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
|
fractales continues remplissant le plan. Tous les mappings ont été réalisés
|
||||||
avec \openmusic\ et une librairie pour ce dernier regroupant les principales
|
avec \openmusic\ et une bibliothèque logicielle pour ce dernier regroupant
|
||||||
fonctions pour la sonification des mousses est en cours de développement,
|
les principales fonctions pour la sonification des mousses est en cours de
|
||||||
cependant elle n'est pas prête à l'issue de ce stage et demande encore quelques
|
développement, cependant elle n'est pas prête à l'issue de ce stage et demande
|
||||||
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, notamment \modalys, pour la synthèse modale, et
|
l'\ircam, notamment \modalys, pour la synthèse modale, et
|
||||||
|
@ -1155,27 +1163,144 @@ Le profil vibratoire d'un objet modélisé peut être sauvegardé comme une
|
||||||
liste de modes propres de vibration (fréquence, bande passante, amplitude).
|
liste de modes propres de vibration (fréquence, bande passante, amplitude).
|
||||||
|
|
||||||
\subsection{OpenMusic}
|
\subsection{OpenMusic}
|
||||||
Environnement de programmation visuelle et fonctionnelle basée sur
|
\openmusic\ est un langage et environnement de programmation visuelle
|
||||||
\lisp\ (LispWorks). Développé par G. Assayag et C. Agon.
|
et fonctionnelle basé sur Common Lisp Object System (implémentation de
|
||||||
|
LispWorks). Développé par Carlos \textsc{Agon}, Gérard \textsc{Assayag} et
|
||||||
|
Jean \textsc{Bresson}, il a pour but premier d'assister le compositeur en lui
|
||||||
|
fournissant les outils et le formalisme pour exprimer ses idées.
|
||||||
|
|
||||||
La programmation s'effectue à base de patch, que l'on peut connecter à l'aide
|
La programmation s'effectue à base de patch, des icônes graphiques munies
|
||||||
de liens en sortie et en entrée pour passer des valeurs, un patch pouvant faire
|
d'entrées (les arguments de la fonction) et de sorties (le ou les résultats
|
||||||
office de fonction anonyme à passer à un autre patch ou à une fonction écrite
|
de cette fonction), que l'on peut connecter à l'aide de liens pour passer des
|
||||||
en \lisp\ directement. Plusieurs primitives de \modalys\ sont directement
|
valeurs (figure~\ref{fig:om}). Un patch peut aussi faire office de fonction
|
||||||
accessibles dans \openmusic.
|
anonyme (lambda) à passer à un autre patch ou à une fonction écrite en \lisp\
|
||||||
|
directement. Plusieurs primitives de \modalys\ sont directement accessibles
|
||||||
|
dans \openmusic. Une fois ces patch écrits et connecté on lance l'évaluation
|
||||||
|
de l'ensemble pour obtenir un résultat. On programme ainsi une application en
|
||||||
|
dérivant les données en entrée jusqu'à obtenir le résultat escompté.
|
||||||
|
|
||||||
\subsection{Organisation des patchs}
|
\openmusic\ est muni d'extensions pour la musique (notation, calcul dédié),
|
||||||
|
le son (extraction de caractéristiques), la spatialisation et même la vidéo.
|
||||||
|
Il permet aussi d'écrire directement des fonctions en \lisp\ et fourni une
|
||||||
|
interface visuelle pour la programmation des boucles, entre autre. C'est un
|
||||||
|
logiciel libre conçu et développé à l'\ircam\ fonctionnant sur MacOS et Windows
|
||||||
|
: ce sont ces arguments qui ont motivé notre choix.
|
||||||
|
|
||||||
|
\begin{figure}[ht]
|
||||||
|
\includegraphics[width=\textwidth]{img/visual-prog}
|
||||||
|
\caption{Photo d'écran présentant plusieurs fenêtres d'\openmusic\ pendant
|
||||||
|
l'implémentation de M$_3$ et M$_4$}
|
||||||
|
\label{fig:om}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\subsection{La bibliothèque logicielle \musify}
|
||||||
|
\label{subsec:musify}
|
||||||
|
La bibliothèque logicielle \musify\ a été développée dans le but de regrouper
|
||||||
|
les fonctions nécessaires à la musification d'un système complexe. Elles sont
|
||||||
|
suffisamment génériques pour s'étendre au delà des mousses, tant que le système
|
||||||
|
reste représentable en deux dimensions. Voici la liste provisoire des fonctions
|
||||||
|
retenues (travail en cours) qui se rapportent toutes à M$_3$ et M$_4$ :
|
||||||
|
\begin{description}
|
||||||
|
\item [\texttt{make\_DicoCoord}]
|
||||||
|
Cette fonction prend une liste de $n$ points $(x_1, y_1), \ldots, (x_n, y_n)$ et
|
||||||
|
retourne une table de hachage les contenant avec pour clef un entier indiquant
|
||||||
|
leur ordre :
|
||||||
|
$$ (1: (x_1,y_1)), \ldots, (n: (x_n,y_n))$$
|
||||||
|
Afin que le traitement des données reste rapide, sans pour autant stocker
|
||||||
|
implicitement des données en mémoire, nous utilisons cette table de hachage
|
||||||
|
pour maintenir le lien entre la référence des nœuds et leur coordonées ; on
|
||||||
|
peut ainsi passer rapidement de la représentation de graphe à la représentation
|
||||||
|
spatiale plongée dans le plan.
|
||||||
|
\item [\texttt{coord\_to\_bubble}]
|
||||||
|
Cette fonction prend une coordonnée $(x,y)$ et renvoit l'identifiant $i$
|
||||||
|
correspondant à la bulle \emph{la plus proche}. Cela permet de sélectionner un
|
||||||
|
centre de bulle arbitrairement comme point de départ.
|
||||||
|
\item [\texttt{find\_neighbors}]
|
||||||
|
Cette fonction prend une table de hachage, trouve les voisins de chacun des
|
||||||
|
points dans la table et les numérote de manière unique. Elle retourne une
|
||||||
|
nouvelle table de hachage dans laquelle chaque identifiant est associé aux
|
||||||
|
identifiants de ses voisins : c'est une matrice d'adjacence. Notre
|
||||||
|
implémentation fait appel au logiciel \texttt{qdelaunay} qui calcule une
|
||||||
|
triangulation de Delaunay sur l'ensemble des points.
|
||||||
|
\item [\texttt{dirs\_to\_bubblepath}]
|
||||||
|
Cette fonction prend une liste de directions (des entiers de 1 à 6), une table
|
||||||
|
de hachage contenant le voisinage de chaque bulle, une bulle de départ et
|
||||||
|
retourne une suite d'identifiants de bulles.
|
||||||
|
C'est la première étape de la projection $\pi_{21}$.
|
||||||
|
\item [\texttt{bubblepath\_to\_notes}]
|
||||||
|
Cette fonction prend une liste d'identifiants de bulles, l'aire moyenne des
|
||||||
|
bulles, la table de hachage des voisins, deux paramètres pour générer un
|
||||||
|
tonnetz, un note de départ et retourne une liste de notes sous forme d'entiers.
|
||||||
|
C'est la seconde étape de la projection $\pi_{21}$ où on rend sous forme de note
|
||||||
|
le parcours d'un chemin dans une mousse.
|
||||||
|
\item [\texttt{dirs\_to\_note}]
|
||||||
|
Cette fonction prend une liste de directions, deux paramètres pour générer un
|
||||||
|
tonnetz, une note de départ et retourne une liset de notes sous forme d'entiers
|
||||||
|
également. On rend sous forme de note le parcours d'un chemin dans le tonnetz.
|
||||||
|
\item [\texttt{dirs\_to\_coord}]
|
||||||
|
Cette fonction prend une liste de directions, l'aire moyenne des bulles, les
|
||||||
|
coordonnées de départ et génère les positions dans le plan des points du chemin
|
||||||
|
parcouru. On parcours ici le tonnetz dans le plan euclidien : cela permet de
|
||||||
|
comparer avec un parcours dans la mousse.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
\section{Validation}
|
\section{Validation}
|
||||||
Chaque mapping a été testé avec différents paramètres et sur différents
|
Chaque mapping a été testé avec différents paramètres et sur différents
|
||||||
échantillons de départ.
|
échantillons de départ.
|
||||||
|
|
||||||
\subsection{Un protocole pour la validation}
|
\subsection{Un protocole pour la validation}
|
||||||
Nous proposons ici un modeste protocole pour la validation des données
|
Nous proposons ici une idée de protocole à suivre pour la validation des données
|
||||||
|
expérimentales obtenues.
|
||||||
|
|
||||||
|
Les sujets sont assis dans un environnement isolé du bruit ambiant (chambre
|
||||||
|
anéchoïde) face à un écran et à un dispositif de pointage qui leur permet
|
||||||
|
de choisir une réponse parmi celles qui sont proposées.
|
||||||
|
|
||||||
|
% Les constantes sont les facteurs qui ne changent pas.
|
||||||
|
À chaque passation de la modalité « organisation spatiale », le sujet compare
|
||||||
|
les 2 échantillons sonores qui lui sont présentés et choisi (Gauche ou Droite)
|
||||||
|
celui qui répond le mieux à la question posée sur l'écran. Ces échantillons sont
|
||||||
|
issu de la sonification deux échantillons de donnée initiale, avec deux méthodes
|
||||||
|
et mapping des paramètres identiques. On enregistre le choix fait et on réitère
|
||||||
|
en changeant d'abord d'échantillons, de mapping puis de méthode.
|
||||||
|
|
||||||
|
À chaque passation de la modalité « évolution temporelle », le sujet doit
|
||||||
|
décider s'il a perçu un évènement particulier dans l'échantillon sonore qu'il
|
||||||
|
a entendu (échantillon de 5 à 10 secondes). Cet échantillon est le fruit de la
|
||||||
|
sonification de 4 itération de la simulation du murrissement d'une mousse, avec
|
||||||
|
la même méthode de sonification. On enregistre la réponse (positive, négative)
|
||||||
|
et on réitère en changeant d'échantillon, de mapping puis de méthode.
|
||||||
|
|
||||||
|
On cherche à déterminer quel mapping de chaque méthode M$_1$, M$_2$ et M$_3$
|
||||||
|
est le plus efficace pour que le sujet reconnaisse l'information.
|
||||||
|
|
||||||
|
Afin de limiter la fatigue des sujets, l'expérience ne doit pas durer plus de
|
||||||
|
15 minutes.
|
||||||
|
|
||||||
\subsection{Écoutes préliminaires}
|
\subsection{Écoutes préliminaires}
|
||||||
Détection d'ordre changeant fortement lors d'un épisode catastrophique,
|
En utilisant M$_1$, nous pouvons d’ores et déjà entendre un épisode
|
||||||
données de simulation, identification de battements.
|
catastrophique lors de l'évolution temporelle d'une mousse. En effet, nous
|
||||||
|
utilisons une bande de fréquence de l'ordre de quelque Hertz en sortie afin
|
||||||
|
d'entendre un phénomène de battement et utilisons les correspondances nombre
|
||||||
|
de voisines/fréquence, aire/amplitude et périmètre/bande de fréquence (voir
|
||||||
|
table~\ref{tab:param1})~:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Une mousse parfaitement ordonnée ne retourne qu'une fréquence unique, car
|
||||||
|
toutes les bulles ont le même nombre de voisines ;
|
||||||
|
\item Une mousse en phase intermédiaire présente des passages avec battements
|
||||||
|
entrecoupés de passages sans battements indiquant les épisodes catastrophiques ;
|
||||||
|
\item Une mousse en phase de « scaling state » ne présente plus de battements
|
||||||
|
car trop de fréquences sont mélangées, c'est plutôt un timbre complexe.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\medskip
|
||||||
|
Avec M$_2$, nous obtenons un résultat similaire : nous pouvons remarquer
|
||||||
|
un épisode catastrophique au niveau local car la phrase rythmique change
|
||||||
|
brusquement et se vide au fur et à mesure que les bulles grossissent.
|
||||||
|
|
||||||
|
\medskip
|
||||||
|
Avec M$_3$ et M$_4$, nous n'avons pas eu encore eu le temps d'effectuer
|
||||||
|
d'écoutes préliminaires.
|
||||||
|
|
||||||
\section{Perspectives}
|
\section{Perspectives}
|
||||||
De part la courte durée du stage et de part le côté fortement exploratoire du
|
De part la courte durée du stage et de part le côté fortement exploratoire du
|
||||||
|
@ -1184,16 +1309,39 @@ sujet, certaines parties n'ont été que partiellement traitées et d'autres n'o
|
||||||
abordés.
|
abordés.
|
||||||
|
|
||||||
\subsection{Une amélioration des mapping}
|
\subsection{Une amélioration des mapping}
|
||||||
comparaison delaunay / voisin mousse
|
Le premier point à aborder est celui de la comparaison entre une triangulation
|
||||||
|
de Delaunay et le voisinage \emph{réel} dans une mousse. Comme décrit dans
|
||||||
|
§~\ref{subsec:musify}, nous utilisons une triangulation de Delaunay afin trouver
|
||||||
|
une relation de voisinage entre les bulles, afin de pouvoir décrire un chemin de
|
||||||
|
proche en proche. Un point important à vérifier est donc qu'il soit raisonnable
|
||||||
|
d'utiliser cette méthode comme approximation du voisinage, sachant que le
|
||||||
|
paramètre «~nombre de voisins~» est très important du point de vue des mousses
|
||||||
|
liquides en deux dimensions.
|
||||||
|
|
||||||
Peut-on reconnaitre la forme d'un tambour ?
|
Une seconde voie d'amélioration serait d'ajouter à M$_1$ une donnée locale en
|
||||||
|
plus du traitement global. Pour le moment, nous considérons chaque bulle comme
|
||||||
Un meilleur traitement local/global (id Laurent)
|
des entités séparées et sans interactions les unes avec les autres. À l'instar
|
||||||
|
de carreaux hexagonaux en terre cuite que l'on peut trouver dans le midi,
|
||||||
|
suite à un tremblement de terre seuls certains d'entre eux sont fêlés à cause
|
||||||
|
des vibrations. Chacun d'entre eux ayant une fréquence de résonnance et étant
|
||||||
|
accolés les uns aux autres : seuls certains ont cassé et cela à cause d'une
|
||||||
|
amplification locale dûe au voisinage. En partant d'un principe similaire, il
|
||||||
|
serait intéressant de rajouter une interaction entre chaque bulle en prenant en
|
||||||
|
compte les fréquences de résonnance de chacune afin d'amplifier ou d'inhiber ses
|
||||||
|
voisines.
|
||||||
|
|
||||||
\subsection{Une validation approfondie}
|
\subsection{Une validation approfondie}
|
||||||
Écoutes beaucoup sujets, statistiques
|
La partie de validation n'a malheureusement été que très peu traitée. Il est
|
||||||
|
primordial de mener des campagnes de validation auprès de très nombreux sujets
|
||||||
|
afin de valider statistiquement la pertinence des résultats.
|
||||||
|
|
||||||
\subsection{Développement d'un cadre général}
|
\subsection{Développement d'un cadre général}
|
||||||
Librairie (environnement de sonification)
|
Comme amorcé avec la bibliothèque logicielle \musify, nous avons pour
|
||||||
|
but de développer un environnement de sonification général permettant
|
||||||
|
l'exploration d'un ensemble de données pour y trouver des relations, de manière
|
||||||
|
semi-automatique, interactive (modèle Human-In-The-Loop) et temps-réel afin que
|
||||||
|
l'utilisateur puisse en permanence obtenir un retour sonore.
|
||||||
|
|
||||||
|
Ce cadre général vise à être développé dans un sujet de thèse déposé cette année
|
||||||
|
à l'\textsc{Édite} de Paris VI (annexe~\ref{anx:sujet}).
|
||||||
|
|
||||||
Fait l'objet d'un sujet de thèse à l'\textsc{Édite} de Paris VI.
|
|
||||||
|
|
|
@ -12,8 +12,10 @@
|
||||||
\usetikzlibrary{petri}
|
\usetikzlibrary{petri}
|
||||||
\usetikzlibrary{shapes}
|
\usetikzlibrary{shapes}
|
||||||
\usetikzlibrary{positioning}
|
\usetikzlibrary{positioning}
|
||||||
|
\usetikzlibrary{lindenmayersystems}% for Hilbert curve
|
||||||
\usepackage[lofdepth,lotdepth]{subfig}% replaces subfigure
|
\usepackage[lofdepth,lotdepth]{subfig}% replaces subfigure
|
||||||
\usepackage{scrtime}
|
\usepackage{scrtime}
|
||||||
|
\usepackage[section]{placeins}
|
||||||
%\usepackage{hyperref}
|
%\usepackage{hyperref}
|
||||||
|
|
||||||
\defaultfontfeatures{Scale=MatchLowercase}
|
\defaultfontfeatures{Scale=MatchLowercase}
|
||||||
|
@ -26,6 +28,7 @@
|
||||||
\newcommand{\lisp}{\textsc{Lisp}}
|
\newcommand{\lisp}{\textsc{Lisp}}
|
||||||
\newcommand{\modalys}{\textbf{Modalys}}
|
\newcommand{\modalys}{\textbf{Modalys}}
|
||||||
\newcommand{\openmusic}{\textbf{OpenMusic}}
|
\newcommand{\openmusic}{\textbf{OpenMusic}}
|
||||||
|
\newcommand{\musify}{\textbf{Musify}}
|
||||||
\newcommand{\mpri}{\textsc{Mpri}}
|
\newcommand{\mpri}{\textsc{Mpri}}
|
||||||
|
|
||||||
\newcommand{\todo}{\fbox{\texttt{todo}}}
|
\newcommand{\todo}{\fbox{\texttt{todo}}}
|
||||||
|
@ -35,7 +38,7 @@
|
||||||
\hyphenation{Modalys}
|
\hyphenation{Modalys}
|
||||||
\hyphenation{OpenMusic}
|
\hyphenation{OpenMusic}
|
||||||
|
|
||||||
\newenvironment{agrandirmarges}[1]{%
|
\newenvironment{agrandirmarges}[1]{%So that we can eat margin
|
||||||
\begin{list}{}{%
|
\begin{list}{}{%
|
||||||
\setlength{\topsep}{0pt}%
|
\setlength{\topsep}{0pt}%
|
||||||
\setlength{\listparindent}{\parindent}%
|
\setlength{\listparindent}{\parindent}%
|
||||||
|
@ -66,6 +69,10 @@
|
||||||
\newcommand{\PosSet}{PosSet}
|
\newcommand{\PosSet}{PosSet}
|
||||||
\newcommand{\defeq}[1]{defeq~#1}
|
\newcommand{\defeq}[1]{defeq~#1}
|
||||||
|
|
||||||
|
\pgfdeclarelindenmayersystem{Hilbert curve}{% Rewrite rule for Hilbert curve
|
||||||
|
\rule{L -> +RF-LFL-FR+}
|
||||||
|
\rule{R -> -LF+RFR+FL-}}
|
||||||
|
|
||||||
% ------------------------------------------------------------------------------
|
% ------------------------------------------------------------------------------
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\titlehead{{\Large\ircam\hfill\lps}\\%
|
\titlehead{{\Large\ircam\hfill\lps}\\%
|
||||||
|
|
Loading…
Reference in a new issue