Interaktive Steuerung eines 5-Kanal Surroundsystems

Martin Jann
Elektronisches Studio der Hochschule für Musik Basel


Durch Berücksichtigung der natürlichen Trägheit bei der Bewegung von Gegenständen läßt sich die Steuerbarkeit von Audiosignalen in einem 5.1-Surroundsystem deutlich verbessern. Diese Arbeit stellt eine mögliche Implementation für eine Surround-Steuerung vor.

 

  1. Einleitung

    Da die Mehrkanaltechnik durch Entwicklungen wie der DVD [1], der SACD (Super Audio CD) oder durch das Kino immer mehr Bedeutung gewinnt, werden Systeme zur Bearbeitung von Klängen für diese Anwendungen immer wichtiger. Um Klänge in einem 5.1-Surroundsystem zu plazieren oder zu bewegen bedarf es einer Surroundsteuerung, die in den meisten neueren Mischpulten heutzutage integriert ist. Mischpulte wie das Yamaha-O2R bieten die Möglichkeit Klänge innerhalb eines vorgegebenen Kreises (meistens der Lautsprecherkreis) zu bewegen. Als Eingabe wird hierfür ein gerastetes Drehrad benutzt. Professionellere Mischpulte wie z.B. das AMS-Neve Logic2 bieten einen kleinen Joystick, mit dem der Klang bewegt werden kann. Weitere Möglichkeiten sind Programme wie Sigma von Klangkonzepte oder der Spatialisateur vom Ircam, bei denen der Klang zwar auch außerhalb des LS-Kreises bewegt oder plaziert werden kann, allerdings steht als Eingabemittel meistens nur die Computermaus zur Verfügung. Mit der Maus kann man zwar Klänge sehr präzise plazieren, aber das Geräusch einer Fliege läßt sich mit derselben Leichtigkeit im Raum bewegen, wie das eines Jumbo-Jets. Durch die Implementation der Trägheitssimulation lassen sich Klänge intuitiver und natürlicher im Raum bewegen.

     

  2. 5.1-Surroundsystem

    Bei der Arbeit mit Surroundsystemen beschränke ich mich auf das 5.1-System, das zur Zeit das Weitverbreitetste ist. Dieses System benötigt 5 möglichst gleiche Lautsprecher und einen Subwoofer für Frequenzbereiche von 5 Hz bis ca. 100 Hz. Die optimale Aufstellung der Lautsprecher wurde vom SSF[2] untersucht und in einer Empfehlung veröffentlicht. Die vorderen 3 Lautsprecher sollten in einem Winkel von je 30° aufgestellt sein. Die beiden Hinteren jeweils in einem Winkel von 110° ausgehend vom mittleren (Center) Lautsprecher.

     

  3. Ansatz

    Um eine natürlichere Steuerung eines Klangs zu erreichen, könnte man ihm, bzw. dem Punkt mit dem er gesteuert wird, verschiedene Attribute wie Größe, Gewicht und Widerstand geben, die sich aber alle auf ein relevantes Attribut, nämlich der Trägheit reduzieren lassen. Die Trägheit ist für die Steuerung von Klängen wichtig, weil sich ein Klang hinsichtlich seiner Bewegungseigenschaften oft nur subjektiv definieren läßt. Klänge die sich einem reellen, materiellen Objekt zuordnen lassen, kann man zwar durch o.g. Attribute definieren, allerdings synthetisch erzeugte Klänge, die keine „natürliche“ Herkunft haben, lassen sich nur schwer in Gewicht, Größe und Widerstand beschreiben. Viel eher läßt sich jedoch beurteilen, ob ein Klang träge oder beweglich ist, denn tieffrequente Klänge werden in der Natur eher von großen und schweren Dingen erzeugt, während hochfrequente Klänge eher von sehr kleinen Dingen erzeugt werden. So ist es also einfacher einem Klang eine bestimmte Trägheit zuzuordnen, als ihn durch mehrere genaue physikalische Parameter zu beschreiben.

     

     

  4. Das 5.1-Programm

    Zuerst habe ich ein Programm innerhalb der Programmiersprache MAX 3.5.8 mit Audioerweiterung MSP geschrieben, welches einen Klang in einem virtuellen 2-dimensionalen Raum, der durch die 5 Lautsprecher und eventuell einen Subwoofer dargestellt wird, plazieren und bewegen kann. Um ein möglichst realistisches Abbild einer Position oder einer Bewegung in diesem 2-dimensionalen Raum zu erreichen, müssen verschiedene Gesetzmäßigkeiten berücksichtigt werden. Bei Bewegungen mit höherer Geschwindigkeit sollte der Doppler-Effekt hörbar sein. Befindet sich die Schallquelle weiter vom Zuhörer weg, so setzt die Luftabsorption ein, d.h. höhere Frequenzen werden von der Luft absorbiert und können vom Zuhörer nicht mehr wahrgenommen werden. Entfernt sich die Schallquelle vom Zuhörer, so nimmt die Lautstärke ab. Aus diesen Überlegungen ist ein Programm entstanden, welches die Position einer Schallquelle durch einen definierten Punkt in einem kartesischen Koordinatensystem über ein 5.1-Surroundsystem in oben beschriebener Aufstellung, akustisch simulieren kann. Die Eingabe erfolgt mittels einer Computermaus oder eines Joysticks.


      Problematisierung

      Wie bereits erwähnt entstehen bei diesen Eingabemethoden Probleme, denn die Bewegung einer Maus übertragen auf z.B. die Bewegung eines Hubschraubers wirkt sehr unnatürlich aufgrund der schnellen Veränderung der Position und der Geschwindigkeit. Es braucht viel weniger Kraft, eine Maus oder einen Joystick zu bewegen, als einen klingenden Gegenstand in einem Raum. Daraus resultiert die Unnatürlichkeit beim Übertragen von Bewegungen auf Schallquellen in einem virtuellen Raum eines Surroundsystems.

      Problemlösung

      Um das o.g. Problem zu lösen gibt es die Möglichkeit einer Bewegungssimulation auf der Basis eines physikalischen Modells. Die Bewegung eines Körpers, der die Schallquelle repräsentiert, muß so simuliert werden, daß er bei Wirken einer Kraft beschleunigt und bei nicht wirken dieser Kraft abbremst. Hat der Körper eine größere Masse so beschleunigt er langsamer während ein Körper mit geringer Masse schneller beschleunigt. Steuert man nun einen Punkt im Koordinatensystem, mit dem man die Kraft, bzw. den Kraftvektor angibt, der auf den Körper wirkt, so führt der Körper eine viel natürlichere Bewegung aus, als wenn er ohne diese Simulation „gelenkt“ wird.






      Beschreibung des Programms

      Das Programm zur Steuerung der Klänge im Surroundsystem setzt sich hauptsächlich aus 3 Teilen, der EINGABESEKTION, dem ALGORITHMUS und der AUSGABESEKTION, zusammen. Die EINGABESEKTION verarbeitet die Daten des Joysticks oder der Maus und gibt sie in Form von Koordinaten an den Algorithmus und die Ausgabesektion weiter. Zusätzlich werden von der Maus noch die Funktion des Mausknopfes und vom Joystick der Feuerknopf und die Daten einer weiteren Achse (Geschwindigkeitsregler) verarbeitet. Die Funktion des Knopfes ist die Aktivierung des Kraftvektors, der auf den Körper wirkt, bzw. bei ausgeschalteter Simulation die Positionierung des Körpers bewirkt. Die dritte Achse des Joysticks dient zur Veränderung der Masse und damit der Trägheit des Körpers. Der ALGORITHMUS, der wichtigste Teil des Programms, dient zur Berechnung der Bewegung des Körpers. Zuerst muß der Kraftvektor berechnet werden, der sich aus der Entfernung des Körpers zum Pointer[3] ergibt und mit dem Satz des Pythagoras berechnet werden kann. Wird der Pointer durch drücken des Knopfes aktiviert, so fängt die Kraft an zu wirken und der Körper wird Richtung Pointer beschleunigt, solange der Knopf gedrückt bleibt. Zu jeder Zeit wird erneut der Kraftvektor berechnet, wodurch auf den Körper immer weniger Kraft wirkt, solange der Pointer stehen bleibt. Wird der Pointer inaktiv oder nähert sich der Körper dem Pointer, so bremst der Körper durch Reibung ab und kommt zum stehen.



      Der Kraftvektor dient zur Berechnung der Geschwindigkeit, die wiederum zur Berechnung der Koordinaten dient, deren X- und Y-Werte von Xk , Yk zu Xp , Yp interpoliert werden. Die Geschwindigkeit der Interpolation ist nicht konstant, denn sonst gäbe es keine Beschleunigung und die Geschwindigkeit des Körpers wäre auch konstant. Damit der Körper eine natürliche Beschleunigung und ein natürliches Abbremsen erfährt, muß die Geschwindigkeit der Interpolation von Anfang an langsam zunehmen und gegen Ende langsam wieder abnehmen. Diese Form kann man durch das Einsetzen von Lowpass-Filtern und weiteren Interpolatoren erreichen. In dem Moment, bei dem der Kraftvektor aktiv wird, wird die Geschwindigkeit von 0 auf den entsprechenden Wert linear interpoliert. Die Zeit der Interpolation, also der Beschleunigung, ist abhängig von der Masse des Körpers und wird durch einfache Multiplikation berechnet. Wird der Kraftvektor wieder inaktiv, so sinkt die Geschwindigkeit wieder in der entsprechenden Zeit auf 0 und bewirkt damit ein Abbremsen des Körpers. Da die Koordinaten linear interpoliert werden, ergibt sich das Problem, daß bei einem Richtungswechsel des Vektors die Koordinaten sofort „umgeleitet“ werden. Dies hat zur Folge, daß der Körper keine weichen Kurven macht, sondern unnatürlich eckige. Um dieses Problem zu lösen, kann man die Koordinaten mit 0.5 bis 5 Hz Lowpass-filtern und erhält damit weichere Richtungswechsel.




      Die AUSGABESEKTION beinhaltet die grafische Darstellung auf dem Bildschirm und die auditive Darstellung über das 5.1-Lautsprechersystem. Hier werden die berechneten Koordinaten des Algorithmus und die Koordinaten des Pointers aus der Eingabesektion grafisch dargestellt. Weiterhin wird die Proportion des Lautsprecherkreises zum Eingabefeld berechnet, dargestellt und für die akustische Berechnung im Audio-Algorithmus bereitgestellt.


  5. Ergebnisse

    Zusammenfassend kann man sagen, daß sich durch die Erweiterung der Surroundsteuerung mit einer Trägheitssimulation bewegte Klänge wesentlich natürlicher auf einem 5.1-Surroundsystem darstellen lassen. Die Bewegung einer Mouse oder eines Joysticks übertragen auf einen Klang wird wesentlich natürlicher im virtuellen Raum eines Surroundsystems abgebildet. Weiterhin lassen sich sehr interessante Effekte erzielen, indem man den Parameter Trägheit automatisiert, also sozusagen den Klang kontinuierlich schwerer oder leichter bzw. beweglicher oder unbeweglicher macht. Durch die Möglichkeit der Automation von Pfaden, auf denen sich der Pointer bewegt, läßt sich gut experimentieren, bei welcher Trägheitsstufe die Bewegung des Klangs am natürlichsten wirkt. Das Programm bietet also viel Spielraum um auf neue Art und Weise Klänge in einem virtuellen, akustischen Raum zu steuern.


  6. Ausblick

    In der jetzigen Version des Programms muß der Bediener den Grad der Trägheit selbst einstellen, also den Klang selbst beurteilen. Es wäre aber auch denkbar, mittels einer Frequenzanalyse den Klang zu analysieren und ihm dann nach Anteilen der hohen, mittleren und tiefen Freqenzen eine Trägheit zuzuordnen. In folgenden Versionen des Programms sollen weitere Features für die Arbeit in einer Studioumgebung implementiert werden. Hierzu gehören die Synchronisierbarkeit zu Timecode, mehr Eingabemöglichkeiten, die Erweiterung auf mehrere Stimmen usw. Es wäre auch möglich die Steuerung auf Surroundsysteme mit mehreren Lautsprechern zu übertragen, wofür aber das Programm wesentlich geändert werden müßte. Denkbar wäre auch eine neue Konzeption eines Mischpultes, welches hauptsächlich für die Mischung auf Surroundsystemen zugeschnitten ist. In diesem Zusammenhang wäre auch eine bessere visuelle Darstellung in Form 3D-Grafik sinnvoll. Weiterhin könnte man auch das Prinzip des stationären Hörpunktes ändern und die Steuerbarkeit des Hörpunktes im Surroundsystem einführen.


  7. Literatur-Angaben

    [1] U. Horbach, „Virtual Surround Panning im Studer D950S“, http://www.studer.ch/
    [2] SSF-01, „Hörbedingungen und Wiedergabeanordnungen für die Mehrkanaltonwiedergabe“, Surround Sound Forum
    [3] C. Roads, „Computer Music Tutorial“ (Sound Spatialization and Reverberation), MIT Press
    [4] I. Veit, „Technische Akustik“, Vogel Fachbuch Verlag
    [5] DTV-Atlas zur Physik Bd. 1, Deutscher Taschenbuch Verlag
    [6] DTV-Atlas zur Mathematik Bd. 1, Deutscher Taschenbuch Verlag


© Mai 1999
Martin Jann, Sperrstrasse 91, CH-4057 Basel
Tel : ++41 (0)61 693 06 74, email :
martin@pixelsonic.com



[1] Digital Versatile Disc (Nachfolger der Compact Disc mit höherer Kapazität und der Möglichkeit bis zu 8 Audiokanäle parallel wiederzugeben)
[2] SSF Surround Sound Forum (Zusammenschluß vom Verband Deutscher Tonmeister (VDT), dem Institut für Rundfunktechnik (IRT) und der Schule für Rundfunktechnik (SRT))
[3] Der Pointer (Rechteck) zeigt die derzeitige Position der Mouse oder des Joysticks an.