summaryrefslogtreecommitdiffstats
path: root/thesis
diff options
context:
space:
mode:
Diffstat (limited to 'thesis')
-rw-r--r--thesis/thesis.tex42
1 files 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}