Symboldarstellung von Latenz
Latenz: Das untere Signal kommt deutlich verzögert

Gibt man ein Signal in einen digitalen Signalprozessor (DSP), wie z.B. ein digitales Multieffektgerät, tritt eine kleine, als Latenz bezeichnete Verzögerung auf. Auch eine geringe Latenz kann schnell zu einem Problem werden.

Musiker sind an direkte Response gewohnt: Wenn man eine Saite anschlägt, auf eine Trommel haut oder in ein Blasinstrument bläst – sofort kommt ein Ton. Sogar, wenn das Signal durch eine ganze Kette von Analogeffekten geschickt wird.

Aber gibt man ein Signal in einen DSP, tritt eine kleine, als Latenz bezeichnete Verzögerung auf. So klein, dass man sie möglicherweise nicht bemerkt, aber sie ist da. Ein analoges Signal zu digitalisieren dauert bei 44,1 kHz rund 600 Mikrosekunden, von digital wieder zurück dauert das noch einmal ungefähr die gleiche Zeit, so dass der komplette Weg analog-digital – digital – analog rund 1,2 Millisekunden in Anspruch nimmt. Dazu kommt noch, dass auch der Effektprozessor sich für seine Arbeit noch ein wenig Zeit nimmt.

Latenz durch Signalwandlung

Die Schallgeschwindigkeit beträgt rund 343 Meter pro Sekunde, also würde sich die komplette A/D-D/A-Wandlung so auswirken, als würde man sich 41 cm von seinem Verstärker entfernen. Das sollte kein Problem sein. Wenn jedoch Computer im Spiel sind, passiert noch eine ganze Menge mehr.

Zusätzlich zu der reinen Wandlung zwischen den Welten ist noch ein Stück Software namens Audio-Treiber beteiligt, der die Daten der Wandlung in den Datenstrom des Rechners einfügt. Auch der Rechner selbst verursacht Verzögerungen (Latenzen), denn selbst der schnellste Rechner kann “nur” ein paar Millionen Berechnungen pro Sekunde anstellen. Er muss ja Tastatur und Maus abfragen, USB und andere Ports bedienen, den Bildschirm füllen, Daten aus dem Speicher und zurück bewegen, kurz gesagt: Er hat alle Hände voll zu tun. Verständlich, dass er manchmal Schwierigkeiten hat, mitzuhalten.

Um „Stolpereien“ zu verhindern, werden die eingehenden Audio-Daten in einem Puffer zwischengelagert, wie eine “Bank” für Daten. Statt also die Wandler bei 44,1 kHz 44100-mal pro Sekunde abzufragen, werden vom Audiotreiber im Hintergrund die Daten in den Puffer geschrieben. Der Prozessor schaut, wenn er Zeit hat, in diesem Puffer vorbei und bedient sich der dort abgelegten Daten. Das gibt ihm die Möglichkeit, in der Zwischenzeit seine anderen Aufgaben zu erledigen. Je größer dieser Puffer, umso größer die Wahrscheinlichkeit, dass keine Audio-Daten „verschlabbert“ werden. Damit steigt aber auch die mögliche Wartezeit zwischen Signal-Eingang und -Verarbeitung, sprich die Latenz. Bei der Einstellung der Puffergröße muss man also immer abwägen zwischen der Sicherheit, dass der Puffer immer genug Daten zur Bearbeitung enthält und möglichst kleiner Latenz. Denn, wenn der Puffer voll ist, bevor der Prozessor sie abarbeiten kann, hört man Knackser oder Aussetzer. Im schlimmsten Fall kann es sogar zum Programmabsturz kommen.

Die negative Auswirkung von Latenz ist, dass man beim Einspielen das Gefühl hat, man würde über ein Delay spielen. Wenn die Verzögerung unter 5 Millisekunden bleibt, wird das kein echtes Problem darstellen. Aber manche Systeme produzieren zehn oder sogar über 100 ms Latenz – und das wird dann unangenehm.

Deshalb werden wir ergründen, wie wir die Latenz minimieren können – und was uns das im Gegenzug kostet.

Latenz minimieren

Der erste Schritt die Latenz zu minimieren, ist auch gleich der teuerste: Den Prozessor upgraden. Als die ersten Software-Synths auf den Markt kamen, waren Latenzen von Hunderten von Millisekunden üblich. Mit den heutigen Multicore-Prozessoren und hochwertigen Audio-Interfaces sind Latenzen von 10 ms und darunter bei 44,1 kHz möglich.

Den bestmöglichen Audio-Treiber zu verwenden, ist ebenfalls ein großer Einflussfaktor auf die Latzenz. Je besser der Treiber, desto effizienter ist er bei der Signalverarbeitung. Steinberg hat mit ASIO (Advanced Streaming Input Output) ein Protokoll für Audio erfunden, das speziell für niedrige Latenzen ausgelegt ist. Dieses Protokoll arbeitet sehr nah an der CPU und umgeht die meisten Schichten des Betriebssystems, sei es Windows oder OS X. Zu der Zeit benutzte Apple den “Sound Manager” und Microsoft eine Vielzahl verschiedener Protokolle, die alle untauglich für musikalische Anwendungen waren.

Erst mit dem ersten Soundkarten mit ASIO-Unterstützung waren ernsthafte Musik-Anwendungen mit geringen Latenzen möglich.

Später erkannten Apple und Microsoft die Wichtigkeit von niedriger Latenz und führten neue Protokolle ein. WDM und WASPI von Microsoft sind den alten Treibern deutlich überlegen, mit OS X hat Apple das Core Audio eingeführt, das noch näher an der CPU hängt.

Jedes der neuen Protokolle arbeitet genau so gut wie ASIO. Dennoch ist ASIO für Windows einfach zum Standard geworden, und so viel Arbeit ist in die Entwicklung hochwertiger ASIO-Treiber geflossen, dass die meisten Musiker auch heute noch ASIO als Treiber für ihre Interfaces benutzen.

Ist niedrige Latenz immer besser?

Also sollte die Latenz immer so niedrig wie möglich sein? Nun, das ist einfach nicht immer machbar, denn je niedriger die Latenz, desto mehr wird dem Rechner abverlangt. Deshalb bieten die Treiber der meisten Audio-Interfaces eine Auswahl verschiedener Einstellungen für die Latenz an (siehe Abb. 1), so dass man zwischen niedriger Latenz und Rechnerleistung balancieren kannst.

Die Hardware des Roland VS-700 wird in Cakewalk Sonar auf eine Latenz von 64 Samples eingestellt.
Abbildung 1: Die Hardware des Roland VS-700 wird in Cakewalk Sonar auf eine Latenz von 64 Samples eingestellt.

Übrigens: Latenz wird entweder in Millisekunden oder Samples angegeben. Die Angabe in Millisekunden ist natürlich intuitiver zu benutzen, aber das soll jeder selbst entscheiden (um die Zahlen kümmern wir uns später). Die Zahlen sind nicht signifikant, sie stehen nur für “weniger” oder “mehr”.

Wenn der Computer nichts weiter zu tun hat, als einen virtuellen Gitarrenverstärker im Stand-Alone Modus zu spielen, kann man eine sehr niedrige Latenz einstellen. Wenn man aber ein komplexes DAW-Programm mit einem Haufen Spuren oder reichlich virtuellen Instrumenten laufen lässt, wird man zwangsläufig die Latenz erhöhen müssen.

Latenz vs. Performance

Zusammenfassend hier ein paar Tipps für die beste Kombination aus niedriger Latenz und hoher Performance.

  • Wird ein Rechner mit einer Multicore-CPU verwendest, sollte überprüft werden, ob die DAW-Software auch Mehrkern-CPUs unterstützt. Bei machen Programmen muss diese Unterstützung in den Voreinstellungen aktiviert werden. Das verbessert die Leistung und reduziert die Latenz.
  • Darauf achten, dss die aktuellsten Treiber installiert sind, und dafür regelmäßig die Homepage des Herstellers auf Neuerungen überprüfen. Aber unbedingt vorher unter Windows einen Wiederherstellungspunkt setzen – nur für den Fall, dass der Treiber sich nicht dem System verträgt oder einen Bug hat. Macs brauchen üblicherweise keine Treiber, da sich die Audio-Interfaces direkt in Core Audio einklinken (Abb. 2), aber es kann aktualisierte Kontrollfelder geben, die mehr Funktionalität bieten, wie z.B. einen weiteren Bereich von Sampleraten.
  • Sicherstellen, dass das richtige Protokoll für das Audio-Interface gewählt wurde. Unter Windows kann die Soundkarte Protokolle wie ASIO, DirectX, MME, emuliertes ASIO etc. bieten. Bei den meisten Interfaces werden ASIO-Treiber mitgeliefert, die speziell für das Interface geschrieben wurden. Und die sollten auch verwendet werden.
  • Es gibt einen “Sweet Spot” für Latenz. Zu hoch, und das System wird träge, zu niedrig, und es gibt Performance-Probleme. Ich gehe normalerweise auf die sichere Seite und stresse den Computer nicht zu sehr.
  • Den Computer nicht zu sehr belasten. Sehr nützlich ist hier die “Track Freeze”-Funktion in den meisten DAWs, die Filter, Effekte und/oder Softwaresynthesizer in eine Audio-Spur herunter rechnet, so dass sie nicht dauernd in Echtzeit gerechnet werden müssen, sondern als einfache Audio-Spur abgespielt werden können. Das spart eine große Menge Rechenleistung.

Messung der Latenz

Bis jetzt haben wir über die Latenz nur in Millisekunden gesprochen. Einige Hersteller jedoch geben Samples als Einheit an. Es ist nicht wirklich kompliziert, Samples in Millisekunden umzurechnen. Das braucht ein bisschen Mathematik, wenn dir also deine grauen Zellen explodieren, denk daran, egal ob die Einstellung in Samples oder Millisekunden vorgenommen wird, nimm die niedrigste Einstellung die noch zuverlässiges Arbeiten erlaubt. Okay, weiter mit Mathe.

Bei einer Samplerate von 44,1 kHz, der üblichen Rate von CDs und vielen Audio-Projekten werden dem Audiosignal 44100 Samples, sprich Messungen (Proben), pro Sekunde genommen. Also ist jedes Sample 1/44.100stel einer Sekunde lang, oder 0,023 ms (wenn hier ein Nerd mitliest – 0,022675736961451247165532879818594 ms, okay?)

Wenn nun ein Audio-Interface eine Latenz mit 256 Samples angibt, entspricht das 256 x 0,023 ms, also 5,8 ms. 128 Samples Verzögerung entsprechen 2,9 ms. Bei einer Samplerate von 88,2 kHz ist ein Sample nur halb so lang wie bei 44,1 kHz, somit nur 0,0125 ms. Dementsprechend erzeugt eine Puffergröße von 256 Samples bei 88,2 kHz nur eine Latenz von 2,9 ms.

So betrachtet scheint eine Erhöhung der Samplefrequenz die Latenz entsprechend zu reduzieren, doch bedeutet eine höhere Samplerate gleichzeitig mehr Belastung für den Rechner. Durch die Erhöhung werden Plugins und Softsynths deutlich rechenintensiver, so dass vielleicht nur noch die Hälfte der Plugins möglich sind.

Latenz aufgepasst!

Audio-Interfaces sollen ihre Latenzwerte dem verwendeten DAW-Progamm melden, damit die Software die Verzögerung während der Aufnahme kompensieren kann. Denk mal darüber nach: Man spielt zum Schlagzeug aus dem Rechner, also hörst Du den Sound 6 ms später, und die Aufnahme dessen, was man spielt, kommt durch die Aufnahmelatenz weitere 6 ms später. Das macht satte 12 ms! Wenn das Programm diese Vorgaben kennt, kann es die Verzögerungen kompensieren und die Aufnahmen wieder in die Spur bringen.

Dummerweise haben verschiedene Interfaces verschiedene Methoden ihre Latenzen kundzutun. Man würde ja annehmen, dass eine Karte mit einer Latenz von 5,8 ms schneller ist als eine mit 11,6 ms. Das muss aber nicht unbedingt stimmen, denn manche Hersteller geben als Latenz nur den Weg in eine Richtung an, meist Analog zu Digital, und mache beziehen beide Richtungen in die Angabe ein, also A/D-D/A. Manche geben auch beides an.

Zu allem Überfluss sind die Angaben auch nicht immer genau. Manche Interfaces liegen Hunderte von Millisekunden daneben. Papier ist geduldig, und Latenz ist immer ein Kaufargument.

Was ist mit “Direct Monitoring”?

Das Tascam UH-7000 Interface verfügt im Mixer über einen Monitor-Regler, mit dem man auswählt, ob man den Input oder den Output des Computers oder beides hören will.
Abbildung 2: Das Tascam UH-7000 Interface verfügt im Mixer über einen Monitor-Regler (oben rechts). Damit wählt man aus, ob man den Input oder den Output des Computers oder beides hören will.

Es gibt Interfaces mit einem Feature namens “Direct Monitoring”. Damit wird die Latenz auf nahezu 0 reduziert, indem das Eingangssignal unter Umgehung des Rechners direkt im Interface wieder auf den Ausgang geroutet wird. (Abb. 3)

Für manche Anwendungen ist Direct Monitoring überaus brauchbar, für andere wiederum nicht. Nimmt man eine Gitarre auf und nutzt die DAW-interne Amp-Simulation, sollte man zwingend hören, was aus dem Rechner kommt. Das trockene Gitarrensignal nützt Dir hier nichts. Mann entscheidet also je nach Anwendung, ob man die Direct-Monitoring-Option nutzt oder nicht.

Die Tugenden der Nutzung von Kopfhörern

Ein anderer Weg, die Latenz zu reduzieren, ist die Verwendung von Kopfhörern. Hört man über Monitorboxen ab, die nur einen Meter von den Ohren entfernt stehen, erzeugt das eine zusätzliche Latenz von 3 ms, die bei Kopfhörern nicht auftritt.

Mac vs. Windows

Es gibt einen signifikanten Unterschied zwischen Mac- und Windows-Rechnern. Core Audio ist ein komplettes Audio-Subsystem in dem schon Treiber für die meisten Interfaces enthalten sind. Deshalb ist es zumeist nicht nötig irgendwelche Treiber zu installieren wenn man ein Interface an den Mac klemmt. Bei Windows sind in der Regel spezielle Treiber im Lieferumfang enthalten, die erst mal installiert werden müssen. Erschwerend kommt dazu, dass die Treiber meist schon veraltet sind, wenn die Geräte in den Läden ankommen.

Es ist eine gute Idee, schon bei der Erstinstallation die Webseite des Herstellers nach den neuesten Treibern zu durchforsten. Da die Treiber immens wichtig sind, ist es immer essentiell die aktuellsten Ausgaben zu benutzen.

Bei Windows ist auch die Treiber-Installation selbst ein wichtiges Thema. Bei manchen Interfaces muss zuerst der Treiber installiert werden bevor die Karte eingebaut wird, damit nicht ein ungeeigneter Treiber von Windows verwendet wird, bei manchen ist es genau anders herum. RFTM – read the fine manual…

Gegenwart und Zukunft

Über die letzten 10 Jahre ist Latenz weniger und weniger ein Problem geworden. Heutige Systeme bieten sehr niedrige Latenzen, und sie werden immer niedriger.

Hat man signifikante Latenzen in seinem System, dann ist irgendetwas faul. Überprüfe Audio-Optionen, Treiber und Einstellungen der DAW-Software, um das Problem zu beseitigen.