node6.html
Next: Systemsoftware Up: Software Previous: Generierung komplexer periphoner Schallfelder:   Contents
Subsections
Die Audio-Engine: abcdefg
Die Audio-Engine ist in zwei Module - den Coder und den Decoder - geteilt (siehe Abb.1.23), die bei Bedarf auf zwei Rechnern ausgeführt werden können.
Laufen beide Module als ein Programm auf nur einem Rechner, so spricht man vom Codec.
Coder
Im Coder werden einzelne virtuelle Quellen in eine ambisonic-Repräsentation
eines Schallfeldes gerendert.
Normalerweise wird der Coder vom 3D-Mixer über das Skript abcdefg-3dmixer gestartet.
Der Coder kann manuell über den Befehl abcdefg-coder gestartet werden. Standardmäßig wird der Coder ohne pd-Oberfläche gestartet. Sollte diese erforderlich sein, muss beim Starten das Argument -loud mit angegeben werden.
Der Hauptpatch des Coders wird beim Starten generiert, um auf die jeweiligen Argumente Rücksicht nehmen zu können. Weiters wird ein Großteil der Signal-Module vom Patch selbst generiert. Man darf daher die Patches des Coders nicht speichern, um die Generierung nicht zu stören und unbrauchbare Patches zu erzeugen. Sollte dies dennoch einmal passiert sein, muss der Patch bereinigt werden. Kontaktieren Sie dazu bitte den Administrator.
Coderierungsvorschriften
Der Coder ermöglicht die Verwendung von verschiedenen ambisonic-Codierungsvorschriften,
die mit dem Argument -codec <codec> angegeben werden.
Es dann vom Coder ein pd-Patch coder/<codec>.pd gesucht,
der sich im Verzeichnis /usr/local/net/abcdefg/share/ befinden sollte.
Im ersten Inlet erhält dieser Patch eine Liste mit drei numerischen Werten (
)
(Winkel in Radiant),
worauf er am ersten Outlet eine Liste der ambisonic-Faktoren ausgibt.
Am zweiten Outlet muss dieser Patch, wenn er das erste Mal ein Werte-Triple am ersten Inlet erhält,
eine Liste ausgeben, wobei die Länge dieser Liste die Ordnung des ambisonic-Systems plus 1 ist,
und die Elemente die Anzahl der Kanäle pro Ordnung (bei der 0ten Ordnung beginnend) darstellt.
Standardmäßig wird als Codierungsvorschrift das Furse-Malham-Set dritter Ordnung für periphone Schallfelder verwendet (siehe Tab. 1.3)
|
Steuerung des Coders
Alle Funktionen des Coders können (nur) über eine Ethernetverbindung gesteuert werden. Dabei werden einfach über das pd-Objekt netsend die Befehle des in Tab. 1.6 definierten Protokolls an den Coder geschickt.Dem Coder kann über den Befehl ``talk 1'' mitgeteilt werden, dass er Status-Informationen an das GUI zurückschickt (siehe Tab. 1.8).
Decoder
Der Decoder decodiert das ambisonic-encodierte Schallfeld
in Lautsprechersignale für
eine gegebene Lautsprecheranordnung (CUBE-hemisphere).
Normalerweise wird der Decoder vom 3D-Mixer über das Skript abcdefg-3dmixer gestartet.
Der Decoder kann manuell über den Befehl abcdefg-decoder gestartet werden. Standardmäßig wird der Decoder ohne pd-Oberfläche gestartet. Sollte diese erforderlich sein, muss beim Starten das Argument -loud mit angegeben werden.
|
Der Hauptpatch des Decoders wird beim Starten generiert, um auf die jeweiligen Argumente Rücksicht nehmen zu können. Weiters wird ein Großteil der Signal-Module vom Patch selbst generiert. Man darf daher die Patches des Decoders nicht speichern, um die Generierung nicht zu stören und unbrauchbare Patches zu erzeugen. Sollte dies dennoch einmal passiert sein, muss der Patch bereinigt werden. Kontaktieren Sie dazu bitte den Administrator.
Codierunsvorschriften
Für die Decodierung einer bestimmten Codierungsvorschrift kann diese über das Argument -codec <codec> angegeben werden (siehe Cap. 1.4.1). Standardmäßig wird die Codierungsvorschrift Furse-Malham verwendet.Rotation
Der Decoder kann zur Anpassung des wiederzugebenden Schallfeldes an die Orientierung des Auditoriums dieses drehen. Für jede Codierungsvorschrift ``Jede dieser Dateien erhält den Drehwinkel um die jeweilige Achse in Radiant, und gibt die Rotationsmatrix aus.
Lautsprecher-Setup
Für die Decodierung ist die Kenntnis der Aufstellung der Lautsprecher vonnöten. Diese erhält der Decoder über eine Datei angles.mtx, in der Azimuth und Elevation jedes Lautsprechers in Grad gespeichert ist. Diese Datei befindet sich am Rechner matrix1 im Verzeichnis ~matrix/share.Steuerung des Decoders
Alle Funktionen des Decoders können (nur) über eine Ethernetverbindung gesteuert werden. Dabei werden einfach über das pd-Objekt netsend die Befehle des in Tab. 1.7 definierten Protokolls an den Decoder geschickt.Dem Decoder kann über den Befehl ``talk 1'' mitgeteilt werden, dass er Status-Informationen an das GUI zurückschickt (siehe Tab. 1.8).
Codec
Im Codec werden einzelne virtuelle Quellen in eine ambisonic-Repräsentation
eines Schallfeldes gerendert,
und anschließend sofort auf ein gegebenes Lautsprecher-Setup decodiert.
Normalerweise wird der Codec vom Interface easyABC über das Skript abcdefg-easyABC gestartet.
Der Codec kann manuell über den Befehl abcdefg-codec gestartet werden. Standardmäßig wird der Codec ohne pd-Oberfläche gestartet. Sollte diese erforderlich sein, muss beim Starten das Argument -loud mit angegeben werden.
|
Der Hauptpatch des Codecs wird beim Starten generiert, um auf die jeweiligen Argumente Rücksicht nehmen zu können. Weiters wird ein Großteil der Signal-Module vom Patch selbst generiert. Man darf daher die Patches des Codecs nicht speichern, um die Generierung nicht zu stören und unbrauchbare Patches zu erzeugen. Sollte dies dennoch einmal passiert sein, muss der Patch bereinigt werden. Kontaktieren Sie dazu bitte den Administrator.
Genauere Erläuterungen entnehmen Sie bitte den Beschreibungen von Coder und Decoder
Netzwerk-Schnittstelle
Die Fernsteuerung von Coder und Decoder
erfolgt über die in Tab. 1.6 und 1.7 definierten
Schnittstellen.
Somit ist es einfach, einen pd-Patch zu schreiben,
mit dem man komplexe Bewegungen von virtuellen Schallquellen steuern kann.
Coder und Decoder können, so sie über den Befehl ``talk 1'' aktiviert wurden, Statusinformationen an den mit dem Argument ``-gui <coderhost> [<coderport>]'' übergebenen Rechner schicken. Diese umfassen Status der pd-DSP-engine, CPU-Auslastung sowie Pegel der Eingangskanäle.
Next: Systemsoftware Up: Software Previous: Generierung komplexer periphoner Schallfelder:   Contents zmoelnig@iem.kug.ac.at