summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--thesis/thesis.tex119
1 files changed, 95 insertions, 24 deletions
diff --git a/thesis/thesis.tex b/thesis/thesis.tex
index a6e93d7..07489aa 100644
--- a/thesis/thesis.tex
+++ b/thesis/thesis.tex
@@ -2,6 +2,7 @@
open=right, glossaries=totoc, captions=tableheading, final, BCOR=10mm,
parskip=never]{paper}
\usepackage[english]{babel}
+\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
@@ -189,25 +190,33 @@ parskip=never]{paper}
\newpage
\begin{abstract}
- In the field of spatial audio reproduction different types of software have
- been designed to cope with the needs of several rendering algorithms
+ Different types of software have been designed in the field of spatial
+ audio reproduction to cope with the needs of several rendering algorithms,
conceived over the last century. Their feasibility and reproducability in a
real environment have been evaluated and tested and their implementations
- extended.\\
- Often, spatial audio rendering software is a single-purpose application,
- that attends to the needs of a specific setup in place. Unfortunately, to
- some of these solutions, no further work is applied, leaving them
- unsupported at some point in time.\\
- Therefore, in the following work, a set of current free and open-source
+ extended, or improved accordingly.\\
+ Today, spatial audio rendering software is often a single-purpose
+ application, that attends to the needs of a specific setup in place.
+ Unfortunately, to some of these solutions, no further work is applied,
+ leaving them unsupported at some point in time. The affected hardware
+ setups range from those for large scale Wave Field Synthesis to smaller
+ ones, found in scientific research, involving Dynamic Binaural Synthesis.
+ All of them are in need of extensively supported and reliable software,
+ that can even be used, once the system's hardware has to be upgraded, due
+ to old age, or requires new software, that can not be build on older
+ Operating Systems.\\
+ In the following work, a set of current free and open-source realtime
spatial audio renderers, actively used in scientific and artistic contexts,
- is evaluated for usability, applicability and context: sWONDER, HoaLibrary
- (for PureData), 3Dj (for SuperCollider), WFSCollider and the SoundScape
- Renderer. The latter --- in contrast to the other candidates, a
- multi-purpose tool --- is chosen for a rewrite of its network based
- messaging system. Its new functionality then allows it to be used in large
- scale multi-loudspeaker setups, in which several instances work
- collectively and networked individual setups alike, while rendering the
- same virtual audio scene.\\
+ is evaluated for usability, applicability and realtime context: sWONDER,
+ HoaLibrary (for PureData), 3Dj (for SuperCollider), WFSCollider and the
+ SoundScape Renderer. The latter --- in contrast to the other candidates, a
+ multi-purpose renderer --- is chosen for a rewrite of its network based
+ messaging system, as it implements many different rendering algorithms,
+ while sitll being actively maintained.\\
+ Its new functionality allows it to be used in other environments: While
+ rendering the same virtual audio scene, large scale multi-loudspeaker
+ setups, in which several instances work collectively, are possible as well
+ as networked individual setups.\\
The SoundScape Renderer's new networking extension, along with a
client-server architecture, its messaging system with tests and workflow
examples is elaborated. New setup possibilities are contrasted with the
@@ -220,10 +229,69 @@ parskip=never]{paper}
\renewcommand{\abstractname}{Zusammenfassung}
\begin{abstract}
+ Unterschiedlichste Software wurde im Feld der Klangverräumlichung
+ geschrieben, um die vielzähligen Algorithmen des letzten Jahrhunderts
+ abbilden zu können. Die Praktikabilität und Reproduzierbarkeit dieser
+ Algorithmen in einer realen Umgebung wurde evaluiert und getetest und ihre
+ Implementationen entsprechend erweitert, oder verbessert.\\
+ Heutige Klangverräumlichungssoftware ist häufig eine Einzweck-Software,
+ welche einem spezifischen Aufbau dient. Unglücklicherweise werden einige
+ dieser Lösungen nicht weiter entwickelt, was zukünftig zwangsläufig zu
+ ihrer Unbrauchbarkeit führt. Die betroffenen Hardwareaufbauten reichen von
+ großen Anlagen, wie jene für die Umsetzung einer Wellenfeldsynthese zu
+ kleineren, in der wisschenaftlichen Forschung auffindbare, die Dynamische
+ Binauralsynthese anwenden. All jene Hardwareumgebungen benötigen Software,
+ die weitläufig unterstützt ist und verlässlich arbeitet, auch wenn die
+ Betriebssysteme, auf denen sie genutzt werden, auf einen neuen Stand
+ gebracht werden müssen (Umstände, die durch veraltete oder defekte Hardware
+ oder der zwangsläufigen Nutzung neuerer Software, die nicht auf alten
+ Betriebssystemen kompilierbar ist, hervorgerufen werden können).\\
+ In der nachfolgenden Arbeit wird die folgende Sammlung aus freien und
+ quelloffenen Anwendungen zur Echtzeit-Klangverräumlichung, die derzeit
+ aktiv in künstlerischen und wisschenschaftlichen Umgebungen Anwendung
+ finden, anhand ihrer Nutzungsmöglichkeiten, ihrer Anwendbarkeitkeit und
+ ihrer Umgebung evaluiert: sWONDER, HoaLibrary (für PureData), 3Dj (für
+ SuperCollider), WFSCollider und der SoundScape Renderer. Der letztere ---
+ im Gegensatz zu den anderen Kandidaten ein Mehrzweck-Werkzeug --- wurde
+ für eine Neuausarbeitung seiner Netzwerkfähigkeit gewählt, aufgrund seiner
+ vielzähligen Implementationen von Verräumlichungs-Algorithmen und seiner
+ noch betriebenen Weiterentwicklung.\\
+ Seine neue Funktionalität erlaubt es ihm in anderen Umgebung eingesetzt zu
+ werden: Während die gleiche virtuelle Audio-Szene verräumlicht wird, ist
+ die Anwendung nun gleichermaßen einsetzbar in einer Großanlage, in der
+ viele Instanzen zusammen arbeiten und vernetzte, individuellen Aufbauten,
+ die getrennt voneinander arbeiten.\\
+ Die neuen Netzwerkmöglichkeiten der Anwendung, zusammen mit einer
+ Client-Server Architektur, sowie seines Nachrichtensystem, anhand von
+ Arbeitsabläufen und Tests, werden ausgearbeitet. Neue Möglichkeiten der
+ Vernetzung werden der derzeitig verwendeten Netzwerkschnittstelle gegenüber
+ gestellt.\\
+ Abschließend werden ein Ausblick auf weitere Arbeit anhand der neuen
+ Netzwerkschnittstelle und generelle Verbesserungsvorschläge für den
+ SoundScape Renderer diskutiert.
+
+
\end{abstract}
\newpage
\section*{Acknowlegdements}
+ I would like to thank my supervisors Prof. Dr. Stefan Weinzierl and Henrik
+ von Coler for their tremendous efforts in making this work happen.\\
+ Special thanks to Henrik for pushing in the right moments.\\
+ \\
+ I would also like to thank Marc Voigt for bouncing off ideas every once in a
+ while and helping in realizing a test setup. Hopefully this work will be
+ useful for the setups you have to maintain in the future.\\
+ Thanks to Matthias Geier for being relentless and yet supportive.\\
+ \\
+ Special thanks to my family for their loving support over all of this time.\\
+ Thank you Nanni, for taking my mind off.\\
+ \\
+ Thanks to Sabine and Peter for reading through all of this nonsense.\\
+ \\
+ To all, whom I forgot: You know, who you are. I could not have done it
+ without you.
+
\newpage
@@ -1016,13 +1084,14 @@ ssr-binaural -p “50002”
\paragraph{Server instance}
\label{para:server-instance}
- With the help of the \textbf{-N} flag
- \pdfcomment[color=red,icon=Note]{Make -N start server, client is
- default anyways}, it is possible to start the \gls{ssr} as an
- \gls{osc} server. In Listing~\ref{lst:ssr-binaural-server-start}
- additionally, flag \textbf{-C} is used to specify an initial client
- \gls{ip} and its port (the flag actually accepts a comma-separated
- list of \gls{ip}-port pairs).\\
+ With the help of the \textbf{-N} flag, it is possible to start the
+ \gls{ssr} as an \gls{osc} server. For additional future purposes of
+ the flag, such as a \gls{gui} only mode,
+ see~\ref{subsubsec:non-renderer}. In
+ Listing~\ref{lst:ssr-binaural-server-start} additionally, flag
+ \textbf{-C} is used to specify an initial client \gls{ip} and its
+ port (the flag actually accepts a comma-separated list of
+ \gls{ip}-port pairs).\\
The \textbf{-p} flag, for setting a specific port is also available,
when starting a server instance.
@@ -1928,7 +1997,9 @@ ssr-aap -N “server” -C “127.0.0.1:50002”
instances, instead of only displaying the locally running.\\
The implementation could be desirable for massive multi-channel setups
and simply switching between several (local or network-attached)
- \gls{ssr} instances alike.\\
+ \gls{ssr} instances alike. An additional identifier for the \textbf{-N}
+ flag (see~\ref{para:server-instance}) could be used to start an
+ instance in this mode.\\
\begin{figure}[!htb]
\centering