Audio PC Latenzen

Auswirkungen von Latenzen

Jeder, der digital Musik streamt hat es vielleicht schon erlebt: Aussetzer, Klicks oder Knackser. Die Ursachen können in verlorenen Datenpaketen liegen, weil die Latenzen zu hoch sind. Zu hohe Latenzen sind aber auch verantwortlich für einen undynamischen Sound mit eingeschränkter Räumlichkeit.

Definition von Latenzen

Latenz bedeutet zeitliche Verzögerung. Latenzen sind überall vorhanden. In der digitalen Musikwelt ist es zum Beispiel die Zeitdauer für die Digital-/Analog Codierung (DAC) oder bei der Musikproduktion umgekehrt: Analog-/Digital Codierung (ADC). In der Musikproduktion sind niedrige Latenzen wichtig. Wenn ein Musiker die Instrumente der anderen zu spät hört, hat das natürlich Auswirkungen.

Schall breitet sich mit einer Geschwindigkeit von 343,2 Metern pro Sekunde (in trockener Luft von 20 °C) aus, was einer Latenz von rund 2,9 Millisekunden (ms) pro Meter entspricht. Für die meisten Musikerinnen und Musiker sind Latenzzeiten unter 5 ms in Ordnung und zwischen 5 und 15 ms noch akzeptabel. Ab 20 ms wirkt es sich sehr störend aus.

relevante Latenzen

Betrachten wir die richtigen Latenzen? Wenn der Audio PC die Musik nur wiedergibt spielt es keine Rolle, ob der Ton nach dem Klick auf Play Sekunden später erklingt. Viele Player laden den Stream sogar in den Arbeitsspeicher, um das Signal besser verarbeiten zu können. Nur hat die Pufferung im RAM mit der Pufferung in Audiokarten nichts zu tun. Der Arbeitsspeicher hat im Gegensatz zu anderen Speichermedien sogar sehr geringe Latenzen. Deshalb laden viele das Betriebssystem gleich ganz vom Arbeitsspeicher und das ist eine gute Sache. Als reine Musikhörer sind uns deshalb andere Dinge wichtig:

Die relevanten Latenzen sind nicht die Audiolatenzen, sondern die Latenzen auf OS-/Prozessebene!

Störende Latenzen liegen im Datenstrom und in der Datenverarbeitung des Audio PCs begründet. Beim Rendern von Audiosignalen (z. B. von Flac in PCM oder DSD) und der Übertragung dieser Daten entstehen Latenzen. Sie ergeben sich aus der von der Soft- und Hardware benötigten Zeit, die Daten zu verarbeiten. Bei der Datenübertragung spielen zudem der Sample-Puffer (engl. Buffer) eine Rolle, die bei Audiokarten üblicherweise im Bereich zwischen 64 und 512 Samples liegen, um ein Abreißen des Datenstroms zu verhindern.

Dabei kann eine hohe Latenz zu Klicks und Knistern führen. Angenommen, das Prüfsummenprotokoll findet keine Übereinstimmung in einem Paket und fordert das Paket erneut an. Aufgrund der langsamen Verarbeitung reicht die Zeit nicht aus. Dann sind diese Informationen unwiderruflich verloren. Das Ergebnis ist ein Knistern.

Samplingraten und Puffer bestimmen die Latenzen

Ein Sample ist die kleinste Einheit bei der Audio-Abtastung. Bei 44,1 kHz (CD) sind es z.B. 44.100 Samples pro Sekunde. Daraus lässt sich die Latenz errechnen.

Latenzen bei CD mit Standardpuffereinstellung

44.100 Samples = 1.000 ms
256 Samples = 5,8 ms (1000*256/44.100)

Die 256 Samples stellen in den USB oder Ethernet-Treibern den sogenannten Puffer dar. Je größer der Puffer ist, desto größer sind die Latenzen. Dafür wird die CPU weniger belastet. Umgekehrt führt ein sehr geringer Puffer zu sehr geringen Latenzen. Jedoch wird die CPU mehr belastet, da häufiger gerechnet werden muss.

Beispiel für sehr geringe Latenzen

44.100 Samples = 1.000 ms
52 Samples = 1,18 ms (1000*52/44.100)

Eine weitere Abhängigkeit besteht in der Höhe der Samplingraten. Bei gleicher Latenz von 1,18 ms wird der Puffer erhöht.

Beispiel Upsampling auf das 16fache einer CD mit sehr geringe Latenzen

705.600 Samples = 1.000 ms
834 Samples = 1,18 ms (1000*843/705.600)

In den USB- und Ethernetverbindungen sind oft Einstellungsmöglichkeiten für den Puffer vorhanden.

Latenzen und Jitter

Während die Latenz eine feste Zeit zwischen zwei Ereignissen definiert, beschreibt Jitter die Schwankungen innerhalb dieser Zeit. Im Bild unten wird das Audio Signal in Paketen versendet, welches im Originalzustand alle 5,8 ms ein Paket mit 256 Samples transportiert. Jitter kann dazu führen, dass die Samples unten im Beispiel auf bis zu 6,0 ms verlangsamt oder auf bis zu 5,6 ms beschleunigt werden. Wird die Taktung nicht korrigiert ist das hörbar. 

Nun lassen sich die Auswirkungen von Jitter vermindern, wenn die Latenzen durch einen geringeren Puffer verringert werden. Bei einer 44.1 kHz Audiodatei kann zum Beispiel der Puffer auf 52 Samples reduziert werden. Dies führt wie oben im Rechenbeispiel zu einer sehr geringen Latenz von 1,18 ms. Im Bild unten wird der Zusammenhang zwischen kleinem Puffer, dafür mehr Pakete und weniger Jitter (blaue Kurve) deutlich. Aber Vorsicht! Die Hardware und Software müssen dafür geeignet sein, sonst führen die häufigen Interrupts zu einer Überlastung des Systems und der Datenstrom reißt ab.

Die Gegenstimmen argumentieren, dass Jitter bei der Datenübertragung keine Rolle spielt, da letztendlich im DAC sowieso alles in dessen Puffer landet und bei asynchroner Datenübertragung von dort aus neu getaktet wird. Rein technisch ist das richtig. Viele Beobachtungen deuten jedoch darauf hin, dass ein zeitlich perfekt transportiertes Signal (zum Beispiel durch Reclocking) einen hörbaren positiven Effekt hat. Technisch lässt sich dieser Effekt unseres Wissens leider nicht erklären. Aber es gibt neue Thesen zum Reclocking.

Bandbreite vs. Latenzen

Oft wird die Bandbreite einer Datenleitung, beziehungsweise die Datenübertragungsgeschwindigkeit mit den Latenzen verwechselt. Die Bandbreite sagt jedoch nichts über die Reaktionsschnelligkeit der Datenverarbeitung aus! Natürlich muss eine Datenleitung einen ausreichenden Datendurchsatz ermöglichen. Oft reichen hier schon 100 Mbit/s.

Beispiel CD ohne Upsampling

44.100 x 16 Bit x 2 (Stereo) = 1.411.200 Bits = 1,41 Mbit/s

Beispiel Upsampling 16fache einer CD mit hoher Bittiefe

705.600 x 32 Bit x 2 (Stereo) = 45.158.400 Bits = 45,16 Mbit/s

Beispiel DSD1024 (1024fache einer CD)

44.100 x 1 Bit x 1024 x 2 (Stereo) = 90.316.800 Bits = 90,32 Mbit/s

Für die Musikwiedergabe ist die Bandbreite von 100 Mbit/s in der Regel ausreichend. Beim Upsampling oder PCM zu DSD Konvertierung sollte jedoch besser eine 1,0 GBit/s Leitung verwendet werden. Dies auch vor dem Hintergrund, dass die Audiofiles nicht die einzigen Daten sind, die über die Datenleitung gehen. Hinzu kommen zum Beispiel die Downloadstreams oder Steuer-/ und Remotedaten.

OS Timer Resolutions

Windows ist zum Beispiel kein Echtzeitbetriebssystem. Das Interrupt Standardintervall beträgt 15,625 ms (1.000 ms geteilt durch 64). Für Audio ist es im allgemeinen besser das Intervall so kurz wie möglich zu halten. Unter Windows 10 sind das 0,5 ms. Mit einem Programm wie zum Beispiel TimerTool kann das Intervall neu eingestellt und automatisiert geladen werden.

Alternativ stellt Signalyst mit dem HQPlayer OS ein eigenes Betriebssystem zur Verfügung. Dabei wird ein Linux Echtzeit-Kernel verwendet.

Latenzen in der Hardware

Bisher wurden nur die softwarebedingten Latenzen betrachtet. Nach unserer Erfahrung ist es wichtig bereits die Hardware mit niedrigen Latenzen auszuwählen.

CPU

In letzter Zeit liefern sich die beiden großen Chiphersteller Intel und AMD einen Wettbewerb um die beste Performance. In den Latenzen haben Intel Chips immer noch die Nase vorn, siehe AIDA64 Speicherverzögerung Hardwareluxx Generations-Nachzügler: AMD Ryzen 9 5950X und Ryzen 7 5800X im Test.

Speichermedien

Die Lese- und Schreibgeschwindigkeiten halten wir für nicht so wichtig, dafür umsomehr die Latenzen. Aus der unteren Grafik sind von links nach rechts die Latenzen sortiert. Die CPU hat natürlich mit ihren internen L1-L3 Caches die niedrigsten Latenzen.Bei der Auswahl einer CPU sind daher die L1-L3 Speichergrößen wichtig, denn was da schon zwischengespeichert werden kann muss nicht mehr in die langsameren Speicher. Dann folgen mit immer noch sehr geringen Latenzen der Arbeitsspeicher (RAM) und die Intel Optane Speicher.

Arbeitsspeicher (RAM)

Bei der Auswahl des RAM ist die Kombination zwischen CAS Latenz (CL) und Geschwindigkeit wichtig.

Beispiel CL10@2.400 MHz Speicher

1.000/2.400*10 = 8,33 Nanosekunden (0.00000833 ms)

Die 2.400 MHz sind nicht sehr viel, aber in Kombination mit dem CL Wert sind die Latenzen sehr niedrig. Wer das nicht selbst ausrechnen möchte nimmt einen Rechner im Web:  Ram Latency Calculator.

PCIe-Karten

Wir berichteten von Lichtwellenleiter (LWL) mit niedrigen Latenzen mit einer erstaunlichen Klangsteigerung.

Die XILINX Solarflare Flareon Ultra SFN8522 Karte hat angabengemäß eine sehr niedrige Latenz von unter 1 μsec (0,001 ms).

Beim XtremeScale X2522 Network Adapter liegen die Hardware-Latenzzeiten im Submikrosekundenbereich und der Jitter geht nahezu gegen Null. Die Leistungsdaten sind deutlich besser als die 8000er Serie.

Zusammenfassung

Welche Latenzeinstellung ist die Beste? Unter der Annahme, dass sich geringe Latenzen am besten anhören die niedrigste, die keine Probleme verursacht! Wer keine schnelle CPU hat wird schnell an seine Grenzen stoßen. Denn je geringer die Latenzen sind, desto mehr muss der Prozessor arbeiten. Ein Feintuning ist bereits mit den Einstellungen in der Software möglich. Außer ein wenig Mühe kostet das nichts. 

Kommen wir zum ungesicherten Wissen. Die These ist, dass die niedrigste Latenz im Computer gut für Audio ist. Warum? Wir vermuten, dass eine schnelle Verarbeitung mit geringer Latenz zu weniger Fehlern führt. So kann beispielsweise ein Paketfehler durch eine gelungene Neuanforderung noch schnell behoben werden. Wir wissen, dass geringe Latenzen den Jitter vermindert und vermuten dadurch positive Auswirkungen bei der Weiterleitung zum DAC. Wir vermuten, dass eine geringe Latenz eine bessere Verarbeitung mit hochwertigen Algorithmen ermöglicht, beispielsweise mit HQPlayer. Wir vermuten einen verbesserten Wirkungsgrad und damit weniger elektronisches Rauschen. 

Bei der Zusammenstellung eines Audio PCs soll bereits eine Hardware mit geringen Latenzen ausgewählt werden. Dies fängt schon mit der CPU an. Auch ein Audio PC macht nichts anderes als das Lesen und Schreiben von Daten. Daher ist die Auswahl von Speichermedien besonders wichtig. Das Empfangen und Senden von Musikfiles ist eine der Hauptaufgaben und sollte mit entsprechend hochwertigen PCIe-Karten unterstützt werden.