Low Latency Hintergrund:
Monitoring, ZLM und ASIO

»Zurück zur Tech Info

Einleitung

Der Traum eines kompletten Tonstudios im PC nimmt reale Gestalt an. Dank immer schnellerer Prozessoren, immer schnellerer und grösserer Festplatten, sowie geradezu unglaublich performanten Programmen lassen sich inzwischen komplette Audio-/MIDI Produktionen direkt im PC fahren.

Einen Rechner nicht nur als MIDI-Sequencer, sondern auch als Bandmaschine und Mischpult zu nutzen, war früher ohne spezielle externe DSP-Hardware undenkbar. Eines der dabei auftretenden Probleme heisst Latenz, und bezeichnet die unvermeidliche Verzögerung zwischen dem in den Rechner eingespeisten Audiosignal und dessen Ausgabe. Diese Verzögerung fürht unweigerlich zum Problem des Monitorings, denn kein Musiker kann zu anderen Instrumenten synchron spielen, wenn er sich oder die Band mehrere hundert Millisekunden verzögert hört.

Monitoring

Lange vor den Echtzeit-Synthies stand der Audiorechner vor seiner ersten Herausforderung, dem Monitoring. Jede Bandmaschine schleift beim Start der Aufnahme das Eingangssignal der in Aufnahme befindlichen Spur zum Ausgang durch. Dieser Aufnahme-abhängige Rückweg garantiert nicht nur, dass sich der Musiker unverzögert hört, sondern regelt auch automatisch das Monitoring. Solange keine Aufnahme stattfindet wird das bereits aufgezeichnete Material abgespielt, sobald die Aufnahme beginnt dagegen das aufzunehmende Signal.

Was in einem herkömmlichen Studio simpler Alltag ist blieb dem PC und Mac zunächst verwehrt. Die Softwareprogrammierer kamen gar nicht erst auf die Idee, das Monitoring über die Audiosoftware abzuwickeln. Dazu müssen die Daten eingelesen, verrechnet, und wieder ausgegeben werden. Mit Standard-Windows-Treibern (MME) ergeben sich typische Verzögerungen von über 400 ms, das Monitoring kommt also knapp eine halbe Sekunde zu spät - und ist damit bestenfalls als Delay-Effekt zu gebrauchen.

Das Blockschaltbild zeigt den typischen Signalfluss zwischen Audiohardware und Software. Ein digitales Eingangssignal durchläuft einen speziellen Empfänger, ein analoges Eingangssignal einen ADC (Analog Digital Converter). Aufgrund des mehrfachen Oversamplings mit digitalem Filter verursachen moderne AD-Wandler circa 44 Samples Verzögerung, bei 44,1 kHz also eine Millisekunde. Vor der Übergabe zum PCI-Bus werden die Daten je nach Hardwarekonzept erneut gepuffert, die Verzögerung kann wenige Samples, aber auch mehr als eine Millisekunde betragen. Die Software bedient sich bei MME mehrerer relativ grosser Puffer, hier sind es 4 Puffer à 8192 Bytes, entsprechend 186 ms (bei 16 Bit - siehe Kasten). Das Processing der Daten geht normalerweise mit weniger als einem Sample Verzögerung rasend schnell. Allerdings gilt dies nur für die Funktionalität eines typischen Mischpultes. Eingeschleifte Plug-Ins mit ausgefallenen Effekten verursachen teilweise weitere Verzögerungen im Millisekundenbereich.

Bei der Wiedergabe kommt man meist mit etwas kleineren Puffern aus, hier 4 mal 4096 entsprechend 93 ms. Je nach Hardware werden die auszugebenden Daten erneut gepuffert und schliesslich digital oder analog ausgegeben. Während der Digitalteil (Transmitter/Encoder) normalerweise mit Null Samples zu Buche schlägt, sind es analog wiederum um die 44 Samples, also eine weitere Millisekunde. Insgesamt ergeben sich in diesem Beispiel für einen kompletten Durchlauf circa 280 ms.

Monitoring in Hardware arbeitet dagegen quasi ohne Verzögerung: mittels Umschalter lassen sich die eingehenden Daten direkt wieder auf den Ausgang geben. In diesem Fall stehen die Playback-Daten nicht mehr zur Verfügung. Was bei einfachen Programmen wie WaveLab ganz gut funktioniert, läuft bei echter Full Duplex Software leider ins Leere. Um jederzeit reagieren zu können, knackfreie Punch Ins/Outs und einen stabilen Betrieb zu garantieren, lassen inzwischen praktisch alle Programme sowohl Wiedergabe als auch Aufnahme gleichzeitig laufen.

Sind die Spuren noch leer werden Nullen abgespielt, findet keine Aufnahme statt wird nichts auf die Festplatte geschrieben - die Audiohardware ist jedoch voll im Einsatz. Damit kann das Eingangssignal nicht mehr ab dem eigentlichen Aufnahmepunkt durchgeschliffen werden, denn die Hardware weiss ja überhaupt nicht, dass eigentlich gar keine Aufnahme - und wann denn doch - stattfindet. Bei Karten ohne internen Mixer (hauptsächlich digitale Profilösungen) entfällt damit zudem jegliches Monitoring, da die Wiedergabespuren Vorrang haben müssen. Sonst wäre die Hardware automatisch nicht Full Duplex-fähig.

Während die meisten Software-Hersteller die Anwender mit diesem Problem alleine liessen (und lassen!), hat SEK'D schon vor Jahren für Abhilfe gesorgt. Die Funktion 'Monitoring in Hardware' sendet bei jedem Punch-In eine spezielle Nachricht an die Audiohardware, welche die betreffende Spur in den Durchschleifmodus schaltet. So lange, bis der Punch-Out erreicht ist, und erneut eine Nachricht die Abschaltung signalisiert. Dieses Verfahren wird von allen Audiokarten der Hersteller Marian und RME unterstützt. Falls Sie sich jetzt fragen was daran so besonderes sein soll - fragen Sie doch mal Microsoft und Apple, warum die so etwas nicht von Haus aus unterstützen...

ZLM®...

Der Begriff 'Zero Latency Monitoring' wurde 1998 von RME mit der DIGI96 Serie eingeführt und beschreibt obige Möglichkeit (das Eingangssignal des Rechners an der Schnittstellenkarte unverzögert direkt zum Ausgang durchzuschleifen). Seitdem ist die dahinter stehende Idee zu einem der wichtigsten Merkmale modernen Harddisk Recordings geworden.

...und ADM

Mit ASIO Direct Monitoring (ADM, seit ASIO 2.0) führte Steinberg ZLM nicht nur in ASIO ein, sondern erweiterte es noch deutlich. ADM erlaubt ebenfalls ein Monitoring des Einganges in Echtzeit per Hardware. Darüber hinaus unterstützt ADM Panorama, Volume und Routing, was jedoch einen Mischer (also eine DSP-Funktionalität) in der Kartenhardware voraussetzt. Damit ist es prinzipiell möglich, das Durchschleifen eines Software-Mixers in Hardware und in Echtzeit nachzubilden, so dass sich der Klangeindruck des Monitorsignales beim Umschalten zwischen Playback und Monitoring nur minimal ändert. Insgesamt wird der Ansatz 'Mischpult und Bandmaschine im Rechner' mit ADM deutlich verbessert.

Enhanced ZLM®

Das direkte Durchschleifen digitaler Daten setzt normalerweise eine identische UND synchrone Samplefrequenz an Ein- und Ausgang voraus. Mit anderen Worten: das Monitoring des Eingangssignales ist nur im Modus Slave (bzw. AutoSync) möglich. Tatsächlich muss die erste Generation der DIGI96 Serie zur Nutzung von ZLM auch in diesen Clock-Modus geschaltet werden. Das exklusive Enhanced ZLM Verfahren von RME, in allen aktuellen RME-Karten enthalten, beseitigt diese Einschränkung, und erlaubt ein Monitoring des Eingangssignales unabhängig von Clock Mode und Samplefrequenz, also auch bei unterschiedlichen Datenraten an Ein- und Ausgang. Es funktioniert natürlich sowohl bei ZLM als auch ADM.

Low - Lower - Lowest Latency

Damit ist der Traum des kompletten Tonstudios im PC ohne spezielle externe DSP-Hardware Realität geworden (man spricht hier von Native-Processing, da die CPU des Rechners alle Berechnungen selbst ausführt). Leider hat die Sache einen Haken: Windows ist nun einmal eher ein Office-Betriebssystem, und prinzipiell nicht für Tonstudiobetrieb gedacht. Daher gibt sich das Microsoft-Produkt alle Mühe, den Betrieb mit kleinsten Latenzzeiten zu sabotieren. Trotz ASIO führen viele Hintergrundaktionen von Windows oder Anwendungsprogrammen zu einer kurzzeitigen CPU-Blockade, und damit zu einem Aussetzer (Drop Out).

Gefahr erkannt - Gefahr gebannt! Wie man typische Stolperfallen systematisch beseitigt und weitere vermeidet erfahren Sie in der Tech Info Tuning Tips für Low Latency Betrieb.

Mit jeder Erhöhung der Latenzzeit steigt die Zuverlässigkeit und sinkt das Risiko von Drop Outs. Umgekehrt bewirkt jede Verringerung der Latenz eine Erhöhung der Systembelastung, da mit immer kleineren Puffern die Anzahl der Signalisierungen eines anstehenden Datentransfers ansteigt. Beispielsweise löst die Hammerfall bei 1,5 ms Latenz (entsprechend 64 Sample Puffergrösse) alle 1,5 Millisekunden einen Interrupt aus, also 666 mal pro Sekunde!

Allerdings ist nicht alles technisch machbare wirklich sinnvoll. Dazu ein praktisches Beispiel: ein Bassist 3 Meter neben dem Drummer hört diesen mit einer Verzögerung von 9 ms (Schallgeschwindigkeit 340 m/s). Selbst direkt neben den Crashbecken (1 m, Hörsturz vorprogrammiert) ergeben sich noch 3 ms. Angesichts solcher Zahlen erscheinen 6 ms Latenz vollkommen ausreichend. In der Praxis lässt sich selbst mit einer festen Latenz von 10 ms wunderbar arbeiten. Das kann jeder selbst testen: einfach mal den Audioausgang eines Keyboards absichtlich per Delay verzögern. Zwar ist der Unterschied verzögert/unverzögert deutlich spürbar, jedoch gewöhnt man sich schnell daran, und kann problemlos im Groove mitspielen.

Diese Aussage wird sicher von vielen Studioprofis bezweifelt, welche schon bei Schwankungen von wenigen Millisekunden im MIDI-Timing (und wer kennt das nicht) eine Produktion für unbrauchbar erklären. Sie haben Recht, meinen aber nicht eine feste Verzögerung, sondern eine schankende, in unserem Fall den

Latenz Jitter

Latenz Jitter bezeichnet Schwankungen in der Latenz, also gewissermassen der Reaktionszeit des Systems. Wir haben diesem Thema eine eigene Tech Info gewidmet: Low Latency Hintergrund: Von Puffern und Latenz Jitter.

Copyright © Matthias Carstens, 2000.
Alle Angaben in diesem Tech Info sind sorgfältig geprüft, dennoch kann eine Garantie auf Korrektheit nicht übernommen werden. Eine Haftung von RME für unvollständige oder unkorrekte Angaben kann nicht erfolgen. Weitergabe und Vervielfältigung dieses Dokumentes und die Verwertung seines Inhalts sind nur mit schriftlicher Erlaubnis von RME gestattet.

 

Hauptseite    News    AD/DA-Wandler    Digitalkarten    MADI Serie     DIGICheck    Mic Preamps
Zubehör    Support    RME Newsgroup    Rund um RME    Bezugsquellen    Downloads    Links

Copyright 2002 RME. Alle Rechte vorbehalten. RME ist ein eingetragenes Markenzeichen.
Diese Website enthält Namen und Marken anderer Firmen