node5.html
Next: Die Audio-Engine: abcdefg Up: Software Previous: Wiedergabe von Standardsituationen: easyABC   Contents
Subsections
- Starten des 3D-Mixers
- Master-Kontrolle über die Wiedergabeeinheit
- Kontrolle über virtuellen Schallquellen
- Eingangsverstärkung
- Positionierung
- MIDI-Kontrolle
- Selection eines Kanals
- Gruppen
- Eingangskanalselektion
- Systemkontrolle
- Laden/Speichern von statischen Einstellungen der virtuellen Quellen
- MotorMix-Anbindung
Generierung komplexer periphoner Schallfelder:
3D-Mixer
Das einfache Interface easyABC reicht für viele Aufgaben nicht aus,
vor allem, wenn eine freie Konfigurierbarkeit der einzelnen Kanäle gefordert ist.
Für die Generierung und Wiedergabe von komplexen periphonen Schallfeldern, steht daher ein 3D-Mixer (siehe Abb. 1.9) zur Verfügung.
Der 3D-Mixer erlaubt eine völlig freie Positionierung und Lautstärkenregelung für alle Kanäle. Es stehen Versionen für 8, 16 und 24 virtuelle Quellen zur Verfügung, die abgesehen von der Anzahl der Kanäle ident sind.
Wie das einfache Interface easyABC bietet auch der 3D-Mixer ein einheitliches Interface zur Steuerung von Coder und Decoder der ambisonic-Beschallungsanlage. Durch geeignetes (bzw. ungeeignetes) Routing am optischen Patchbay ist es möglich, eines der beiden Audio-Module Coder/Decoder zu überbrücken. Dies ist sinnvoll, wenn zum Beispiel eine ambisonic-Repräsentation eines dreidimensionalen Schallfeldes für die spätere Wiedergabe aufgezeichnet werden soll (Abgriff direkt nach Coder), oder ein so aufgezeichnetes Schallfeld wiedergegeben werden soll (Umgehung des Coders, direktes Bespielen des Decoders). Das Interface zeigt solche Veränderungen nicht an. Verschiedene Funktionen haben keinen Effekt, wenn Coder/Decoder überbrückt werden.
Starten des 3D-Mixers
Mit dem Befehl abcdefg-3dmixer wird die Oberfläche des 3D-Mixers und die dazugehörigen Audio-Engines gestartet.Standardmäßig wird die Oberfläche auf dem Rechner gestartet, auf dem der Startbefehl ausgeführt wird. Der Coder wird am Rechner matrix2 und der Decoder am Rechner matrix1 im Hintergrund gestartet. Dies kann jedoch mit Startargumenten verändert werden. (s.u.)
Die Oberfläche kann theoretisch auf allen vier Rechnern im Cube (matrix1, matrix2, rockmore sowie cube) gestartet werden. Allerdings ist der Bildschirm am Steuerrechner cube zu klein um den 3D-Mixer darstellen zu können. Soll die Oberfläche am Rechner matrix1 oder matrix2 so ist dabei zu beachten, dass diese Rechner durch den Betrieb von Coder respektive Decoder schon sehr stark belastet sind. Werden beispielsweise im Coder viele (>24) virtuelle Quellen encodiert und läuft zusätzlich die Oberfläche am gleichen Rechner (matrix2), so kann es zu Knacksen etc. kommen, wenn ein Fader bewegt wird.
Die virtuellen Quellen können von einem externen Sequenzer-Programm über MIDI gesteuert werden. Zusätzlich besteht die Möglichkeit das 8-Kanal Motorfader-Interface MotorMix einzubinden (siehe Cap. 1.3.6). Da dies ebenfalls auf den MIDI-Port zugreift, muss es an einen anderen Rechner als dem, auf dem die Mixer-Oberfläche läuft, angeschlossen sein. Mit dem Flag ``-motor <motorhost>'' gibt man diesen Rechner an. Am <motorhost>-Rechner wird dann ein kleines Programm gestartet, dass mit der Mixer-Oberfläche via Ethernet kommuniziert. Die Benutzerin muss selbständig darauf achten, dass am so gewählten Rechner ein MIDI-Port verfügbar und an diesem das MotorMix-Interface angeschlossen ist.
abcdefg-3dmixer | startet die Audio-Engine (Coder am Rechner matrix1, Decoder am Rechner matrix2) im Hintergrund und die Oberfläche easyABC | |
Argumente: | -loud | startet die Audio-Engine im Vordergrund |
-in <n> | Anzahl der virtuellen Quellen (16) | |
-codec <codec> | verwendete Codierungsvorschrift (furse-malham) | |
-gui <guihost> | Rechner auf dem die Oberfläche läuft (localhost) | |
-gui <guiport> | UDP-Port, an dem GUI-Rechner ``hört'' (8090) | |
-gui <guihost> <guiport> | GUI-Rechner und Port, an dem dieser ``hört'' | |
-coder <coderhost> | Rechner auf dem der Coder läuft (matrix1) | |
-coder <coderport> | UDP-Port, an dem CODER-Rechner ``hört'' (8086) | |
-coder <coderhost> <coderport> | CODER-Rechner und Port, an dem dieser ``hört'' | |
-decoder <decoderhost> | Rechner auf dem die Oberfläche läuft (matrix1) | |
-decoder <decoderport> | UDP-Port, an dem DECODER-Rechner ``hört'' (8088) | |
-decoder <decoderhost> <decoderport> | DECODER-Rechner und Port, an dem dieser ``hört'' | |
-motor <motorhost> | Rechner an dem das MotorMix-Interface angeschlossen ist | |
-motor <motorhost> <motorport> | MOTOR-Rechner und Port, an dem dieser ``hört'' |
Master-Kontrolle über die Wiedergabeeinheit
Die Audio-Engine wird mittels dem grünen ``Start''-Button eingeschaltet. (siehe Abb.1.10). Dadurch wird dem Coder und dem Decoder der Audio-Engine der Befehl gegeben, sich zu aktivieren. Bei Erfolg aktivieren sich die Statusanzeigen DSP1 (Coder) und DSP2 (Decoder). Ausserdem wird noch die aktuelle CPU-Auslastung des/der Rechner(s), auf dem Coder bzw. Decoder ausgeführt werden, angezeigt. Laufen beide Module der Audio-Engine auf nur einem Rechner, sind diese Werte ident. Die Audio-Engine kann durch den roten ``Panik''-Button wieder abgeschalten werden. Dadurch werden alle Ausgangskanäle auf stumm geschalten und anschließen die DSP's abgeschalten.Neben der Kontrolle über die Audio-Engine ist auch der Mastervolume-Regler in der Master-Section untergebracht. Dieser Regler steuert die Gesamtlautstärke des Wiedergabesystems.
Diese Gesamtlautstärke beeinflusst nur den Decoder. Wird daher für Aufnahmezwecke die ambisonic-Repräsentation des Schallfeldes hinter dem Coder abgegriffen, so hat die eingestellte Gesamtlautstärke keinen Einfluss auf die aufgenommenen Kanäle.
Kontrolle über virtuellen Schallquellen
Eine virtuelle Schallquelle entspricht einem einzelnen Kanalzug im 3D-Mixer. In der Audio-Engine treten die einzelnen Kanalzüge nur im Coder auf. Manipulationen der virtuellen Schallquellen werden daher nur bei verwendetem Coder wirksam. Wird eine vorher aufgenommene ambisonic-Repräsentation wiedergegeben, so sind diese Manipulationen wirkungslos.Eigenschaften wie Eingangsverstärkung und Positionierung einer virtuellen Schallquelle können im Hauptfenster für jeden Kanal vorgenommen werden. (siehe Abb. 1.11)
Eine genauere Kontrolle über einen einzelnen Kanalzug bietet das Kanalfenster (siehe Abb.1.12). Man gelang in dieses, wenn man auf das betreffende Kanalobjekt clickt. Dabei ist darauf zu achten, dass man neben (nicht auf) die magenta-färbige Positionsanzeige für den jeweiligen Kanal clickt.
Eingangsverstärkung
Die Lautstärke eines Kanals kann sowohl im Hauptfenster wie im Kanalfenster über einen Fader geregelt werden. Im Kanalfenster gibt es zusätzlich noch eine prefader-Pegelanzeige für das Eingangssignal. (siehe Abb.1.13)Die numerischen Anzeigen von Eingangspegel und Eingangsverstärkung im Kanalfenster sind rein informativer Natur, man daher über die Numberboxes keine Pegeleinstellung vornehmen.
Wird der ``mute''-Button aktiviert, so wird der Kanal ``stumm'' geschalten. Der Verstärkungs-Fader bleibt auf seinem Wert. Wird dieser Fader im ``mute''-Modus bewegt, so wird die Änderung erst nach der Beendigung des ``mute''-Modus (durch erneutes Clicken auf den ``mute''-Button) wirksam.
Positionierung
Jeder Kanal kann über spherische Koordinaten beliebig im Raum positioniert werden. Achtung: Beim Starten des 3D-Mixers, ist die Position jeder virtuellen Quelle uninitialisiert ! Sie muss erst initialisiert werden, damit die Quelle an diese Position gerendert werden kann. Um ``etwas'' zu hören genügt es daher nicht, die audio-engine einzuschalten, sowie Master- und Kanalpegel auf angemessene Werte zu stellen. Auch die Position muss eingestellt werden.Im Hauptfenster geschieht die Positionierung über die (magenta-färbige) numerische Anzeige im Kanalobjekt. (siehe Abb.1.11) Man clickt dafür auf den zu verändernden Zahlenwert und zieht die Maus nach ``oben'' (zur Vergrößerung des Wertes) bzw. nach ``unten'' (zur Verkleinerung). Ein numerisches Editieren (über Keyboard) ist nicht möglich.
Clickt man nicht auf eine Zahl sondern daneben, so öffnet sich das Kanalfenster.
Im Kanalfenster kann die Positionierung anhand dreier Fader vorgenommen werden. (siehe Abb.1.14) Überschreitet der Azimuth-Fader den Maximalwert 180°, so springt er auf -180°, wodurch ein freies Panning über 360° ermöglicht wird. Mit dem ``Reset''-Button ist es möglich, die Position auf Startwerte ( ) zu setzen.
MIDI-Kontrolle
Lautstärke und Position von bis zu 32 Kanälen können über MIDI-Controller gesteuert werden.
Dabei werden die Kanäle in zwei 16-Kanal-Gruppen unterteilt, die jeweils über die MIDI-Kanäle 1-16,
jedoch über verschiedene Controller angesprochen werden.
Die Zuordnung von 3D-Kanal und Parameter zu MIDI-Kanal und Controller ist
der Tabelle 1.1 zu entnehmen.
Da mit MIDI nur Werte zwischen 0 und 127 übertragen werden können, ist es nötig, diesen Wertebereich in einen als Verstärkungs- bzw. Positionsangabe sinnvollen Bereich zu mappen.
Diese Bereichsveränderung geschieht wie folgt:
Parameter | MIDI-Wert | tatsächlicher Wert | |
Lautstärke | 0...127 | -100...+27 | [dB] |
Entfernung | 0...127 | 0...100 | [m] |
Azimuth | 0...64...127 | -180°...0°...+180° | [deg] |
Elevation | 0...127 | 0°...90° | [deg] |
Wird Lautstärke/Position einer virtuellen Quelle verändert, so werden die neuen Einstellungen auch über MIDI ausgegeben.
Die MIDI-Kontrolle kann auch deaktiviert werden (siehe Cap. 1.3.4)
Selection eines Kanals
Wird die Kanalverstärkung oder die Positionierung einer virtuellen Quelle verändert, so wird diese ``aktiv''. Im Hauptfenster aktiviert sich dadurch der blaue ``sel''-Button, im Kanalfenster wird der ``activate''-Button angeschalten.Zu jedem Zeitpunkt kann immer nur ein Kanal aktiviert sein.
Achtung: Werden mehrere Kanäle gleichzeitig aktiviert - zum Beispiel durch eine Änderung der Gruppen-Verstärkung - so werden alle veränderten Kanäle unmittelbar hintereinander aktiviert. Welcher Kanal letztendlich aktiviert ist, ist dabei unbestimmt.
Gruppen
Jeder Kanal kann einer von vier Gruppen zugewiesen werden. Standardmäßig sind Bänke uz je 8 Kanälen zu einer Gruppe zusammengefasst. Zum Beispiel sind die Kanäle 9-16 der Gruppe ``2'' zugewiesen. Die Zurordnung zu einer Gruppe kann über das Kanalfenster geändert werden. (siehe Abb. 1.15) Jeder Kanal kann von der Userin immer nur einer Gruppe zugeordnet werden.
|
Die Lautstärke von allen Mitgliedern einer Gruppe kann dann über einen gemeinsamen Gruppenregler am Hauptfenster des 3D-Mixers verändert werden. (siehe Abb. 1.15). Dabei übernehmen die Mitglieder einer Gruppe den absoluten Verstärkungsfaktor des Gruppen-Faders. Alle Gruppenmitglieder werden daher über den Gruppenfader auf den gleichen Wert eingestellt. Der vorher eingestellte Faderwert eines Mitglieds hat keinen Einfluss. Wird der Fader eines Gruppenmitglieds bewegt, so hat dies keine Auswirkungen auf die übrigen Gruppenmitglieder.
Jeder Kanal ist ausserdem immer Mitglied einer Gruppe ``0''. Dadurch können alle Eingangsverstärkungen gleichzeitig über den Fader ``ALL'' eingestellt werden.
Gruppen können nicht über MIDI gesteuer werden.
Eingangskanalselektion
Jedem Kanalzug1.2 kann ein beliebiger (Hardware-)Eingangskanal der
Sound-Karte zugewiesen werden.
Ein solcher Eingangskanal kann dabei auf mehrere virtuelle Quellen geroutet werden,
allerdings kann pro 3D-Kanal nur ein Eingangskanal als Signalquelle verwendet werden.
Die Zuweisung erfolgt generell für jeden einzelnen Kanal im Kanalfenster (siehe Abb. 1.16). Wird als Eingangs-Kanal ``0'' gewählt, so wird der default-Eingangskanal verwendet (z.B.: Eingangskanal ``4'' bei virtuellem Lautsprecher ``4'').
|
Im Systemfenster können alle virtuellen Quellen einem einzigen Eingangskanal zugeordnet werden. Es kann auch jedem Eingangskanal der Default-Kanal ``0'' zuweisen, wodurch jede virtuelle Quelle von einem anderen Hardware-Kanal gespeist wird.
Systemkontrolle
Die Systemeigenschaften des 3D-Mixers (inclusive Audio-Engine) können im Systemfenster ``SYSTEM'' eingestellt werden.
Ein-/Ausgabe
(Siehe Abb. 1.18Im hellgrünen Feld ``INPUT'' kann ein rudimentäres Routing der Hardware-Eingangskanäle auf die virtuellen Quellen vorgenommen werden. (siehe Cap. 1.3.3)
Mit dem On/Off-Schalter kann die Lautsprechercalibrierung (siehe Cap. 1.5.2) ein- bzw. ausgeschalten werden. Defaultmäßig ist die Lautsprechercalibrierung eingeschalten, da Wiedergabesysteme im Allgemeinen nur funktionieren, wenn alle Lautsprecher (annähernd) gleiche Übertragungseigenschaften aufweisen. Die Lautsprechercalibrierung wird hinter dem Decoder eingeschliffen.
Für Aufnahmezwecke kann es gewünscht sein, den Decoder und die Lautsprechercalibrierung zu überbrücken. Läuft die ganze Audio-Engine auf einem Rechner, so kann man daher Decoder (s.u.) und Lautsprechercalibrierung kurzfristig abschalten.
Coder/Decoder
(siehe Abb. 1.19)Mit dem On/Off-Schalter im türkisen Coder-Feld des Systemfensters kann der Coder kurzfristig ausgeschalten werden. Dabei wird nur die eigentliche ambisonic-Encodierung überbrückt, die Lautstärkebewertung und die Entfernungsbewertung bleiben aktiviert. Diese Einstellung eignet sich zur kurzfristigen Wiedergabe von voraufgenommenen ambisonic-Schallfeldrepräsentationen.
Im graublauen Decoderfeld des Systemfensters lassen sich grundlegende Einstellungen am Decoder durchführen. Ein On/Off-Schalter zum Überbrücken des Decoders erlaubt kurzfristig die externe Aufnahme eines ambisonic-codierten Schallfeldes, wenn Coder und Decoder auf dem selben Rechner laufen.
Bei ausgeschaltetem Decoder wird nur die eigentliche ambisonic-Decodierung überbrückt, die Mastervolume-Manipulation bleibt erhalten.
Achtung: Wenn sowohl Coder wie auch Decoder abgeschalten sind, können trotzdem durch die Audio-Engine keine beliebige Anzahl von Audio-Kanälen durchgeschliffen werden. Die maximal durchschleifbare Anzahl der Kanäle richtet sich nach der Ordnung des (nicht verwendeten) ambisonic-Codecs. Standardmäßig können deshalb so nur 16 Kanäle durchgeschliffen werden (periphones ambisonic 3. Ordnung). Wird die Audio-Engine im ``bypass''-Modus als letztes Glied der digitalen Übertragungskette vr der Wiedergabe über die Hemisphere verwendet, können daher nicht alle 24 Kanäle angesprochen werden.
Bei eingeschaltetem Decoder kann weiters eine Rotation des wiederzugebenden ambisonic-Schallfeldes (auch eines vorher aufgenommenen) um die Z-Achse erfolgen, um das Wiedergabesystem der Orientierung des Auditoriums anzupassen. Mit dem ``reset''-Button, wird die Rotation zurückgesetzt, ``vorne'' () entspricht dann der Nordorientierung im Cube (an der Nordseite ist zum Beispiel auch die Videoleinwand montiert).
Ausserdem kann mit dem ``in-phase''-Regler stufenlos bestimmt werden, ob die ambisonic-Decodierung streng nach dem basic-Prinzip (sehr gute Lokalisierung in sehr kleinem sweet-spot (der maximal etwa 15-20 Leute fasst)) oder in-phase (Aufweitung der virtuellen Quellen, dafür recht gute Lokalisation innerhalb einer großen sweet-area) geschehen soll.
Controller-Einstellungen
Im blaßorangen ``Controller''-Feld können Einstellungen betreffs der Fernsteuerung der Kanaleigenschaften
Lautstärke und Position gemacht werden.
Mit dem ``MIDI''-Button kann die MIDI-Verbindung zu einem externen Sequencer-Programm an-/abgeschalten werden. Wenn die Verbindung deaktiviert ist, werden weder MIDI-Daten empfangen noch gesendet.
Bei aktiviertem ``MIDI''-Button (default), werden MIDI-Controll-Daten empfangen, und, sollten manuelle Einstellungen von Verstärkung und Position am 3D-Mixer vorgenommen worden sein, so werden diese auch gesendet. (Zur Controller-Belegung siehe auch Cap. 1.3.3)
Wird ein Parameter im 3D-Mixer geändert, so werden diese Änderungen über MIDI gesendet. Gleichzeitig ankommende MIDI-Steuerbefehle werden für diesen Controller ignoriert. Es ist bei Automatisationsvorgängen oft unerwünscht, dass sofort nach dem ``Loslassen'' des Reglers (bei einer Bildschirmoberfläche würde dies bedeuten: sobald der Wert nicht mehr geändert wird) wieder die MIDI-Automatisation die Kontrolle übernimmt. Deshalb kann eine ``fader release-time'' in Millisekunden eingestellt werden, die bestimmt, wie lange nach der letzten Wertänderung ein Fader (egal ob Lautstärke, Entfernung, Azimuth oder Elevation) noch als ``berührt'' gilt.
Allgemeine Einstellungen
Standardmäßig werden die Control-Daten, die vom GUI zum CODEC geschickt werden, alle 100ms ausgewertet. Man kann diese Taktrate im grauen ``GENERAL''-Feld des Systemfensters (Abb. 1.21) ändern. Dabei ist Vorsicht geboten, da zu kleine Werte (<50ms) zu einer Systemüberlastung führen können.
Laden/Speichern von statischen Einstellungen der virtuellen Quellen
Der 3D-Mixer hat nicht die Funktionalität eines Sequencers. Es ist also nicht möglich, Bewegungen von virtuellen Schallquellen direkt im 3D-Mixer abzuspeichern. Allerdings kann man Schappschüsse von den Einstellungen (Verstärkungsfaktor und Position) aller virtuellen Schallquellen abspeichern.
Im Speicherfenster ``saveour'' können mit dem grünen ``READ''-Button (siehe Abb.1.22) vorher gespeicherte Einstellungen wieder abgerufen werden. Clickt man auf diesen Button, erscheint ein Dialogfenster, dass die Auswahl eines Dateinamens erlaubt. Mit der Bestätigungstaste Return wird versucht, die ausgewählte Datei zu laden.
Mit dem roten ``WRITE''-Button erscheint ein Dialogfenster, dass die Eingabe eines Dateinamens zum Speichern der Settings erlaubz. Standardmäßig ist dieser Dateidialog im Systemverzeichnis des 3D-Mixers. Allerdings wird davon abgeraten dort Dateien zu speichern. Stattdessen sollte man in das Home-Verzeichnis der Userin matrix browsen, und dort unter projects/<my_project>/<dateiname> die Einstellungen speichern.
Der orange ``WRITE_AGAIN''-Button speichert die Einstellungen in der vorher (mit dem ``WRITE''-Button) eingegebenen Datei.
Gruppenzugehörigkeit und Signalrouting können nicht abgespeichert werden.
MotorMix-Anbindung
Um die MIDI-Faderbox MotorMix mit dem 3D-Mixer verwenden zu können,
muss dieser natürlich an einen Rechner angeschlossen sein.
Da die Oberfläche schon alle verfügbaren MIDI-Ports zur Kommunikation mit eventueller
Sequencer-Software (wie z.B. Samplitude am Projektrechner rockmore)
reserviert, muss der MotorMix an einen anderen Rechner angeschlossen werden.
Wird der 3D-Mixer mit dem Flag -motor <motorhost> gestartet,
so wird am mit ``
Über die - und -Buttons im Bereich ``View'' kann zwischen Bänken zu je acht virtuellen Schallquellen umgeschalten werden.
Lautstärke
Die Lautstärke der virtuellen Quellen kann über die Motorfader reguliert werden. Wird der 3D-Mixer über Sequencer-Software (siehe Cap. 1.3.3) ferngesteuert so bewegen sich die Motorfader mit. Bewegt man einen so automatisierten Fader, so wird die Fernsteuerung abgeschalten und die Userin kann vom MotorMix aus die Lautstärke bestimmen. Wird der Fader losgelassen, so übernimmt nach etwa einer halben Sekunde wieder die Automatisierung die Kontrolle. Soll ein Fader unbewegt weiter aufgezeichnet werden, so kann dies mit der ``SHIFT''-Taste am MotorMix (links unten) erreicht werden. Erst nach dem Loslassen der ``SHIFT''-Taste, übernimmt die Automatisierung wieder die Kontrolle.Positionierung
Die Positionierung geschieht über die Drehregler des MotorMix-Interfaces. Im LCD-Feld über den Drehreglern wird angezeigt in welchem Modus (Entfernung, Azimuth, Elevation) sich die Positionseingabe gerade befindet. Dreht man nun den Drehregler, so kann man im LCD-Feld ablesen, welcher Wert gerade eingestellt wird. (Beispiele: ``t=43'' bedeutet, dass gerade die Elevation bearbeitet wird und auf den Wert 43° eingestellt ist. ``p-132'' bedeutet, dass der Azimuth auf -132° eingestellt ist.)Zwischen den Moden für die einzelnen Positionsparameter kann mittels der drei Tastenreihen direkt unter den Drehreglern für jede virtuelle Quelle getrennt ausgewählt werden.
Die erste Reihe (Buttons leuchten grün, wenn aktiviert) schaltet in den Entfernungsmodus, die zweite Reihe (rote Buttons) in den Azimuth-Modus und die dritte Reihe (wieder grüne Buttons) lässt Elevationsmanipulationen zu.
Wie bei der Lautstärkenmanipulation wird auch hier eine etwaige Automatisation durch manuelles Verändern der Positionen überschrieben. Will man unveränderte Positionen über eine bewegte Automatisierung schreiben, so kann man dies mit den drei Buttons ``record'' (für Fixierung der Entfernung), ``write'' (hält den Azimuth) und ``burn'' (feste Elevation) erreichen.
mute
Mit der letzten Reihe im Button-Feld (rot hinterleuchtet wenn aktiv) können einzelne virtuelle Schallquellen auf stumm geschalten werden.Next: Die Audio-Engine: abcdefg Up: Software Previous: Wiedergabe von Standardsituationen: easyABC   Contents zmoelnig@iem.kug.ac.at