summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Hanspeter Portner <dev@open-music-kontrollers.ch>2017-10-14 17:21:53 +0200
committerGravatar Hanspeter Portner <dev@open-music-kontrollers.ch>2017-10-14 17:21:53 +0200
commit4dcce5fc037febbefc24b4efaecf99b2c70365a7 (patch)
tree94252454b4f9e8b8c2922ab985a01532336a22c2
parent703f4c6d3c9f82c25a738bdd12772a9ed0a7c2e5 (diff)
downloadearzoom17-4dcce5fc037febbefc24b4efaecf99b2c70365a7.zip
earzoom17-4dcce5fc037febbefc24b4efaecf99b2c70365a7.tar.gz
earzoom17-4dcce5fc037febbefc24b4efaecf99b2c70365a7.tar.bz2
earzoom17-4dcce5fc037febbefc24b4efaecf99b2c70365a7.tar.xz
pres: add missing parts abount controller design.
-rw-r--r--presentation/communication.tex48
-rw-r--r--presentation/controller.tex271
-rw-r--r--presentation/pix/01_01.pngbin0 -> 9904 bytes
-rw-r--r--presentation/pix/01_06.pngbin0 -> 22120 bytes
-rw-r--r--presentation/pix/33_12.pngbin0 -> 12381 bytes
-rw-r--r--presentation/pix/33_13.pngbin0 -> 10744 bytes
-rw-r--r--presentation/pix/33_14.pngbin0 -> 19340 bytes
-rw-r--r--presentation/pix/33_15.pngbin0 -> 8617 bytes
-rw-r--r--presentation/pix/34_01.pngbin0 -> 5833 bytes
-rw-r--r--presentation/pix/34_02.pngbin0 -> 3454 bytes
-rw-r--r--presentation/pix/34_03.pngbin0 -> 3466 bytes
-rw-r--r--presentation/pix/DSC_0198.JPGbin0 -> 116252 bytes
-rw-r--r--presentation/pix/DSC_0203.JPGbin0 -> 85868 bytes
-rw-r--r--presentation/pix/DSC_0206.JPGbin0 -> 163816 bytes
-rw-r--r--presentation/pix/DSC_0207.JPGbin0 -> 116357 bytes
-rw-r--r--presentation/pix/DSC_0214.JPGbin0 -> 132401 bytes
-rw-r--r--presentation/pix/DSC_0215.JPGbin0 -> 101934 bytes
-rw-r--r--presentation/pix/DSC_0216.JPGbin0 -> 134883 bytes
-rw-r--r--presentation/pix/DSC_0217.JPGbin0 -> 185107 bytes
-rw-r--r--presentation/pix/DSC_0226.JPGbin0 -> 121905 bytes
-rw-r--r--presentation/pix/DSC_0228.JPGbin0 -> 183816 bytes
-rw-r--r--presentation/pix/DSC_0229.JPGbin0 -> 266928 bytes
-rw-r--r--presentation/pix/DSC_0230.JPGbin0 -> 252924 bytes
-rw-r--r--presentation/pix/DSC_0231.JPGbin0 -> 252747 bytes
-rw-r--r--presentation/pix/field.pngbin0 -> 14225 bytes
-rw-r--r--presentation/pix/finger.jpgbin0 -> 37893 bytes
-rw-r--r--presentation/pix/foto_side.pngbin0 -> 139079 bytes
-rw-r--r--presentation/pix/foto_top.pngbin0 -> 166828 bytes
-rw-r--r--presentation/pix/hall_effect.pngbin0 -> 27670 bytes
-rw-r--r--presentation/pix/mplek.jpgbin0 -> 39915 bytes
-rw-r--r--presentation/pix/omk_logo_acronym-eps-converted-to.pdfbin0 -> 3838 bytes
-rw-r--r--presentation/pix/omk_logo_acronym.eps172
-rw-r--r--presentation/pix/oshw-logo-eps-converted-to.pdfbin0 -> 3428 bytes
-rw-r--r--presentation/pix/oshw-logo.eps101
-rw-r--r--presentation/pix/pcb_dsp-f3_rev4.pngbin0 -> 467266 bytes
-rw-r--r--presentation/pix/pcb_dsp-f3_rev4_assembled.pngbin0 -> 454123 bytes
-rw-r--r--presentation/pix/pcb_su-16_rev7.pngbin0 -> 280028 bytes
-rw-r--r--presentation/pix/pcb_su-16_rev7_assembled.pngbin0 -> 313495 bytes
-rw-r--r--presentation/pix/pcb_su-16_rev8.pngbin0 -> 346628 bytes
-rw-r--r--presentation/pix/pcb_su-16_rev8_assembled.pngbin0 -> 339165 bytes
-rw-r--r--presentation/pix/title.pdfbin0 -> 2682 bytes
-rw-r--r--presentation/pix/tuio.pngbin0 -> 14142 bytes
-rw-r--r--presentation/synthesis.tex420
43 files changed, 578 insertions, 434 deletions
diff --git a/presentation/communication.tex b/presentation/communication.tex
index 9f2e0b7..5d13e25 100644
--- a/presentation/communication.tex
+++ b/presentation/communication.tex
@@ -2,6 +2,34 @@
\subsection{Networking}
+\begin{frame}{Communication scheme}
+ \begin{table}[h]
+ \begin{centering}
+ \scriptsize{\begin{tabular}{l}
+ (chimaera) \\
+ \textbf{Client side} \\
+ \hline
+ Deconstruction of event data $(X_1, Y_1, P_1, G_1)$, \ldots, $(X_n, Y_n, P_n, G_n)$ \\
+ $\Downarrow$ \\
+ Serialization to Open Sound Control (e.g. TUIO, MIDI) \\
+ \hline
+ \hline
+ $\Downarrow$ \\
+ Transmission via wired IPv4 UDP/TCP \\
+ $\Downarrow$ \\
+ \hline
+ \hline
+ Deserialization from Open Sound Control \\
+ $\Downarrow$ \\
+ Reconstruction of event data $(X_1, Y_1, P_1, G_1)$, \ldots, $(X_n, Y_n, P_n, G_n)$ \\
+ \hline
+ \textbf{Host side} \\
+ (Interpreter: e.g. SuperCollider, Pure Data, MIDI, MAX/MSP, \ldots)
+ \end{tabular}}
+ \end{centering}
+ \end{table}
+\end{frame}
+
\begin{frame}{Why not USB?}
\begin{itemize}
\item Prerequisite of driver-less functioning
@@ -31,13 +59,19 @@
\item Configuration and event messaging in the same namespace
\item Well defined for networking
\end{itemize}
+
+ \footnote{\url{http://opensoundcontrol.org/}}
\end{frame}
-\begin{frame}{TUIO}
- \begin{itemize}
- \item Spec on top of OSC
- \item Well suited for tangible interfaces
- \item Widely implemented in various languages/software packages
- \item I use TUIO 2.0 (tidy name space, faster to parse)
- \end{itemize}
+\begin{frame}{TUIO (Tangible User Interface Object)}
+ \centering
+ \includegraphics[width=0.8\linewidth]{pix/tuio.png}
+
+ \footnote{\url{https://tuio.org/}}
+\end{frame}
+
+\begin{frame}{Time synchronization (dejitter) via PTPv2 @2 kHz}
+ \centering
+ \includegraphics[width=0.49\linewidth]{pix/34_01.png}
+ \includegraphics[width=0.49\linewidth]{pix/34_02.png}
\end{frame}
diff --git a/presentation/controller.tex b/presentation/controller.tex
index 8e457a0..ff558e7 100644
--- a/presentation/controller.tex
+++ b/presentation/controller.tex
@@ -2,11 +2,69 @@
\subsection{Interaction design}
-\begin{frame}{Means of interaction}
- \begin{itemize}
- \item Hand
- \item Fingers
- \end{itemize}
+\begin{frame}{Choosing the perfect sensor}
+ \begin{description}
+ \item[Light/CV] dependent on surrounding, high processing power needed
+ \item[Capacitance] dependent on surrounding, pads are generally slow to respond
+ \item[Pressure] slow to respond
+ \item[Resistance] direct exposure of sensor
+ \item[Motion] inaccurate, non-reproducible
+ \item[Sound] direct exposure of sensor
+ \end{description}
+\end{frame}
+
+\begin{frame}{Magnetic fields}
+ \begin{columns}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/field.png}
+ \end{column}
+ \begin{column}{0.5\linewidth}
+ \begin{itemize}
+ \item limited radius of influence
+ \item independent on surrounding
+ \item accurate
+ \item reproducible
+ \item responsive
+ \item embeddable
+ \end{itemize}
+ \end{column}
+ \end{columns}
+
+ \footnote{\url{https://en.wikipedia.org/wiki/Magnetic_field/}}
+\end{frame}
+
+\begin{frame}{Hall-effect}
+ \begin{columns}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/hall_effect.png}
+ \end{column}
+ \begin{column}{0.5\linewidth}
+ \begin{itemize}
+ \item measures magnetic-field strength
+ \item linear response
+ \item accurate
+ \item reproducible
+ \item responsive
+ \end{itemize}
+ \end{column}
+ \end{columns}
+
+ \footnote{\url{https://en.wikipedia.org/wiki/Hall_effect/}}
+\end{frame}
+
+\begin{frame}{Magnetic-field vs. vicinity relationship}
+ \begin{columns}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{fig/fit.pdf}
+ \end{column}
+ \begin{column}{0.5\linewidth}
+ \begin{itemize}
+ \item non-linear
+ \item dependent on magnet dimensions
+ \item dependent on magnet material
+ \end{itemize}
+ \end{column}
+ \end{columns}
\end{frame}
\begin{frame}{Spatial dimensions}
@@ -24,22 +82,73 @@
\subsection{Hardware design}
-\begin{frame}{Mechanical vs non-mechanical}
- \begin{itemize}
- \item More complex to build
- \item Breaks more easily
- \item More resistance limiting reponsiveness/expressiveness
- \end{itemize}
+\begin{frame}{Sensor Unit 1}
+ \centering
+ \includegraphics[width=\linewidth]{pix/pcb_su-16_rev8_assembled.png}
\end{frame}
-\begin{frame}{Sensor array dump}
- \centering
- \includegraphics[width=\linewidth]{fig/dump.pdf}
+\begin{frame}{Sensor Unit 2}
+ \begin{columns}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/pcb_su-16_rev8_assembled.png}
+ \end{column}
+ \begin{column}{0.5\linewidth}
+ \begin{itemize}
+ \item purely analogue
+ \item voltage regulator
+ \item 16x Hall-effect sensors
+ \item 16:1 analogue multiplexer
+ \item OpAmp circuitry (calibration)
+ \end{itemize}
+ \end{column}
+ \end{columns}
\end{frame}
-\begin{frame}{Magnetic vicinity vs distance relationship}
+\begin{frame}{DSP Unit 1}
\centering
- \includegraphics[width=0.5\linewidth]{fig/fit.pdf}
+ \includegraphics[width=0.9\linewidth]{pix/pcb_dsp-f3_rev4_assembled.png}
+\end{frame}
+
+\begin{frame}{DSP Unit 2}
+ \begin{columns}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/pcb_dsp-f3_rev4_assembled.png}
+ \end{column}
+ \begin{column}{0.5\linewidth}
+ \begin{itemize}
+ \item ARM Cortex M4 @72 Mhz (brain)
+ \item in-silico UDP/TCP/IPv4 stack (communication)
+ \item EEPROM (storage)
+ \item 3x 12-it ADCs
+ \item USB port (firmware flashing)
+ \end{itemize}
+ \end{column}
+ \end{columns}
+\end{frame}
+
+\begin{frame}{Sensor array 1}
+ \begin{figure}[h]
+ \begin{centering}
+ \normalsize{\begin{tabular}{ccc}
+ \includegraphics[width=0.45\linewidth]{pix/pcb_su-16_rev8_assembled} & &
+ \includegraphics[width=0.45\linewidth]{pix/pcb_dsp-f3_rev4_assembled}\\
+
+ $(1-10)\times$ & $+$ & $1\times$ \\
+ \textbf{Sensor unit} & & \textbf{Digital signal processing unit} \\
+ \end{tabular}}
+ \end{centering}
+ \end{figure}
+\end{frame}
+
+\begin{frame}{Sensor array 2}
+ \begin{figure}[h]
+ \begin{centering}
+ \includegraphics[width=0.24\linewidth]{pix/pcb_su-16_rev8_assembled}
+ \includegraphics[width=0.24\linewidth]{pix/pcb_su-16_rev8_assembled}
+ \includegraphics[width=0.24\linewidth]{pix/pcb_su-16_rev8_assembled}
+ \includegraphics[width=0.24\linewidth]{pix/pcb_dsp-f3_rev4_assembled}
+ \end{centering}
+ \end{figure}
\end{frame}
\begin{frame}{Modularity}
@@ -54,13 +163,52 @@
\end{tabular}
\end{frame}
-\subsection{Firmware design}
+\begin{frame}{Build 1}
+ \includegraphics[width=0.49\textwidth]{pix/DSC_0198.JPG}
+ \includegraphics[width=0.49\textwidth]{pix/DSC_0203.JPG}
+\end{frame}
-\begin{frame}{No interpolation}
+\begin{frame}{Build 2}
+ \includegraphics[width=0.49\textwidth]{pix/DSC_0206.JPG}
+ \includegraphics[width=0.49\textwidth]{pix/DSC_0207.JPG}
+\end{frame}
+
+\begin{frame}{Build 3}
+ \includegraphics[width=0.49\textwidth]{pix/DSC_0216.JPG}
+ \includegraphics[width=0.49\textwidth]{pix/DSC_0217.JPG}
+\end{frame}
+
+\begin{frame}{Build 4}
\centering
- \includegraphics[width=0.5\linewidth]{fig/interpolation_01.pdf}
+ \includegraphics[width=0.7\textwidth]{pix/DSC_0228.JPG}
+\end{frame}
+
+\begin{frame}{Magnetic Plektrum}
+ \includegraphics[width=0.49\textwidth]{pix/mplek.jpg}
+ \includegraphics[width=0.49\textwidth]{pix/finger.jpg}
\end{frame}
+\begin{frame}{Ergonomics}
+ \begin{figure}[h]
+ \begin{centering}
+ \includegraphics[width=0.45\linewidth]{pix/foto_side}
+ \includegraphics[width=0.45\linewidth]{pix/foto_top}
+ \end{centering}
+ \end{figure}
+\end{frame}
+
+\begin{frame}{Sensor array dump}
+ \centering
+ \includegraphics[width=\linewidth]{fig/dump.pdf}
+\end{frame}
+
+\subsection{Firmware design}
+
+%\begin{frame}{No interpolation}
+% \centering
+% \includegraphics[width=0.5\linewidth]{fig/interpolation_01.pdf}
+%\end{frame}
+
%\begin{frame}{Linear/weighted interpolation}
% \centering
% \includegraphics[width=0.5\linewidth]{fig/interpolation_02.pdf}
@@ -71,12 +219,85 @@
\includegraphics[width=0.5\linewidth]{fig/interpolation_03.pdf}
\end{frame}
-\begin{frame}{Interpolation with Catmull-Rom splines}
- \centering
- \includegraphics[width=0.5\linewidth]{fig/interpolation_04.pdf}
+%\begin{frame}{Interpolation with Catmull-Rom splines}
+% \centering
+% \includegraphics[width=0.5\linewidth]{fig/interpolation_04.pdf}
+%\end{frame}
+
+%\begin{frame}{Interpolation with Lagrange polynomials}
+% \centering
+% \includegraphics[width=0.5\linewidth]{fig/interpolation_05.pdf}
+%\end{frame}
+
+\begin{frame}{Blob detection/tracking}
+ \begin{table}[h]
+ \begin{centering}
+ \footnotesize{\begin{tabular}{lcl}
+ & & Sensor dump \\
+ & & $\Downarrow$ \\
+ & & Areas of interest \\
+ & & $\Downarrow$ \\
+ Sensor calibration & $\Rightarrow$ & Sensor value normalization \\
+ & & $\Downarrow$ \\
+ $\Updownarrow$ & & Blob detection \\
+ & & $\Downarrow$ \\
+ Magnet calibration & $\Rightarrow$ & Vicinity estimation \\
+ & & $\Downarrow$ \\
+ & & Polynomial blob interpolation \\
+ & & $\Downarrow$ \\
+ & & Blob tracking over space and time \\
+ & & $\Downarrow$ \\
+ & & Event data generation \\
+ & & (position $X_i$, vicinity $Y_i$, polarity $P_i$, group $G_i$)
+ \end{tabular}}
+ \end{centering}
+ \end{table}
\end{frame}
-\begin{frame}{Interpolation with Lagrange polynomials}
- \centering
- \includegraphics[width=0.5\linewidth]{fig/interpolation_05.pdf}
+\begin{frame}{Accuracy}
+ \begin{columns}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/33_12.png}
+ \end{column}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/33_13.png}
+ \end{column}
+ \end{columns}
+\end{frame}
+
+\begin{frame}{Resolution 1}
+ \begin{columns}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/33_14.png}
+ \end{column}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/33_15.png}
+ \end{column}
+ \end{columns}
+\end{frame}
+
+\begin{frame}{Resolution 2}
+ \begin{columns}
+ \begin{column}{0.5\linewidth}
+ \begin{itemize}
+ \item around 14-bit
+ \item 16384 resolvable x-positions
+ \item $<$ 0.3 cents (4 Octaves)
+ \end{itemize}
+ \end{column}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/33_15.png}
+ \end{column}
+ \end{columns}
+\end{frame}
+
+\begin{frame}{Velocity Smoothing}
+ \begin{columns}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/01_01.png}
+ \end{column}
+ \begin{column}{0.5\linewidth}
+ \includegraphics[width=\linewidth]{pix/01_06.png}
+ \end{column}
+ \end{columns}
\end{frame}
diff --git a/presentation/pix/01_01.png b/presentation/pix/01_01.png
new file mode 100644
index 0000000..e7b6369
--- /dev/null
+++ b/presentation/pix/01_01.png
Binary files differ
diff --git a/presentation/pix/01_06.png b/presentation/pix/01_06.png
new file mode 100644
index 0000000..9e3dace
--- /dev/null
+++ b/presentation/pix/01_06.png
Binary files differ
diff --git a/presentation/pix/33_12.png b/presentation/pix/33_12.png
new file mode 100644
index 0000000..cef5773
--- /dev/null
+++ b/presentation/pix/33_12.png
Binary files differ
diff --git a/presentation/pix/33_13.png b/presentation/pix/33_13.png
new file mode 100644
index 0000000..e44af46
--- /dev/null
+++ b/presentation/pix/33_13.png
Binary files differ
diff --git a/presentation/pix/33_14.png b/presentation/pix/33_14.png
new file mode 100644
index 0000000..45d0a8f
--- /dev/null
+++ b/presentation/pix/33_14.png
Binary files differ
diff --git a/presentation/pix/33_15.png b/presentation/pix/33_15.png
new file mode 100644
index 0000000..faa5e11
--- /dev/null
+++ b/presentation/pix/33_15.png
Binary files differ
diff --git a/presentation/pix/34_01.png b/presentation/pix/34_01.png
new file mode 100644
index 0000000..f3658cc
--- /dev/null
+++ b/presentation/pix/34_01.png
Binary files differ
diff --git a/presentation/pix/34_02.png b/presentation/pix/34_02.png
new file mode 100644
index 0000000..76f401d
--- /dev/null
+++ b/presentation/pix/34_02.png
Binary files differ
diff --git a/presentation/pix/34_03.png b/presentation/pix/34_03.png
new file mode 100644
index 0000000..3c4a474
--- /dev/null
+++ b/presentation/pix/34_03.png
Binary files differ
diff --git a/presentation/pix/DSC_0198.JPG b/presentation/pix/DSC_0198.JPG
new file mode 100644
index 0000000..5cca19c
--- /dev/null
+++ b/presentation/pix/DSC_0198.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0203.JPG b/presentation/pix/DSC_0203.JPG
new file mode 100644
index 0000000..2b5c35f
--- /dev/null
+++ b/presentation/pix/DSC_0203.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0206.JPG b/presentation/pix/DSC_0206.JPG
new file mode 100644
index 0000000..4858474
--- /dev/null
+++ b/presentation/pix/DSC_0206.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0207.JPG b/presentation/pix/DSC_0207.JPG
new file mode 100644
index 0000000..af62a24
--- /dev/null
+++ b/presentation/pix/DSC_0207.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0214.JPG b/presentation/pix/DSC_0214.JPG
new file mode 100644
index 0000000..f27a95e
--- /dev/null
+++ b/presentation/pix/DSC_0214.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0215.JPG b/presentation/pix/DSC_0215.JPG
new file mode 100644
index 0000000..01f8e8f
--- /dev/null
+++ b/presentation/pix/DSC_0215.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0216.JPG b/presentation/pix/DSC_0216.JPG
new file mode 100644
index 0000000..893b806
--- /dev/null
+++ b/presentation/pix/DSC_0216.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0217.JPG b/presentation/pix/DSC_0217.JPG
new file mode 100644
index 0000000..f0c0f06
--- /dev/null
+++ b/presentation/pix/DSC_0217.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0226.JPG b/presentation/pix/DSC_0226.JPG
new file mode 100644
index 0000000..284ff37
--- /dev/null
+++ b/presentation/pix/DSC_0226.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0228.JPG b/presentation/pix/DSC_0228.JPG
new file mode 100644
index 0000000..1d45cc9
--- /dev/null
+++ b/presentation/pix/DSC_0228.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0229.JPG b/presentation/pix/DSC_0229.JPG
new file mode 100644
index 0000000..1c9737c
--- /dev/null
+++ b/presentation/pix/DSC_0229.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0230.JPG b/presentation/pix/DSC_0230.JPG
new file mode 100644
index 0000000..7e655a8
--- /dev/null
+++ b/presentation/pix/DSC_0230.JPG
Binary files differ
diff --git a/presentation/pix/DSC_0231.JPG b/presentation/pix/DSC_0231.JPG
new file mode 100644
index 0000000..2d66119
--- /dev/null
+++ b/presentation/pix/DSC_0231.JPG
Binary files differ
diff --git a/presentation/pix/field.png b/presentation/pix/field.png
new file mode 100644
index 0000000..83873a0
--- /dev/null
+++ b/presentation/pix/field.png
Binary files differ
diff --git a/presentation/pix/finger.jpg b/presentation/pix/finger.jpg
new file mode 100644
index 0000000..c03ab5c
--- /dev/null
+++ b/presentation/pix/finger.jpg
Binary files differ
diff --git a/presentation/pix/foto_side.png b/presentation/pix/foto_side.png
new file mode 100644
index 0000000..48e088a
--- /dev/null
+++ b/presentation/pix/foto_side.png
Binary files differ
diff --git a/presentation/pix/foto_top.png b/presentation/pix/foto_top.png
new file mode 100644
index 0000000..b49fb87
--- /dev/null
+++ b/presentation/pix/foto_top.png
Binary files differ
diff --git a/presentation/pix/hall_effect.png b/presentation/pix/hall_effect.png
new file mode 100644
index 0000000..5d70a90
--- /dev/null
+++ b/presentation/pix/hall_effect.png
Binary files differ
diff --git a/presentation/pix/mplek.jpg b/presentation/pix/mplek.jpg
new file mode 100644
index 0000000..752f57d
--- /dev/null
+++ b/presentation/pix/mplek.jpg
Binary files differ
diff --git a/presentation/pix/omk_logo_acronym-eps-converted-to.pdf b/presentation/pix/omk_logo_acronym-eps-converted-to.pdf
new file mode 100644
index 0000000..1a67147
--- /dev/null
+++ b/presentation/pix/omk_logo_acronym-eps-converted-to.pdf
Binary files differ
diff --git a/presentation/pix/omk_logo_acronym.eps b/presentation/pix/omk_logo_acronym.eps
new file mode 100644
index 0000000..a69b8f4
--- /dev/null
+++ b/presentation/pix/omk_logo_acronym.eps
@@ -0,0 +1,172 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.12.16 (http://cairographics.org)
+%%CreationDate: Tue Apr 22 16:50:31 2014
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 -1 157 144
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 -1 157 144
+%%EndPageSetup
+q 0 -1 157 145 rectclip q
+1 g
+25.191 0.787 m 25.191 34.966 l 25.191 38.248 23.641 40.447 20.543 41.556
+ c 20.543 42.103 l 31.043 42.103 l 32.336 41.337 33.293 40.318 33.914 39.041
+ c 35.098 39.771 36.41 40.408 37.852 40.955 c 40.824 42.087 43.559 42.65
+ 46.055 42.65 c 50.246 42.65 53.758 41.349 56.582 38.74 c 57.039 38.322
+57.438 37.877 57.785 37.4 c 58.988 38.548 60.32 39.607 61.777 40.572 c 63.875
+ 41.959 66.426 42.65 69.434 42.65 c 75.086 42.65 79.777 40.701 83.516 36.798
+ c 86.961 33.209 88.684 28.716 88.684 23.318 c 88.684 18.49 87.516 14.013
+ 85.184 9.892 c 83.617 7.123 81.402 4.087 78.539 0.787 c 67.055 0.787 l
+71.082 3.705 74.266 7.478 76.598 12.107 c 78.094 15.08 78.84 18.552 78.84
+ 22.525 c 78.84 26.318 77.973 29.306 76.242 31.494 c 74.402 33.83 72.121
+ 34.994 69.406 34.994 c 67.02 34.994 64.949 34.267 63.199 32.806 c 61.305
+ 31.22 60.355 28.841 60.355 25.67 c 60.355 0.787 l 50.785 0.787 l 50.785
+ 29.552 l 50.785 31.357 50.312 32.716 49.363 33.627 c 48.305 34.65 47.047
+ 35.158 45.59 35.158 c 42.637 35.158 40.148 34.377 38.125 32.806 c 35.883
+ 31.076 34.762 28.697 34.762 25.67 c 34.762 0.787 l 25.191 0.787 l f
+0 g
+1.6 w
+0 J
+0 j
+[] 0.0 d
+4 M q 1 0 0 -1 0 143.024994 cm
+25.191 142.238 m 25.191 108.059 l 25.191 104.777 23.641 102.578 20.543
+101.469 c 20.543 100.922 l 31.043 100.922 l 32.336 101.688 33.293 102.707
+ 33.914 103.984 c 35.098 103.254 36.41 102.617 37.852 102.07 c 40.824 100.938
+ 43.559 100.375 46.055 100.375 c 50.246 100.375 53.758 101.676 56.582 104.285
+ c 57.039 104.703 57.438 105.148 57.785 105.625 c 58.988 104.477 60.32 103.418
+ 61.777 102.453 c 63.875 101.066 66.426 100.375 69.434 100.375 c 75.086
+100.375 79.777 102.324 83.516 106.227 c 86.961 109.816 88.684 114.309 88.684
+ 119.707 c 88.684 124.535 87.516 129.012 85.184 133.133 c 83.617 135.902
+ 81.402 138.938 78.539 142.238 c 67.055 142.238 l 71.082 139.32 74.266 135.547
+ 76.598 130.918 c 78.094 127.945 78.84 124.473 78.84 120.5 c 78.84 116.707
+ 77.973 113.719 76.242 111.531 c 74.402 109.195 72.121 108.031 69.406 108.031
+ c 67.02 108.031 64.949 108.758 63.199 110.219 c 61.305 111.805 60.355 114.184
+ 60.355 117.355 c 60.355 142.238 l 50.785 142.238 l 50.785 113.473 l 50.785
+ 111.668 50.312 110.309 49.363 109.398 c 48.305 108.375 47.047 107.867 45.59
+ 107.867 c 42.637 107.867 40.148 108.648 38.125 110.219 c 35.883 111.949
+ 34.762 114.328 34.762 117.355 c 34.762 142.238 l 25.191 142.238 l S Q
+1 g
+96.941 0.787 m 96.941 34.966 l 96.941 38.248 95.391 40.447 92.293 41.556
+ c 92.293 42.103 l 102.793 42.103 l 105.273 40.627 106.512 38.248 106.512
+ 34.966 c 106.512 15.552 l 110.961 17.302 114.242 19.162 116.355 21.13 c
+ 119.234 23.81 120.676 26.72 120.676 29.853 c 120.676 32.334 119.93 34.584
+ 118.434 36.607 c 116.867 38.795 115.188 40.627 113.402 42.103 c 124.668
+ 42.103 l 125.871 40.939 127.102 39.361 128.359 37.373 c 129.801 35.095
+130.52 32.662 130.52 30.072 c 130.52 26.427 129.242 23.009 126.691 19.818
+ c 125.031 17.779 122.863 15.92 120.184 14.24 c 136.234 0.787 l 122.207
+0.787 l 111.324 9.92 l 109.281 9.009 107.68 8.361 106.512 7.978 c 106.512
+ 0.787 l 96.941 0.787 l f
+0 g
+q 1 0 0 -1 0 143.024994 cm
+96.941 142.238 m 96.941 108.059 l 96.941 104.777 95.391 102.578 92.293
+101.469 c 92.293 100.922 l 102.793 100.922 l 105.273 102.398 106.512 104.777
+ 106.512 108.059 c 106.512 127.473 l 110.961 125.723 114.242 123.863 116.355
+ 121.895 c 119.234 119.215 120.676 116.305 120.676 113.172 c 120.676 110.691
+ 119.93 108.441 118.434 106.418 c 116.867 104.23 115.188 102.398 113.402
+ 100.922 c 124.668 100.922 l 125.871 102.086 127.102 103.664 128.359 105.652
+ c 129.801 107.93 130.52 110.363 130.52 112.953 c 130.52 116.598 129.242
+ 120.016 126.691 123.207 c 125.031 125.246 122.863 127.105 120.184 128.785
+ c 136.234 142.238 l 122.207 142.238 l 111.324 133.105 l 109.281 134.016
+ 107.68 134.664 106.512 135.047 c 106.512 142.238 l 96.941 142.238 l S Q
+0.733333 0 0 rg
+4.8 w
+q 1 0 0 -1 0 143.024994 cm
+-0.012 90.379 m 156.789 90.379 l S Q
+q 1 0 0 -1 0 143.024994 cm
+-0.012 2.391 m 156.789 2.391 l S Q
+1 g
+53.137 103.814 m 53.762 92.017 57.191 82.134 63.426 74.486 c 69.66 66.834
+ 77.141 63.009 85.871 63.009 c 92.574 63.806 97.25 66.037 99.898 69.861
+c 102.395 73.689 103.641 80.384 103.641 89.787 c 102.703 101.9 99.277 111.783
+ 93.039 119.275 c 86.805 126.767 79.324 130.591 70.285 130.591 c 64.051
+129.474 59.684 127.244 57.035 123.58 c 54.387 120.072 53.137 113.377 53.137
+ 103.814 c h
+14.172 97.119 m 14.172 106.841 17.602 114.654 24.613 120.548 c 31.629 126.607
+ 40.047 130.752 49.863 133.302 c 59.527 135.693 68.57 136.966 76.832 136.966
+ c 85.871 136.966 95.379 135.693 105.199 133.302 c 115.176 130.912 123.746
+ 126.607 131.074 120.709 c 138.398 114.81 142.297 106.841 142.605 97.119
+ c 142.605 87.396 139.18 79.427 132.164 73.369 c 125.148 67.314 116.734
+63.009 107.07 60.459 c 97.25 57.908 88.055 56.634 79.324 56.634 c 69.973
+ 56.634 60.465 57.908 50.488 60.298 c 40.668 62.849 32.25 66.994 25.082
+73.052 c 18.066 79.107 14.328 87.076 14.172 97.119 c h
+f*
+0 g
+1.6 w
+q 1 0 0 -1 0 143.024994 cm
+53.137 39.211 m 53.762 51.008 57.191 60.891 63.426 68.539 c 69.66 76.191
+ 77.141 80.016 85.871 80.016 c 92.574 79.219 97.25 76.988 99.898 73.164
+c 102.395 69.336 103.641 62.641 103.641 53.238 c 102.703 41.125 99.277 31.242
+ 93.039 23.75 c 86.805 16.258 79.324 12.434 70.285 12.434 c 64.051 13.551
+ 59.684 15.781 57.035 19.445 c 54.387 22.953 53.137 29.648 53.137 39.211
+ c h
+14.172 45.906 m 14.172 36.184 17.602 28.371 24.613 22.477 c 31.629 16.418
+ 40.047 12.273 49.863 9.723 c 59.527 7.332 68.57 6.059 76.832 6.059 c 85.871
+ 6.059 95.379 7.332 105.199 9.723 c 115.176 12.113 123.746 16.418 131.074
+ 22.316 c 138.398 28.215 142.297 36.184 142.605 45.906 c 142.605 55.629
+139.18 63.598 132.164 69.656 c 125.148 75.711 116.734 80.016 107.07 82.566
+ c 97.25 85.117 88.055 86.391 79.324 86.391 c 69.973 86.391 60.465 85.117
+ 50.488 82.727 c 40.668 80.176 32.25 76.031 25.082 69.973 c 18.066 63.918
+ 14.328 55.949 14.172 45.906 c h
+S Q
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/presentation/pix/oshw-logo-eps-converted-to.pdf b/presentation/pix/oshw-logo-eps-converted-to.pdf
new file mode 100644
index 0000000..a1cb381
--- /dev/null
+++ b/presentation/pix/oshw-logo-eps-converted-to.pdf
Binary files differ
diff --git a/presentation/pix/oshw-logo.eps b/presentation/pix/oshw-logo.eps
new file mode 100644
index 0000000..f5b13af
--- /dev/null
+++ b/presentation/pix/oshw-logo.eps
@@ -0,0 +1,101 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: cairo 1.12.16 (http://cairographics.org)
+%%CreationDate: Tue Apr 22 16:42:45 2014
+%%Pages: 1
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%BoundingBox: 0 -1 108 97
+%%EndComments
+%%BeginProlog
+save
+50 dict begin
+/q { gsave } bind def
+/Q { grestore } bind def
+/cm { 6 array astore concat } bind def
+/w { setlinewidth } bind def
+/J { setlinecap } bind def
+/j { setlinejoin } bind def
+/M { setmiterlimit } bind def
+/d { setdash } bind def
+/m { moveto } bind def
+/l { lineto } bind def
+/c { curveto } bind def
+/h { closepath } bind def
+/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
+ 0 exch rlineto 0 rlineto closepath } bind def
+/S { stroke } bind def
+/f { fill } bind def
+/f* { eofill } bind def
+/n { newpath } bind def
+/W { clip } bind def
+/W* { eoclip } bind def
+/BT { } bind def
+/ET { } bind def
+/pdfmark where { pop globaldict /?pdfmark /exec load put }
+ { globaldict begin /?pdfmark /pop load def /pdfmark
+ /cleartomark load def end } ifelse
+/BDC { mark 3 1 roll /BDC pdfmark } bind def
+/EMC { mark /EMC pdfmark } bind def
+/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
+/Tj { show currentpoint cairo_store_point } bind def
+/TJ {
+ {
+ dup
+ type /stringtype eq
+ { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
+ } forall
+ currentpoint cairo_store_point
+} bind def
+/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
+ cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
+/Tf { pop /cairo_font exch def /cairo_font_matrix where
+ { pop cairo_selectfont } if } bind def
+/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
+ /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
+ /cairo_font where { pop cairo_selectfont } if } bind def
+/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
+ cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
+/g { setgray } bind def
+/rg { setrgbcolor } bind def
+/d1 { setcachedevice } bind def
+%%EndProlog
+%%Page: 1 1
+%%BeginPageSetup
+%%PageBoundingBox: 0 -1 108 97
+%%EndPageSetup
+q 0 -1 108 98 rectclip q
+1 g
+106.527 50.328 m 93.379 52.773 l 93.059 52.832 92.707 53.132 92.598 53.441
+ c 88.566 62.847 l 88.418 63.136 88.445 63.593 88.633 63.863 c 96.293 75.031
+ l 96.477 75.3 96.441 75.711 96.211 75.941 c 86.641 85.511 l 86.41 85.742
+ 86 85.781 85.73 85.593 c 74.367 77.796 l 74.098 77.613 73.637 77.578 73.348
+ 77.722 c 64.23 81.453 l 63.922 81.558 63.617 81.902 63.559 82.222 c 61.027
+ 95.828 l 60.965 96.148 60.652 96.41 60.324 96.41 c 46.789 96.41 l 46.461
+ 96.41 46.145 96.148 46.086 95.828 c 43.555 82.222 l 43.496 81.902 43.195
+ 81.558 42.883 81.453 c 33.766 77.722 l 33.473 77.578 33.012 77.613 32.746
+ 77.796 c 21.383 85.593 l 21.113 85.781 20.703 85.742 20.473 85.511 c 10.902
+ 75.941 l 10.672 75.711 10.633 75.3 10.816 75.031 c 18.48 63.863 l 18.664
+ 63.593 18.695 63.136 18.543 62.847 c 14.512 53.441 l 14.406 53.132 14.055
+ 52.832 13.734 52.773 c 0.582 50.328 l 0.262 50.265 0 49.949 0 49.625 c
+0 36.089 l 0 35.761 0.262 35.445 0.586 35.386 c 13.41 33 l 13.734 32.941
+ 14.074 32.636 14.172 32.324 c 18.18 22.32 l 18.32 22.027 18.289 21.57 18.102
+ 21.3 c 10.816 10.679 l 10.633 10.414 10.668 10.004 10.898 9.773 c 20.473
+ 0.203 l 20.703 -0.028 21.109 -0.067 21.379 0.117 c 31.812 7.277 l 32.078
+ 7.461 32.531 7.476 32.812 7.312 c 37.41 4.855 l 37.703 4.707 38.043 4.832
+ 38.168 5.132 c 47.652 28.05 l 47.777 28.351 47.652 28.738 47.375 28.906
+ c 46.223 29.613 l 46.008 29.742 45.723 29.964 45.496 30.171 c 41.34 32.828
+ 38.586 37.48 38.586 42.777 c 38.586 51.046 45.289 57.746 53.555 57.746
+c 61.82 57.746 68.523 51.046 68.523 42.777 c 68.523 37.48 65.77 32.828 61.613
+ 30.171 c 61.391 29.964 61.102 29.742 60.891 29.613 c 59.738 28.906 l 59.461
+ 28.738 59.336 28.351 59.461 28.05 c 68.941 5.132 l 69.066 4.832 69.406
+4.707 69.699 4.855 c 74.301 7.308 l 74.582 7.472 75.031 7.461 75.301 7.277
+ c 85.73 0.117 l 86 -0.067 86.41 -0.028 86.637 0.199 c 96.211 9.769 l 96.441
+ 10.004 96.48 10.41 96.293 10.679 c 89.008 21.3 l 88.824 21.566 88.789 22.027
+ 88.934 22.32 c 92.938 32.324 l 93.035 32.636 93.375 32.941 93.699 33 c
+106.527 35.386 l 106.844 35.445 107.109 35.761 107.109 36.089 c 107.109
+49.625 l 107.109 49.949 106.848 50.265 106.527 50.328 c f
+Q Q
+showpage
+%%Trailer
+end restore
+%%EOF
diff --git a/presentation/pix/pcb_dsp-f3_rev4.png b/presentation/pix/pcb_dsp-f3_rev4.png
new file mode 100644
index 0000000..6dab0e7
--- /dev/null
+++ b/presentation/pix/pcb_dsp-f3_rev4.png
Binary files differ
diff --git a/presentation/pix/pcb_dsp-f3_rev4_assembled.png b/presentation/pix/pcb_dsp-f3_rev4_assembled.png
new file mode 100644
index 0000000..660ec19
--- /dev/null
+++ b/presentation/pix/pcb_dsp-f3_rev4_assembled.png
Binary files differ
diff --git a/presentation/pix/pcb_su-16_rev7.png b/presentation/pix/pcb_su-16_rev7.png
new file mode 100644
index 0000000..6cd1b47
--- /dev/null
+++ b/presentation/pix/pcb_su-16_rev7.png
Binary files differ
diff --git a/presentation/pix/pcb_su-16_rev7_assembled.png b/presentation/pix/pcb_su-16_rev7_assembled.png
new file mode 100644
index 0000000..e97edfd
--- /dev/null
+++ b/presentation/pix/pcb_su-16_rev7_assembled.png
Binary files differ
diff --git a/presentation/pix/pcb_su-16_rev8.png b/presentation/pix/pcb_su-16_rev8.png
new file mode 100644
index 0000000..93856da
--- /dev/null
+++ b/presentation/pix/pcb_su-16_rev8.png
Binary files differ
diff --git a/presentation/pix/pcb_su-16_rev8_assembled.png b/presentation/pix/pcb_su-16_rev8_assembled.png
new file mode 100644
index 0000000..061e1ec
--- /dev/null
+++ b/presentation/pix/pcb_su-16_rev8_assembled.png
Binary files differ
diff --git a/presentation/pix/title.pdf b/presentation/pix/title.pdf
new file mode 100644
index 0000000..b9cc652
--- /dev/null
+++ b/presentation/pix/title.pdf
Binary files differ
diff --git a/presentation/pix/tuio.png b/presentation/pix/tuio.png
new file mode 100644
index 0000000..dd1be5b
--- /dev/null
+++ b/presentation/pix/tuio.png
Binary files differ
diff --git a/presentation/synthesis.tex b/presentation/synthesis.tex
index 4fa7e07..48ee60c 100644
--- a/presentation/synthesis.tex
+++ b/presentation/synthesis.tex
@@ -2,406 +2,22 @@
\subsection{Direct synthesis via SuperCollider}
-\begin{frame}{Frame 1}
- %TODO
-\end{frame}
-
-\subsection{LV2 plugins}
-\begin{frame}{Port types}
- \begin{description}
- \item[Audio port] \textit{sequence of audio samples}
- \item[Control port] \textit{plugin parameters controlled by e.g. knobs and sliders}
- \item[Atom port] \textit{sequence of events, e.g. MIDI $\leftarrow$ todays topic}
- \item[CV port] \textit{sequence of Control Voltage samples, rarely used)}
- \end{description}
-\end{frame}
-
-\begin{frame}{Port configurations}
- \centering
- \tiny
-
- \begin{columns}[c]
- \begin{column}{0.5\textwidth}
- \begin{table}
- \caption{Stereo filter}
- \begin{tabular}{|l|l|}
- \hline
- Inputs & Outputs \\
- \hline
- \hline
- Audio In 1 & Audio Out 1 \\
- Audio In 2 & Audio Out 2 \\
- \hline
- \end{tabular}
- \end{table}
-
- \begin{table}
- \caption{Stereo instrument}
- \begin{tabular}{|l|l|}
- \hline
- Inputs & Outputs \\
- \hline
- \hline
- Event In & \\
- Audio In 1 & Audio Out 1 \\
- Audio In 2 & Audio Out 2 \\
- \hline
- \end{tabular}
- \end{table}
- \end{column}
-
- \begin{column}{0.5\textwidth}
- \begin{table}
- \caption{Event filter}
- \begin{tabular}{|l|l|}
- \hline
- Inputs & Outputs \\
- \hline
- \hline
- Event In 1 & Event Out 1 \\
- \ldots & \ldots \\
- \hline
- \end{tabular}
- \end{table}
- \end{column}
- \end{columns}
-\end{frame}
-
-\subsection{LV2 is great}
-\begin{frame}{Why LV2?}
- \begin{itemize}
- \item Support for any kind of event (not only MIDI)
- \item Sample accurate events
- \item Awesome session management
- \item Presets are portable and easily shareable
- \end{itemize}
-\end{frame}
-
-\subsection{LV2 atoms}
-\begin{frame}{Atom prototype}
- \centering
-
- \begin{bytefield}[endianness=little,bitwidth=0.1em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \begin{rightwordgroup}{Header}
- \bitbox{32}{size}
- \bitbox{32}{type}
- \end{rightwordgroup} \\
- \begin{rightwordgroup}{Payload}
- \wordbox[lrt]{1}{body} \\
- \skippedwords \\
- \wordbox[lrb]{1}{}
- \end{rightwordgroup}
- \end{bytefield}
-\end{frame}
-
-\begin{frame}{Atom primitives (1)}
- \centering
- \tiny
-
- \begin{columns}[c]
- \begin{column}{0.5\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Bool body}
- \bitbox{32}{int32}
- \end{rightwordgroup}
- \end{bytefield}
-
- \vspace{2em}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{32-bit Integer body}
- \bitbox{32}{int32}
- \end{rightwordgroup}
- \end{bytefield}
-
- \vspace{2em}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Single-precision body}
- \bitbox{32}{float}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \begin{column}{0.5\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{URID body}
- \bitbox{32}{uint32}
- \end{rightwordgroup}
- \end{bytefield}
-
- \vspace{2em}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{64-bit Integer body}
- \bitbox{64}{int64}
- \end{rightwordgroup}
- \end{bytefield}
-
- \vspace{2em}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Double-precision body}
- \bitbox{64}{double}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \end{columns}
-\end{frame}
-
-\begin{frame}{Atom primitives (2)}
- \centering
- \tiny
-
- \begin{columns}[c]
- \begin{column}{0.33\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{String body}
- \wordbox[lrt]{1}{chars} \\
- \skippedwords \\
- \wordbox[lrb]{1}{}
- \end{rightwordgroup}
- \end{bytefield}
-
- \vspace{1em}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Path body}
- \wordbox[lrt]{1}{chars} \\
- \skippedwords \\
- \wordbox[lrb]{1}{}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \begin{column}{0.33\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{URI body}
- \wordbox[lrt]{1}{chars} \\
- \skippedwords \\
- \wordbox[lrb]{1}{}
- \end{rightwordgroup}
- \end{bytefield}
-
- \vspace{1em}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Literal body}
- \bitbox{32}{datatype}
- \bitbox{32}{lang}\\
- \wordbox[lrt]{1}{chars} \\
- \skippedwords \\
- \wordbox[lrb]{1}{}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \begin{column}{0.33\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Chunk body}
- \wordbox[lrt]{1}{bytes} \\
- \skippedwords \\
- \wordbox[lrb]{1}{}
- \end{rightwordgroup}
- \end{bytefield}
-
- \vspace{1em}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{MIDI body}
- \wordbox[lrt]{1}{bytes} \\
- \skippedwords \\
- \wordbox[lrb]{1}{}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \end{columns}
-\end{frame}
-
-\begin{frame}{Atom containers (1)}
- \centering
- \tiny
-
- \begin{columns}
- \begin{column}{0.5\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Tuple body}
- \bitbox{64}{atom 1} \\
- \wordbox[lrt]{1}{atom 2} \\
- \skippedwords \\
- \wordbox[lrb]{1}{atom N}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \begin{column}{0.5\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Vector body}
- \bitbox{32}{child\_size}
- \bitbox{32}{child\_type}\\
- \bitbox{64}{body 1} \\
- \wordbox[lrt]{1}{body 2} \\
- \skippedwords \\
- \wordbox[lrb]{1}{body N}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \end{columns}
-
-\end{frame}
-
-\begin{frame}{Atom containers (2)}
- \centering
- \tiny
-
- \begin{columns}
- \begin{column}{0.5\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Object body}
- \bitbox{32}{id}
- \bitbox{32}{otype}\\
- \bitbox{64}{property 1} \\
- \wordbox[lrt]{1}{property 2} \\
- \skippedwords \\
- \wordbox[lrb]{1}{property N}
- \end{rightwordgroup}
- \end{bytefield}
-
- \vspace{2em}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \begin{rightwordgroup}{Property}
- \bitbox{32}{key}
- \bitbox{32}{context}\\
- \bitbox{64}{atom}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \begin{column}{0.5\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Sequence body}
- \bitbox{32}{unit}
- \bitbox{32}{pad}\\
- \bitbox{64}{event 1} \\
- \wordbox[lrt]{1}{event 2} \\
- \skippedwords \\
- \wordbox[lrb]{1}{event N}
- \end{rightwordgroup}
- \end{bytefield}
-
- \vspace{2em}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \begin{rightwordgroup}{Event}
- \bitbox{64}{frame/beat time}\\
- \bitbox{64}{atom}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \end{columns}
-
-\end{frame}
-
-\begin{frame}{MIDI Atom and Sequence atom}
- \centering
- \tiny
-
- \begin{columns}
- \begin{column}{0.5\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{MIDI body}
- \wordbox[lrt]{1}{bytes} \\
- \skippedwords \\
- \wordbox[lrb]{1}{}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \begin{column}{0.5\textwidth}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \bitheader[endianness=little]{0,31,63} \\
- \bitbox{32}{size}
- \bitbox{32}{type}\\
- \begin{rightwordgroup}{Sequence body}
- \bitbox{32}{unit}
- \bitbox{32}{pad}\\
- \bitbox{64}{event 1} \\
- \wordbox[lrt]{1}{event 2} \\
- \skippedwords \\
- \wordbox[lrb]{1}{event N}
- \end{rightwordgroup}
- \end{bytefield}
-
- \vspace{2em}
-
- \begin{bytefield}[endianness=little,bitwidth=0.2em]{64}
- \begin{rightwordgroup}{Event}
- \bitbox{64}{frame/beat time}\\
- \bitbox{64}{atom}
- \end{rightwordgroup}
- \end{bytefield}
-
- \end{column}
- \end{columns}
-
+\begin{frame}{Mapping}
+ \begin{table}[h]
+ \begin{centering}
+ \footnotesize{\begin{tabular}{lcl|r}
+ Reconstructed event stream & & Mapping to musical entities & DF \\
+ \hline
+ $(X_1, Y_1)$ & $\Rightarrow$ & $(X_1, Y_1)$ & 1$\times$2 \\
+ $(X_1, Y_1),(X_2, Y_2)$ & $\Rightarrow$ & $(X_1, Y_1),(X_2, Y_2)$ & 2$\times$2 \\
+ %$(X_1, Y_1),(X_2, Y_2)$ & $\Rightarrow$ & $(X_1, Y_1, Y_2)$ & 1$\times$3 \\
+ %$(X_1, Y_1),(X_2, Y_2)$ & $\Rightarrow$ & $(X_1, Y_1, X_2, Y_2)$ & 1$\times$4 \\
+ %$(X_1, Y_1),(X_2, Y_2)$ & $\Rightarrow$ & $(X_1, Y_1, |X_2-X_1|, Y_2)$ & 1$\times$4 \\
+ $(X_1, Y_1),(X_2, Y_2)$ & $\Rightarrow$ & $(X_1, Y_1, \dot{X_2}, \dot{Y_2})$ & 1$\times$4 \\
+ $(X_1, Y_1),(X_2, Y_2),(X_3, Y_3),(X_4, Y_4)$ & $\Rightarrow$ & $(X_1, Y_1, \dot{Y_2}, X_3, Y_3, \dot{Y_4})$ & 1$\times$6 \\
+ $(X_1, Y_1),(X_2, Y_2),(X_3, Y_3),(X_4, Y_4)$ & $\Rightarrow$ & $(X_1, Y_1, Y_2),(X_3, Y_3, Y_4)$ & 2$\times$3 \\
+ $(X_1, Y_1),(X_2, Y_2),(X_3, Y_3),(X_4, Y_4)$ & $\Rightarrow$ & $(X_1, Y_1, |X_2-X_1|, Y_2),(X_3, Y_3, \dot{X_4}, \dot{Y_4})$ & 2$\times$4
+ \end{tabular}}
+ \end{centering}
+ \end{table}
\end{frame}