master-thesis-presentation/presentation.tex
2012-09-05 17:30:31 +02:00

539 lines
20 KiB
TeX
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[11pt]{beamer}
\usepackage{xunicode}% for XeTex!
\usepackage{fontspec}% for XeTex!
\usepackage{xltxtra} % for XeTex!
\usepackage{amsfonts}% for Z12
\usepackage[french]{babel}
\usepackage{url}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{positioning}
\usetikzlibrary{fit}
\usetikzlibrary{lindenmayersystems}% for Hilbert curve
\usetikzlibrary{external}
\tikzexternalize[prefix=figs/]
\tikzset{external/system call={xelatex \tikzexternalcheckshellescape
-halt-on-error -interaction=batchmode -jobname "\image" "\texsource"}}
\usepackage[lofdepth,lotdepth]{subfig}% replaces subfigure
% The presentation specific packages
%\usepackage{hyperref}
\usepackage{multimedia}
\defaultfontfeatures{Scale=MatchLowercase}
\setromanfont[Mapping=textext]{Linux Libertine O}
\setsansfont [Mapping=textext]{Ubuntu}
\setmonofont [Mapping=textext]{Inconsolata}
\newcommand{\ircam}{Ircam}
\newcommand{\lps}{Lps}
\newcommand{\lisp}{Lisp}
\newcommand{\mlys}{Modalys}
\newcommand{\om}{OpenMusic}
\newcommand{\mpri}{Mpri}
\newcommand{\todo}{\fbox{\texttt{todo}}}
\newcommand{\sonif}[2]{%
\parbox{2ex}{\includegraphics[height=2ex]{figs/speaker}}%
\hspace{.5em}\emph{#2}}
\hyphenation{con-cen-trent}
\AtBeginSection[]{
\frame{\sectionpage}
}
\pgfdeclarelindenmayersystem{Hilbert curve}{% Rewrite rule for Hilbert curve
\rule{L -> +RF-LFL-FR+}
\rule{R -> -LF+RFR+FL-}}
\begin{document}
\title{De la sonification à la « musification »\\de systèmes complexes}
\subtitle{Présentation de stage}
\author{Martin Potier\\
{\scriptsize MPRI, Université Paris Diderot}}
\date{6 septembre 2012}
\institute{
{\small\textbf{Wiebke Drenckhan}}\\
Laboratoire de Physique des Solides, Université Paris Sud, CNRS \and
{\small\textbf{Moreno Andreatta} et \textbf{Jean-Louis Giavitto}}\\
Équipe Représentation Musicales, Institut de Recherche et Coordination Acoustique/Musique, CNRS}
% Each presentation will last 30 minutes (20 minutes of presentation + 10
% minutes of questions). A video-projector will be available.
\frame{\titlepage}
\begin{frame}{Plan}
\tableofcontents
\end{frame}
\section{Motivations : comment se comporte une mousse ?}
% Trouver des lois d'un système complexe sans connaissance a priori
\begin{frame}{Comprendre l'évolution d'une mousse liquide en deux dimensions}
% movie
%\movie[width=\textwidth,height=.8\textheight]{
% \includegraphics[width=\textwidth,height=.8\textheight]{figs/poster}}
%{figs/coarsening.avi}
\end{frame}
\begin{frame}{Comprendre l'évolution d'une mousse liquide (suite)}
\begin{center}
Comment qualifier ces 3 organisations spatiales ?
\end{center}
\begin{columns}
\column{.3\textwidth}
\includegraphics[width=\textwidth]{figs/foam2D-honeycomb}
\column{.3\textwidth}
\includegraphics[width=\textwidth]{figs/foam2D-grain-boundaries}
\column{.3\textwidth}
\includegraphics[width=\textwidth]{figs/foam2D-disordered}
\end{columns}
\pause
\begin{columns}
\column{.6\textwidth}
\includegraphics[width=\textwidth]{figs/lauriesfoam}
\column{.4\textwidth}
\begin{itemize}
\item 10 ans pour obtenir le modèle !
\item Pourrait-on aller plus vite ?
\item Pourrait-on \emph{entendre} la mousse ?
\end{itemize}
\end{columns}
\end{frame}
\section{De la sonification scientifique\ldots}
\begin{frame}{Un nouveau domaine}
\begin{itemize}
\item Propriétés intéressantes du système auditif : reconnaissance
des objets sonores évoluant \emph{dans le temps}, spatialisation,
multi-échelle, \ldots
\item En parallèle de la \emph{visualisation scientifique} des données.
\end{itemize}
\begin{quote}
« Sonification is the transformation of data relations into perceived
relations in an acoustic signal for the purposes of facilitating
communication or interpretation. »\hfill\textbf{Kramer~1999}
\end{quote}
\pause
\begin{center}
\usebeamercolor{frametitle}
\begin{tikzpicture}[align=center, every node/.style={fg,auto}]
\node (phystate) {État local du système};
\node (phyobs) [below=of phystate] {Observables};
\node (sonrel) [right=of phystate] {Relations sonores\\(analogiques)};
\node (sonobs) [below=of sonrel] {Objets sonores};
\node (qb) at (barycentric cs:phyobs=1,sonobs=1)
[black,yshift=-1cm,font=\scriptsize] {mappings\\sonification};
\draw[thick,->, dotted] (phyobs) -- (phystate);
\draw[black,thick,->] (phyobs) |- (qb) -| (sonobs);
\draw[black,thick,font=\scriptsize,->] (sonobs)
to node [swap,text width=21mm] {perception (IHM)} (sonrel);
\draw[black,thick,->,dotted] (sonrel) to node [swap] {?} (phystate);
\end{tikzpicture}
\end{center}
\end{frame}
\begin{frame}{\sonif{sound/M1}{M$_1$ : synthèse modale, timbre et ordre (30 s)}}
Utilise Modalys (outil de l'IRCAM) pour la synthèse de timbre
\medskip
\begin{center}
\begin{tabular}{|r|l|}
\hline
\textbf{Paramètres des bulles} & \textbf{Paramètres du mapping} \\
\hline
Nombre de voisines & Fréquence \\
Aire & Bande de fréquence \\
Périmètre & Amplitude \\
\hline
\end{tabular}
\end{center}
\medskip
Modalys simule 900 oscillateurs (un par bulle).
\pause\medskip
On peut entendre les 3 configurations spatiales précédentes :
\begin{description}
\item[Ordre] $\rightarrow$ fréquence pure ;
\item[Grain boundaries] $\rightarrow$ battement (deux fréquences proches) ;
\item[Désordre] $\rightarrow$ bruit non caractéristique.
\end{description}
On pourrait faire mieux\ldots
\end{frame}
\section{\ldots à la musification}
\begin{frame}{Enrichir la sonification}
\begin{columns}
\column{.7\textwidth}
\usebeamercolor{frametitle}
\pgfdeclarelayer{background}
\pgfsetlayers{background,main}
\begin{tikzpicture}[align=center, every node/.style={fg,auto}]
\node (phystate) {État local du système};
\node (phyobs) [below=of phystate] {Observables};
\node (sonrel) [right=of phystate] {Relations sonores\\(analogiques)};
\node (musrel) [above=of sonrel] {Relations musicales\\(symboliques)};
\node (sonobs) [below=of sonrel] {Objets sonores};
\node (phyrel) [above=of phystate] {État global du système\\Lois du système};
\node (qt) at (barycentric cs:musrel=1,phyrel=1) [black,yshift=1cm] {?};
\node (qb) at (barycentric cs:phyobs=1,sonobs=1)
[black,yshift=-1cm,font=\scriptsize] {mappings\\sonification/musification};
\draw[thick,->, dotted] (phyobs) -- (phystate);
\draw[thick,->, dotted] (phystate) -- (phyrel);
\draw[black,thick,->] (phyobs) |- (qb) -| (sonobs);
\draw[black,thick,font=\scriptsize,->] (sonobs)
to node [swap,text width=21mm] {perception (IHM)} (sonrel);
\draw[black,thick,->,dotted] (sonrel) to node [swap] {?} (phystate);
\draw[black,thick,->] (sonrel) to (musrel);
\draw[black,thick,->] (musrel.north) |- (qt) -| (phyrel.north);
\begin{pgfonlayer}{background}
\node[draw=gray,dashed,thick,fill=gray!10,inner sep=5mm,xshift=3mm,yshift=-4mm,
fit=(phystate) (sonrel) (sonobs) (phyobs) (qb)] {};
\end{pgfonlayer}
\end{tikzpicture}
\pause
\column{.3\textwidth}
\begin{itemize}
\item plus de paramètres
\item à plusieurs échelles
\item paramètres plus « riches »
\end{itemize}
Bande passante de données à mapper plus grande
\end{columns}
\end{frame}
\begin{frame}{\sonif{sound/M2}{M$_2$ : un mapping rythmique (22 s)}}
\begin{columns}
\column{.5\textwidth}
\includegraphics[width=\textwidth]{figs/chemin-rythm1}
\column{.5\textwidth}
\includegraphics[width=\textwidth]{figs/chemin-rythm2}
\end{columns}
40 premières itérations
\pause
\begin{columns}
\column{.5\textwidth}
\includegraphics[width=\textwidth]{figs/lauriesfoam}
\column{.5\textwidth}
Conclusion :
\begin{itemize}
\item on entend un changement
\item placement de $\Delta$ arbitraire
\item 1D alors que 2D
\end{itemize}
\end{columns}
\end{frame}
\begin{frame}{Des Tonnetz aux graphes de Cayley}
\begin{center}
\includegraphics[width=\textwidth]{figs/piano}
\end{center}
\hspace{2cm}$\downarrow$\hfill$\downarrow$\hspace{2cm}
\begin{columns}[c]
\column{.4\textwidth}
\includegraphics[width=\textwidth]{figs/eulers-tonnetz}\\
{\scriptsize L. Euler (1739)}
\column{.05\textwidth}
$$ \rightarrow $$
\column{.4\textwidth}
\begin{tikzpicture}
[note/.style={draw,black,circle,inner sep=.5mm,minimum size=8mm},
label distance=-1mm,label position=below left,
double distance=.5mm, scale=.5, transform shape]
\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) {\#};
\node[note,right=of Dd] (Ad) { La\#};
\draw (F) -- (C) -- node[above,midway] {+7} (G) -- (D);
\draw (A) -- (E) -- (B) -- (Fd);
\draw (Cd) -- (Gd) -- (Dd) -- (Ad);
\draw (F) -- (A) -- (Cd);
\draw (C) -- node[right,midway] {+4} (E) -- (Gd);
\draw (G) -- (B) -- (Dd);
\draw (D) -- (Fd) -- (Ad);
\draw[dashed] (Cd.north) -- +(0cm ,6mm );
\draw[dashed] (Gd.north) -- +(0cm ,6mm );
\draw[dashed] (Dd.north) -- +(0cm ,6mm );
\draw[dashed] (Ad.north) -- +(0cm ,6mm );
\draw[dashed] (F.south) -- +(0cm ,-6mm);
\draw[dashed] (C.south) -- +(0cm ,-6mm);
\draw[dashed] (G.south) -- +(0cm ,-6mm);
\draw[dashed] (D.south) -- +(0cm ,-6mm);
\draw[dashed] (F.west) -- +(-6mm,0cm );
\draw[dashed] (A.west) -- +(-6mm,0cm );
\draw[dashed] (Cd.west) -- +(-6mm,0cm );
\draw[dashed] (Ad.east) -- +(6mm ,0cm );
\draw[dashed] (Fd.east) -- +(6mm ,0cm );
\draw[dashed] (D.east) -- +(6mm ,0cm );
\end{tikzpicture}
\end{columns}
\medskip
Une présentation possible du groupe $\mathbb{Z}_{12}$ avec deux générateurs :
$$ g_{4,7} = < \mathbf{4}, \mathbf{7}\ |\ 3.\mathbf{4} + 0.\mathbf{7} = 0,\quad0.\mathbf{4} +
12.\mathbf{7} = 0,\quad\mathbf{4} + \mathbf{7} = \mathbf{7} + \mathbf{4} > $$
\end{frame}
\begin{frame}{Des Tonnetz aux graphes de Cayley (suite)}
\begin{center}
\begin{tikzpicture}
[note/.style={draw,black,circle,inner sep=2mm},
hex/.style={},
label distance=-1mm,label position=below left,
double distance=.5mm,xscale=.60\textwidth/9.2cm,
yscale=.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}
\end{center}
Peut-on entendre la déformation d'une grille hexagonale ?
\end{frame}
\begin{frame}{\sonif{sounds/M3}{M$_3$ : un mapping intervallique (53 s)}}
\begin{columns}
\column{.2\textwidth}
\begin{tikzpicture}[rotate=30,scale=.5,
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}
\column{.6\textwidth}
\includegraphics[width=\textwidth]{figs/bulandhex}
\end{columns}
\medskip
\begin{columns}
\column{.3\textwidth}
\includegraphics[width=\textwidth]{figs/hex}
\column{.3\textwidth}
\includegraphics[width=\textwidth]{figs/bul}
\end{columns}
\medskip
\begin{center}
\end{center}
\end{frame}
\begin{frame}{\sonif{sounds/M4}{M$_4$ : un mapping intervallique et rythmique (58 s)}}
Association de M$_2$ (rythme comme distance entre points) et de M$_3$
(intervalles comme projection sur un tonnetz)
\end{frame}
\section{Conclusion}
\begin{frame}{Bilan \& Perspectives}
Réalisation d'une bibliothèque logicielle \textbf{Musify} avec OpenMusic :
\begin{itemize}
\item langage fonctionnel
\item analyse musicale computationnelle
\item réutilisation pour la composition
\end{itemize}
\includegraphics[width=\textwidth]{figs/visual-prog}
\end{frame}
\begin{frame}{Bilan \& Perspectives (suite)}
Les résultats sont encourageants :
\begin{itemize}
\item On repère des phases (épisodes catastrophiques)
\item Faible temps de calcul (< quelques secondes)
\item Beaucoup de variations à étudier
\end{itemize}
Ce qui est prévu :
\begin{itemize}
\item \texttt{gnusic} (en référence à gnuplot)
\item exploration assistée des mappings (système de types ?)
\end{itemize}
\end{frame}
\begin{frame}
\begin{center}
Merci de votre attention
\end{center}
\end{frame}
\bgroup
\setbeamercolor{background canvas}{bg=black}
\begin{frame}[plain]{}
\end{frame}
\egroup
\begin{frame}{Implémentation}
QHull, Triangulation de Delaunay
\end{frame}
\begin{frame}{De 2 à 3 dimensions}
Courbes de Hilbert :
\begin{center}
\begin{figure}[ht]
%\draw [opacity=.2,line join=round,line width=1cm,
% l-system={Hilbert curve, axiom=L, order=2, step=1cm, angle=90}]
\centering
\begin{tikzpicture}[scale=.80]
\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}
\hfill
\begin{tikzpicture}[scale=.80]
\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}
\hfill
\begin{tikzpicture}[scale=.80]
\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}
\end{figure}
\end{center}
\end{frame}
\end{document}