diff options
Diffstat (limited to 'thesis')
-rw-r--r-- | thesis/thesis.tex | 119 |
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 |