Audio-Interface Test

Audio-Interface Test
Audio Interface Test

Unter dieser Rubrik möchten wir einige Testmöglichkeiten aufzeigen, um ein gutes Audio-Interfaces von einem Schlechteren unterscheiden zu können. Ein häufig angesprochenes Thema ist dabei die Latenz. Es ist sehr wichtig diesen Begriff genauer zu definieren. 

Dies sind die wichtigsten Latenzarten:

  • Bearbeitungslatenz der DAW Software oder des Plug-in Host bzw. Standalone Plug-in
  • I/O Latenz auf Audiotreiberebene (z.B. ASIO, WDM, Core Audio)
  • I/O Latenz auf Schnittstellenebene (z.B. PCIe, FireWire, USB)
  • I/O Latenz auf Prozessoreben auf der Audiokarte, wie DSP etc.
  • Latenz bei der AD/DA Wandlung
  • Gesamtlatenz (Roundloop): Sequenzer spielt ab und nimmt gleichzeitig die selbe Spur wieder auf

Das ganze muss teilweise im Rahmen der, der DAW zugewiesen Interface-Latenz (z.B. Asio) berechnet werden. Oft spielt es dabei kaum eine Rolle, dass es Audio-Interfaces gibt, die auch bei 32 Samples arbeiten können, da der Host in diesem Rahmen nicht hinterherkommt, besonders wenn komplexe Plug-ins ins Spiel kommen.

Wir bitten an dieser Stelle zu entschuldigen, dass wir nicht an jeder Stelle ins Detail gehen werden. In diesem Blog stehen die Erfahrungen im Vordergrund, die wir im Laufe der letzten 10 Jahre durch "Trial and Error" gesammelt haben. Wer Treiber programmieren kann, wird sicher ein erweitertes Wissen haben.

In diesem Blog-Artikel geht vor allem es um die so genannte DPC Latenz, die maßgeblich von Prozessen abhängig ist, welche vom System nicht rechtzeitig ausgeführt werden können. Diese Prozesse ereignen sich in der Kernel-Ebene und verhindern einen reibungslosen Audio-Betrieb. In einigen Fällen kann durch die Erhöhung der Audio-Interface Treiberlatenz solche erheblich Fehler ausgleichen, in vielen Fällen hilft dieser Schritt nicht weiter.

Was passiert, wenn das Audiosignal "Knackser" hat? Ein schlecht programmierter Treiber kann in einem bestimmten Zeitrahmen einen Prozess nicht mehr ausführen, blockiert dabei alle weiteren Prozesse und so auch eine Echtzeitanwendung wie Cubase. Das führt ganz simpel zu einem Aussetzer, "Drop-Out" also einem Knackser. Das Gleiche passiert auch wenn der Fehlerkorrekturpuffer eines CD-Spielers überläuft.

Selbstverständlich sind die Treiber professioneller Audiointerfaces so programmiert, dass ein Puffer  nicht überläuft. Aber in einem komplexeren System wie einer DAW erzeugen die nicht echtzeitkritische Treiber wie Ethernet- oder Maustreiber oft erheblich Probleme. So ist das typische Durchschnitts- Notebook aus dem "Technik-Markt" für den Audio-Betrieb meist völlig ungeeignet. Mit etwas Glück kann man bei diesen Geräten durch Treiber Updates nachhelfen. Es gibt aber auch Computer, bei denen nur noch der Sondermüll hilft.

Um dieses Problem zu erkennen gibt es ein sehr einfaches Tool, den DPC Latency Checker

Hier ein Screenshot meines Macbook Air unter Windows 7:

DPC Macbook Air

Erzeugt ein Treiber auf Kernel-Ebene eine zeitliche Verzögerung, wird ein hoher Ausschlag angezeigt. Hier sehen Sie rote, gelbe und grüne Balken. Die Balken sind für den Leerlauf schon so hoch, dass dieses Gerät, zumindest in der Konfiguration für Audioanwendungen, nahezu unbrauchbar ist.

In vielen Fällen hat man Glück und kann durch simples Abschalten nicht benötigter Geräte im Geräte-Manager Abhilfe schaffen.

windows geräte manager

Folgende Geräte lassen sich nicht im Betrieb abschalten:

  • Jedes Gerät, das im Geräte-Manager unter "Systemgeräte" oder "Computer"
  • Die Festplatte, auf der das Betriebssystem installiert ist
  • Die IDE/ATAPI- oder SATA-Controller, über den die Festplatte angeschlossen ist
  • Benötigte Eingabegeräte wie Tastatur und Maus
  • Der USB-Controller, über den die Eingabegeräte angeschlossen sind
  • Die Grafikkarte, an dem der Bildschirm angeschlossen ist


Einige Geräte lassen sich ebenfalls direkt im BIOS abschalten. Kommt man mit dieser Methode nicht weiter, bleibt in den meisten Fällen nur die restlichen Treiber zu tauschen. Hilft das alles nicht, bleibt oft nur die Geräte auszutauschen. Testen wir ein Audio-Interface, so gehen wir sicher, dass die DPC Latenzwerte absolut identisch sind und vor allem gleichmäßig.

Was sind DPC Latenzen denn nun genau?

Die Verarbeitung von Daten in Echtzeit ist eine Herausforderung für Windows-basierte Anwendungen und Treiber. Windows ist von seiner Konstruktion her einfach nicht darauf ausgelegt Echtzeitanwendungen zu unterstützen und kann daher nicht garantieren, dass bestimmte periodische Aktionen zu einem bestimmten Zeitpunkt ausgeführt werden.

Audio- und Video-Datenströme, die von einem, oder zu einem externen Gerät übertragen werden, werden typischerweise von einem Kernel-Mode-Treiber verwaltet. Die externe Hardware löst in regelmäßigen Abständen einen "Interrupt" aus, also eine Unterbrechung des laufenden Prozesses, um den nächsten Datenblock vom Treiber anzufordern bzw. einen eigenen Datenblock ans System zu liefern. Diese Unterbrechung wird jedoch nicht sofort vom System angenommen. In Betriebssystemen, die auf Windows NT aufbauen, wie auch das heutzutage verwendete Windows 7, gibt es dazu eine spezifische Methode, um solche Interrupts zu handhaben. Diese sieht vor, dass der Treiber einen "Deferred Procedure Call" (DPC) beim System anmeldet.

Die DPCs der verschiedenen Gerätetreiber werden vom System in einer Art Warteschlange verwaltet. In regelmäßigen Abständen kontrolliert der Kernel die Warteschlange. Wird gerade kein anderer DPC verarbeitet, wird der nächste DPC-Aufruf angenommen und ausgeführt. Dieses Prinzip der Warteschlange führt dazu, dass ein sehr lange laufender DPC die Ausführung der anderen hinauszögert.

Man kann die Latenz eines spezifischen DPCs also definieren, als die Summe der Laufzeiten aller vor dem auszuführenden DPC liegenden DPCs.

Mit anderen Worten: Schlecht programmierte Treiber, die unnötig viel Zeit beanspruchen, stören sämtliche anderen Treiber. Wird bei einer Aufnahme das Abrufen der Audio-Daten am Interface zu lange verzögert, reicht der Pufferspeicher im Interface nicht mehr aus, um die Daten vorzuhalten und an das System zu übergeben. Eine Signalunterbrechung ist die Folge, ein Knacksen ist zu hören. Umgekehrt gilt dies natürlich auch. Wenn dem Interface nicht ermöglicht wird, schnell genug neue Daten vom Rechner abzufragen, wird die Wiedergabe gestört. So kann es passieren, dass ein simpler Maustreiber das Arbeiten unmöglich macht.

Mehr zum Thema Audio Interface: Link Audio Interface


2011-10-07 12:43:31