Computer-Musik

Stellwerk

Beim Arbeiten mit Audio am Computer ergeben sich gelegentlich Szenarien, in denen die von einer Applikation ausgegebenen Audiodaten in einer anderen weiterverarbeitet werden sollen. Unter diesen gibt es Szenarien, bei denen die zeitliche Unterbrechung, die das Speichern eines Zwischenergebnisses auf die Festplatte mit sich bringt, nicht nur nicht wünschenswert, sondern unmöglich ist, etwa wenn zwei oder mehr Quellen gleichzeitig im Spiel sind. Um z.B. ein über Videotelefonie (z.B. über Skype) geführtes Interview aufzuzeichnen, müssen die Eingabe über Mikrofon oder Headset und die von der Videotelefonie-Applikation ausgegebene Gegenseite in einer Applikation zusammengeführt werden, welche die beiden Audioströme mischt und das Ergebnis auf die Festplatte schreibt. Manchmal fehlt einer Applikation, die Audio ausgibt, einfach die Funktion, dieses als Datei auf die Festplatte zu schreiben. Andererseits gibt es Applikationen, deren Hauptfunktionalität es ist, Audiodaten aufzuzeichnen…

Für die Umleitung von Audioströmen zwischen Applikationen (inter-application audio routing) gibt es verschiedene Lösungen. Eine (einfache und kostengünstige) auf dem Mac ist Soundflower. (Der Name spielt vielleicht über die Sonnenblume an eine Windrose an, also an Wege und „Windrichtungen”.) Bei der Systemerweiterung handelt es sich um quelloffene Software[1], die ursprünglich von Matt Ingalls für Cycling ’74[2] entwickelt wurde (deren Hauptprodukt Max/MSP ist). Die Implementierung als ladbares Kernel-Modul (an der Dateiendung kext zu erkennen, die für kernel extension steht) hat den Vorteil, dass die Erweiterung in den Systemkern intergriert wird. Soundflower erscheint als Audioschnittstelle, in zwei Varianten (eine mit 2, eine mit 16 Kanälen), in den Systemeinstellungen bzw. im Dienstprogramm Audio-MIDI-Setup, wo es als Eingabequelle oder Ausgabeziel ausgewählt werden kann. Außer den Routing-Zuordnungen ist nichts einzustellen. Für die meisten Anwendungen reicht die 2-Kanal-Variante (Soundflower 2ch) aus. Die 16-Kanal-Variante (Soundflower 16ch) ist für Szenarien interessant, bei denen an beiden Enden einer Verbindung Applikationen stehen, in denen mehr als zwei Spuren auf einer Zeitachse stehen können. Bei Applikationen, welche die Auswahl der Audiogeräte nicht unterstützen, ist es möglich, die Audioeingabe bzw. -ausgabe über die Applikation Soundflowerbed abzugreifen.

Seit Version 10.6 (Snow Leopard) bietet der Audiokern von Mac OS X, Core Audio, auch die Möglichkeit an, ein virtuelles sogenanntes Hauptgerät (Aggregate Device) einzurichten, das mehrere Audiogeräte vereinigt.[3] Mit einem solchen Hauptgerät ist es beispielsweise möglich, einen Audiostrom auf mehrere Audioschnittstellen gleichzeitig zu leiten.

Wem es auf optimale Klangqualität ankommt, sollte darauf achten, dass möglichst keine Konvertierungen des Formates der Abtastwerte (sample format) oder der Abtastrate (sample rate) stattfinden, bei denen Information verloren geht oder unerwünschte Artefakte eingeführt werden. Seit Version 10.5 (Leopard) verwendet Core Audio in Mac OS X intern ein kanonisches Audioformat, und zwar lineare PCM (Puls-Code-Modulation) mit 32-Bit-Fließpunktzahlen.[4] (Core Audio in iOS benutzt aus Performanzgründen andere Formate.) Alle über Core Audio laufenden Audiodaten, die nicht dem kanonischen Format entsprechen, werden in dieses umgewandelt. Außerdem gilt die für das System eingestellte Abtastrate. Dies hat einige Kontroversen verursacht. HiFi-Freaks bezweifeln, dass Apples Algorithmen ein Maß an Qualität garantieren, bei dem keine hörbaren Artefakte zu erwarten sind.[5] Auch wer keine Messgeräte einsetzt, um die Qualität der Audioausgabe zu prüfen, sollte die Einstellungen an den Enden der Audioströme möglichst in Übereinstimmung bringen, zumindest um zusätzliche Latenzen zu vermeiden. Weiter wird es die Latenz verringern, wenn außerdem von vornherein 32-Bit-Fließpunktzahlen verwendet werden.

1. Seit 2010 ist das Projekt bei Google Code untergebracht: http://code.google.com/p/soundflower/.
2. Die Soundflower-Seite bei Cycling ’74 enthält eine kurze Gebrauchsanleitung auf Englisch.
3. Das Konzept Hauptgerät (aggregate device) wird auf einer Apple-Support-Seite beschrieben (auch auf Deutsch).
4. Details s. Canonical Audio Data Formats in der Dokumentation zu Core Audio bei Apple Developer.
5. Solche Überlegungen äußert etwa der Audio-Elektronik-Bastler Steve Conner in seinem Blog: http://scopeboy.com/scopeblog/?tag=coreaudio.

27. November 2012 von Kai Yves Linden
Kategorien: Computer-Musik | Schlagwörter: , | Schreibe einen Kommentar

Schreibe einen Kommentar