Resonance Audio
Resonance ist ein von Google entwickeltes Software Development Kit (SDK) für räumliches Audio, mit dem Entwickler:innen realistische und immersive Audioerlebnisse für XR-Anwendungen schaffen können. Das SDK nutzt eine physikalisch basierte Simulation, die es Entwickler:innen ermöglicht, die Position und Bewegung von Schallquellen in der virtuellen Welt, sowie die Position und Ausrichtung der Zuhörer:innen zu steuern.
Resonance Audio enkodiert einzelne Schallquellen in einen gemeinsamen Ambisonic-Stream, um sie anschließend als Summe in binauralem Format zu dekodieren und wiederzugeben. Dazu verwendet das SDK bis zu Third-Order-Ambisonic. Der Kodierungsprozess beginnt mit der Analyse der Richtwirkung, der Entfernung und der relativen Position der Schallquellen zu Hörer:innen. Das SDK verwendet diese Informationen, um die Amplitude und Phase der Schallquellen in jedem der Ambisonic-Kanäle zu berechnen.Es berücksichtigt ebenfalls die Reflexionen und den Nachhall des Schalls in der Umgebung und schließt dafür Parameter wie Reflexionskoeffizienten, Nachhallzeit, etc. ein.
Die HRTF (bzw. HRIR), die Resonance Audio verwendet, basiert auf einem KU 100 Kunstkopf. In der Dokumentation dazu wird der Verarbeitungsprozess beschrieben und eine Anleitung für das Monitoring gegeben, was aber für dieses Projekt nicht direkt relevant war, da die integrierte Fmod-Version genutzt wurde
Die von Google zur Verfügung gestellten HRTFs konnten eine Zeit lang nicht verändert werden da das SDK aber nun als OpenSource verfügbar ist, kann ein individueller Datensatz geladen werden. In der Verwendung als Fmod-Plugin sind keine HRTFs individuell auswählbar.
Das SDK enthält außerdem eine Reihe von Funktionen und Tools, wie z.B. dynamisches Mischen, mit dem Entwickler:innen die Balance von Klängen in Echtzeit auf der Grundlage der Position und Ausrichtung des Zuhörers anpassen können und Raummodellierung, mit der Entwickler:innen virtuelle Räume erstellen können, die die Art und Weise beeinflussen, wie der Zuhörer den Klang wahrnimmt.
Google Resonance Audio wurde erstrangig für die Verwendung auf mobilen Endgeräten konzipiert und ist deswegen eine sinnvolle Entscheidung für die Entwicklung in einer VR-Umgebung.
Google Resonance Audio ist in FmodStudio als Plugin integriert und wird mit der Software geliefert. Um das SDK zu verwenden, muss es einfach in FmodStudio als Plugin ausgewählt und in den Bus eingefügt werden.
Die Resonance AudioSource Komponente dient als Encoder der den Stream an den Resonance AudioListener sendet, den man auf den Masterbus platzieren sollte.
Sobald der Bus eingerichtet ist, können Entwickler:innen die FmodStudio Tools verwenden, um Events zu erstellen, diese zuweisen und im Mixingprozess die Klangquellen und die Position und Ausrichtung der Hörer:innen steuern.
Das Resonance Audio SDK bietet ebenfalls eine Funktion namens AudioRoom. Diese Räume werden in Unity eingerichtet und bieten realistische frühe Reflexionen und Hall, wobei die Materialien der Wände, des Bodens und der Decke berücksichtigt werden. Dies funktioniert über ein “Magnitude Spectrum Reverb”.
Um den AudioRoom in Unity zu verwenden, muss ein leeres Gameobjekt erstellt und diesem die FmodResonanceAudioRoom-Komponente zugeteilt werden.
Bei der Option Surface Materials können sechs akustische Oberflächenmaterialien gewählt werden.
Diese können über die Dropdown-Menüs nach Belieben geändert werden. Der Parameter Reflectivity steuert die Stärke der frühen Reflexionen im Raum. Die Reverb Properties beeinflussen den späten Nachhall im Hörraum (der als Schuhschachtel-Raum gehandhabt wird).