From a3c6a54efa200516af7558a2a9498aee289ef3d4 Mon Sep 17 00:00:00 2001 From: David Runge Date: Fri, 7 Jul 2017 23:36:07 +0200 Subject: thesis/thesis.tex: Adding MIDI acronym. Elaborating on dynamic scene. Minor fixes. --- thesis/thesis.tex | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/thesis/thesis.tex b/thesis/thesis.tex index 4d2c071..9a3faab 100644 --- a/thesis/thesis.tex +++ b/thesis/thesis.tex @@ -66,6 +66,7 @@ parskip=never]{paper} \newacronym{ip}{IP}{Internet Protocol} \newacronym{jack}{JACK}{JACK Audio Connection Kit} \newacronym{madi}{MADI}{Multichannel Audio Digital Interface} +\newacronym{midi}{MIDI}{Musical Instrument Digital Interface} \newacronym{nfc-hoa}{NFC-HOA}{Near-field-compensated Higher Order Ambisonics} \newacronym{oop}{OOP}{Object-oriented Programming} \newacronym{os}{OS}{Operating System} @@ -854,7 +855,7 @@ parskip=never]{paper} example, for systems that differentiate “symbols” from “strings”)\\ \texttt{c} & an ascii character, sent as 32 bits\\ \texttt{r} & 32 bit RGBA color\\ - \texttt{m} & 4 byte MIDI message. Bytes from MSB to LSB are: port + \texttt{m} & 4 byte \gls{midi} message. Bytes from MSB to LSB are: port id, status byte, data1, data2\\ \texttt{T} & True. No bytes are allocated in the argument data.\\ \texttt{F} & False. No bytes are allocated in the argument data.\\ @@ -1959,7 +1960,7 @@ ssr-aap -N “server” -C “127.0.0.1:50002” fontsize=\footnotesize]{xml}{../../ssr/data/asdf.xsd} \end{mdframed} \caption{data/asdf.xsd: Reproduction setup, loudspeaker, circular - array and linear array definition in \gls{asdf} extended by a + array and linear array definition in \gls{asdf}, extended by a \textit{hostname} attribute} \label{lst:asdf.xsd} \end{listing}\\ @@ -2109,6 +2110,43 @@ ssr-aap -N “server” -C “127.0.0.1:50002” \subsubsection{Dynamic scene} \label{subsubsec:dynamic_scene} + When using the \gls{ssr} in a more artistic context, such as musical + scores, or in experiment environments dealing with moving sources, this + requires a dynamic scene.\ sWONDER (see~\ref{subsec:swonder}) has a + scoreplayer application, that can be synced with \gls{midi}, which is + used to record and play back scores (i.e.\ recorded source properties) + from unvalidated \gls{xml} files. WFSCollider has a fully integrated + timeline, that can be used to place multiple (even concurrent) events, + save and play them \citep[p. 10]{manual:wfscollider}.\\ + + \begin{listing}[!htb] + \begin{mdframed} + \inputminted[numbers=left, firstline=84, lastline=98, + fontsize=\footnotesize, + breaklines]{xml}{../../ssr/data/asdf.xsd} + \end{mdframed} + \caption{data/asdf.xsd: Draft of the score element within the + \gls{asdf} schema file} + \label{lst:asdf.xsd-score} + \end{listing}\\ + + Unfortunately the \gls{asdf} was never properly extended for these + purposes (see Listing~\ref{lst:asdf.xsd-score}), which is why the + \gls{ssr} is not able to deal with dynamic scenes in a comparable + fashion yet.\\ + Unlike sWONDER, the \gls{ssr} uses schema validated \gls{xml} only, + whereas 3Dj and WFSCollider use a unique format or even + \gls{supercollider} code as score files.\\ + Schema validated input is less error-prone and should generally be + preferred over single-purpose or self-conceived formats. It would + therefore be a good step to consolidate the \gls{asdf} schema part + responsible for dynamic elements, while keeping in mind the overall + message throughput as discussed + in~\ref{subsubsec:interpolation_of_moving_sources} and thus enable the + \gls{ssr} to deal with dynamic scenes efficiently.\\ + Additionally, the \gls{gui} efforts made for WFSCollider could be + combined with a \gls{ssr} backend, as it lacks a tool for creation and + controlling of dynamic content. \subsubsection{Network enabled head tracking} \label{subsubsec:network_enabled_headtracking} -- cgit v1.2.3-54-g00ecf