Latenz "unmystified"

  • Ersteller FantomXR
  • Erstellt am
FantomXR
FantomXR
Keyboardmanufaktur Berlin
Zuletzt hier
18.04.24
Registriert
27.01.07
Beiträge
3.878
Kekse
8.429
Ort
Scheeßel
Hey Leute,

ich habe mich letztens gefragt, wie realistisch die Latenz-Werte, die einem der Host anzeigt, überhaupt sind. Und wie verhalten sich Interfaces untereinander?
Ich habe kurzerhand einen Test gemacht.

Angetreten ist das Focusrite 6i6 2nd Gen (199€) gegen ein Behringer UMC404HD (107€).

Getestet wurde unter 44.1kHz mit 64 Samples. Installiert wurden die neuesten Treiber. Die Tests wurden unter Windows 10 durchgeführt.

Zuerst habe ich die Latenz gemessen, die zwischen eingehendem MIDI-Signal und ausgehendem Audio-Signal entsteht.

Ich habe den MIDI Ausgang eines Keyboards an den MIDI Eingang des jeweiligen Interfaces angeschlossen. An dieses Kabel habe ich außerdem den ersten Kanal meines Oszilloskops angeschlossen. Den zweiten Kanal des Oszilloskops habe ich an den Audio-Ausgang des Interfaces angeschlossen.

Die Ergebnisse seht ihr hier:

Focusrite:
1 - Focusrite 6i6_44.1kHz@64 Samples MIDI.jpeg


Das Raster in der Focusrite-Messung liegt bei 1ms.
Ergebnis: Zwischen Auslösen der Taste und Erzeugung des Tons vergehen ca. 9ms



Behringer:
2 - Behringer UMC404HD_44.1kHz@64 Samples MIDI.jpeg


Das Raster in der Behringer-Messung liegt ebenfalls bei 1ms.
Ergebnis: Zwischen Auslösen der Taste und Erzeugung des Tons vergehen ca. 4.7ms.

Als zweiten Test habe ich ein Testsignal in den Audio-Eingang des Interfaces geschickt, durch einen Host geroutet und gemessen, wie lange es dauert, bis der Ton am Audio-Ausgang wieder ausgegeben wird. Die Latenz, die dabei eventuell das Programm hinzufügt, kann vernachlässigt werden, da beide Tests unter den selben Bedingungen durchgeführt wurden.

Die Ergebnisse seht ihr hier:

Focusrite:
3 - Focusrite 6i6_44.1kHz@64 Samples AUDIO.jpeg


Das Raster in der Focusrite-Messung liegt bei 2ms.
Ergebnis: Zwischen Eingabe und Ausgabe des Tons vergehen ca. 8,5ms



Behringer:
4 - Behringer UMC404HD_44.1kHz@64 Samples AUDIO.jpeg


Das Raster in der Behringer-Messung liegt bei 1ms.
Ergebnis: Zwischen Eingabe und Ausgabe des Tons vergehen ca. 5,8ms

Die Ergebnisse haben mich doch sehr überrascht. Die DAW zeigt mir übrigens eine Latenz von 1.45ms an bei dieser Samplerate und dem Buffer. Bei dieser Angabe handelt es sich um eine Output-Latenz. Roundtrip ist üblicherweise ungefähr das doppelte also ca. 3ms. Dass dieser Wert nicht real ist, war mir vorher klar, da z.B. noch USB-Buffer hinzukommen. Auch beim Audio-In -> Audio-Out-Test ist mit zusätzlicher Latenz zu rechnen, da eine AD-Wandlung immer etwas Zeit benötigt.

Ich bin mit Focusrite im Kontakt. Dort scheint es großes Interesse an solchen Werten zu geben und man schaut sich das genauer an. Das gibt mir ein gutes Gefühl, dass dies nicht sofort abgetan wird sondern mein Anliegen erst genommen wird. Da können sich andere Firmen (wie z.B. RME) eine Scheibe von abschneiden :)

Morgen werde ich aber noch ein RME Babyface unter die Lupe nehmen und schauen wie es sich dort verhält. Dieser Test zeigt aber zumindest, dass man sich auf die angezeigten Werte nicht verlassen kann und sie keine Aussagekraft haben.

Was meint ihr dazu?

Leider habe ich sonst keine Interfaces mehr hier. Sonst würde ich noch einige andere in den Test einbeziehen. Vielleicht ergibt sich hier ja was.


Liebe Grüße,
Christian
 
Eigenschaft
 
  • Gefällt mir
Reaktionen: 4 Benutzer
Ich bin mit Focusrite im Kontakt. Dort scheint es großes Interesse an solchen Werten zu geben und man schaut sich das genauer an.
Führt ein Hersteller von Audiointerfaces solche Tests nicht selbst durch? :nix:
Angezeigt werden wahrscheinlich Branchen-übergreifend beschönigte Werte, bzw. die schönsten Werte, die man noch irgendwie rechtfertigen kann. Oder gäbe es Interfaces / Hersteller, die echte Werte anzeigen / angeben? Dabei sollten natürlich für analoge und digitale Audio-Schnittstellen unterschiedliche Werte angezeigt / angegeben werden, weil Wandler ja auch etwas Latenz haben.
Mal ein Beispiel aus der Hardware-Welt:
Ein Lexicon MX400 kann mit 44,1 kHz oder 48 kHz betrieben werden und hat sowohl analoge als auch digitale (S/PDIF) Audio-Schnittstellen.
Der Hersteller gibt in den technischen Spezifikationen die Latenz des Geräts an. Na immerhin! :D Natürlich bei der maximal möglichen Arbeits-Frequenz von 48 kHz und ausschließlich für digitale Audio-Schnittstellen. Welche Wandler verbaut sind, weiß der Hersteller doch Bescheid und könnte durchaus die zusätzlichen Latenzen für analoge Audio-Schnittstellen angeben. Das tut er aber nicht. Wozu? Ein Wert ist angegeben – der schönste Wert! Soll doch reichen! :twisted: Nur so als Beispiel. Nicht dass die analogen Latenzwerte vom MX400 schlecht wären. Die Wandler sind übrigens sehr gut, und ich verwende gern analoge (symmetrische!) Audio-Anschlüsse. Welche Latenz dabei entsteht, weiß ich nicht. Habe nicht nachgemessen. Hätte es gern vom Hersteller erfahren, aber ... Siehe oben. :twisted:
 
@FantomXR imho hast du dir etwas zuviel Mühe gemacht und dabei 2 sehr unterschiedliche Zeitsysteme miteinander verbunden.
Um die reine Audio-Durchlauflatenz zu bestimmen, reicht es einen Impuls auf Spur A aufzunehmen, an einen Ausgang zu schicken (der mit einem freien Eingang verbunden ist) und selbigen dann auf Spur B wieder aufzunehmen.
Den Zeitversatz zwischen beiden Spuren entspricht sample-genau der realen Durchlaufzeit des Signals inclusive Asio-Buffer und Wandler Zeiten.
Letztlich ist es ja diese Gesamtsumme, die in der praktischen Anwendung entscheidend ist.

Auf diese Weise lässt sich auch ein Effektgerät 'ausmessen', indem man es (nach Bestimmung der einfachen Durchlaufzeit) zwischen Ausgang und Eingang einschleift.
Vom gemessenen Wert zieht man die erste Messung ab und erhält so die Verzögerung des Effektgeräts.

Ein Midi-Trigger ist nicht latenzfrei und kann durch den 'langsamen' Takt um ca 5ms schwanken, das allerdings pro 'Station', dh Keyboard und Interface wären 2 Komponenten, deren Takt nicht synchronisiert ist. (habe die Werte aber nicht exakt im Kopf)
Da wäre es durchaus interessant eine reine Midi Aufnahme mit den Oszillografen-Werten zu vergleichen.
 
Worin genau unterscheidet sich nun die Methode A von meiner? Mit einem Oszilloskop bin ich in der Werkstatt zumindest schneller :) deine Argumentation mit den Zeitsystemen verstehe ich nicht .

Klar... Es variiert. Das stimmt. Aber nicht um 5ms. In der Regel um 1ms wenn ich recht im bilde bin. Und die abgebildeten Messungen sind Mittelwerte. Abweichung von 5ms konnte ich in keinem Fall messen.
 
Klar... Es variiert. Das stimmt. Aber nicht um 5ms. In der Regel um 1ms wenn ich recht im bilde bin.
Ca. 1 ms ist der theoretische zeitliche Abstand zwischen zwei MIDI-Events aus 3 MIDI-Bytes in einer herkömmlichen externen MIDI-Leitung. Welche Latenzen und Schwankungen MIDI-Equipment in der Praxis erzeugt, ist eine ganz andere Sache. Ich habe früher mal in Test-Berichten zu Interfaces teilweise von zweistelligen MIDI-Latenzen / -Verzögerungen gelesen. Das ist also sehr abhängig vom Equipment. Es gibt sowohl Best-Case- als auch Worst-Case-Szenarien.
 
Zuletzt bearbeitet:
Hm, aber gilt das nicht für die Erzeugung des Midi Events? Da würde es Sinn machen. Aber nachdem der Event entstanden ist dürfte das doch viel weniger sein. Die Argumentation würde ich verstehen, wenn ich z.B. messen würde, wieviel Latenz zwischen dem Druck einer Taste und der Erzeugung des Tons entsteht.... also quasi VOR dem Entstehen des MIDI-Signals das Oszi anschließe. Aber in meinen Tests messe ich ja hinter der Elektronik, die den MIDI-Event erzeugt. Im Prinzip messe ich also die reine Latenz, die entsteht, zwischen Eingang des MIDI-Signals im Interface und Erzeugung des Tons. Alles, was davor passiert, spielt keine Rolle.

Natürlich kann es sein, dass der MIDI-Eingang des Interfaces eine Latenz erzeugt, weil der Eingang vielleicht periodisch abgefragt wird oder MIDI-Daten nur periodisch verarbeitet werden. Dieser Wert ist dann aber in den Latenzmessungen enthalten.

Wenn du da technischen Background hast, dann teile dich gerne mit! :)

//edit: Was in meinen Tests noch fehlt, ist die Umgehung des MIDI-Eingangs des Interfaces. Allerdings schleicht sich damit eine Unbekannte ein. Wenn ich z.B. einen Controller direkt per USB an den Rechner anschließe, ein Oszi an einem Schalter des Controllers, der einen Note-On sendet, anschließe und dann die Latenz messe, die zwischen Auslösen des Schalters und Erzeugung eines Tons entsteht, weiß ich nicht, wie lange es braucht, bis die Elektronik im Controller die Daten an den Rechner sendet. Aber als weitere Option ist das sicherlich auch interessant.
 
Zuletzt bearbeitet:
Wenn es blöd läuft, erzeugt das Interface beim Empfangen von MIDI-Events größere Latenzen und Schwankungen.
Wie schnell rausgesendet wird, ist auch eine Frage.
Einen technischen Background habe ich keinen, sondern habe Tests gelesen und selber Erfahrungen gemacht. In meinem Fall z.B. AudioFire2 am FW-Interface des Mainboards. Teils fürchterliche MIDI-Verzögerungen. Audio-Latenzen sind aber auch sehr schlecht. Einmal hatte ich auch eine sehr schlechte MIDI-Performance mit der Creamware-Karte am PCI-Bus. Es lag zum Teil am Mainboard von ASUS. War in der Praxis ein sehr schlechtes Modell (LX-Chip-Set), obwohl im PC-Zeitschrift-Test "sehr gut". Seltsamerweise lief MIDI per ISA-Soundkarte am selben Board super.
Wie dem auch sei, es kommt auf die Schnittstellen und auf die Implementierung an. Auch auf die Treiber und das Betriebssystem. Kann gut laufen, muss aber nicht.
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Richtig. Und da die Schnittstellen und das Betriebssystem in meinen Tests gleich sind, sind die Ergebnisse vergleichbar. Das Einzige, was hier eine Rolle spielt, sind die Treiber / Implementierungen des Herstellers.
 
Um bei MIDI den Schwankungen auf die Schliche zu kommen, müsste man mehrmals aufnehmen und vergleichen. Wenn keine größeren Schwankungen auftreten, werden die Mess-Ergebnisse ähnlich sein. Um MIDI-Latenzen zu messen, gibt es auch Verfahren. Nur kann ich das nicht genau beschreiben, weil ich selber das niemals gemacht habe. Es gab mal einen Artikel dazu in der KEYS. Die haben solche Tests auch gemacht. Ist aber schon um die 10 Jahre her, glaube ich. Aus der Zeit habe ich auch mein AudioFire2. Der PC ist aktueller, hilft aber trotzdem nix. :twisted: Naja, ich nutze das AudioFire2 halt für Audio zum Abspielen und Aufnehmen, wo Latenz keine Rolle spielt.

Ich erinnere mich z.B. an den Fall, wo ich zuhause wohl viel mit meinem DAW-PC gemacht habe und dann auf der Messe ein Korg TR-Keyboard angespielt habe (wird wohl 2006 gewesen sein), und das Gefühl hatte, dass die Töne erklingen noch bevor ich die Tasten drücke.
selfhammer.gif
D.h., ich war so an die Latenz gewöhnt, dass es mir (fast) ohne Latenz komplett unnatürlich und verwirrend vorkam. :D
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: 1 Benutzer
Um bei MIDI den Schwankungen auf die Schliche zu kommen, müsste man mehrmals aufnehmen und vergleichen.
Das habe ich getan. Aber ich muss den thread nicht mit 10x dem gleichen Test fluten :) Wie gesagt: die eingangs gezeigten Werte sind Mittelwerte.
 
Wie gesagt: die eingangs gezeigten Werte sind Mittelwerte.
Gut, wenn es bei MIDI keine größeren Abweichungen gab, dann wird es wohl auch keine größeren Schwankungen gegeben haben. ;) Nicht immer muss der schlimmste Fall auftreten. ;)

Die Auslastung des Systems wäre auch noch ein Thema, und wie die Prioritäten verteilt werden. Was macht früher "schlapp", Audio oder MIDI. ;) Gut, bei Audio kann man die Latenz hochsetzen. Bleibt MIDI dann immer noch stabil, wenn das System an ihre Auslastungs-Grenzen kommt? ;)
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Worin genau unterscheidet sich nun die Methode A von meiner? Mit einem Oszilloskop bin ich in der Werkstatt zumindest schneller :) deine Argumentation mit den Zeitsystemen verstehe ich nicht .
Vermutlich haben wir unterschiedliche Schwerpunkte in der Nutzung/Bewertung solcher Messungen.
Dir geht es vermutlich um die Latenz beim Einspielen - mir persönlich ist selbige praktisch egal, dafür brauche ich den Versatz sample-genau um auf Effektwegen (externe 19" oder andere DAW) entsprechend auszugleichen (bei paralleler Verarbeitung des selben Signals auf mehreren Wegen).
 
Ich frag nochmal: worin unterscheidet sich deine Methode von meiner? Ich schicke vorn ein Signal rein und hinten raus und messe die Zeit, die das hintere Signal länger braucht...
--- Beiträge wurden zusammengefasst ---
Die Auslastung des Systems wäre auch noch ein Thema, und wie die Prioritäten verteilt werden.
Das ist ebenfalls zu vernachlässigen, weil alle Tests unter den selben Bedingungen statt finden. Das Windows ist für Audio optimiert. Auslastung ist bei einer Note wirklich überhaupt kein Problem :)

Tatsächlich geht Windows anders mit Midi um als OSX. Das hatte ich schonmal getestet. Damals ging es darum, wie lang ein Midi Signal rein und wieder raus braucht. Bei Mac kam raus, dass die Latenz mit der Erhöhung der Buffersize steigt (obwohl keine Wandlung von Midi zu Audio statt fand). Bei Windows hingegen blieb die Latenz unabhängig von der eingestellten Buffersize konstant...
 
Meine Methode liefert den exakten Versatz in Samples ohne zusätzliche Hilfsmittel.
(die reine Zeitangabe ist bei bestimmten Delays und Reverb zu ungenau)
Um nur die Performance verschiedener Interfaces zu vergleichen ist das natürlich egal.
Zusätzlich lässt sich damit die Taktstabilität über einen Zeitraum verfolgen.
 
Auslastung ist bei einer Note wirklich überhaupt kein Problem :)
Und wie Praxis-relevant ist das? Spielst du mit deinem System immer nur eine Note? :nix:
Ich verstehe den Sinn eines solchen Tests nicht. Normalerweise werden solche Systeme bei großer Auslastung getestet.
Da kann theoretisch oder auch praktisch ein Interface oder sonstiges Gerät z.B. stabil 5 ms Latenz oder Schwankung bei MIDI liefern, und das andere ohne Auslastung 2 ms und mit Auslastung 20 ms. Nur so als Beispiel.
 
So, liebe Leute....

ich habe heute das RME Babyface getestet und komme auf die selben Ergebnisse, wie beim Behringer. Im Best-Case liegt die Latenz (MIDI to Audio) bei 3ms, im Worst-Case bei ca. 5.5-6ms.
Mich hat das stutzig gemacht und ich habe nochmal das 6i6 angeschmissen und mit einem 18i20 verglichen. Beide scheinen die selben Treiber zu nutzen und so lande ich bei den gleichen oben genannten Ergebnissen.

Ich habe dann einen Test unter OSX gemacht. Hier wird mir mit 3,5ms Outputlatenz schonmal eine andere Zahl angezeigt als in Windows. Auch muss ich noch etwas erwähnen:
Normalerweise setzt man die Buffersize immer in einem Vielfachen von 16. Also: 16, 32, 64, 128, 256, etc. Der Focusrite-Treiber stellt mir diese Werte jedoch unter Windows nicht zur Verfügung. Das hängt wohl mit der Programmierung des Treibers zusammen. Dort kann ich zwischen 56 und 72 wählen. Für meine Tests oben habe ich 72 verwendet. Ich habe heute neue Tests gemacht und den Wert auf 56 gestellt.

Kurzum: Hier messe ich ähnliche Ergebnisse wie bei dem Behringer und wie bei dem Babyface.

Warum das so ist mit der Buffer-Size weiß ich nicht. Ich setze mich mit Focusrite nochmal in Verbindung und gebe euch die Information weiter sobald ich hier Neuigkeiten habe.

Um das dann hier klarzustellen: Focusrite scheint mir nicht langsamer zu sein als Behringer oder RME.
--- Beiträge wurden zusammengefasst ---
Und wie Praxis-relevant ist das? Spielst du mit deinem System immer nur eine Note? :nix:
Ich verstehe den Sinn eines solchen Tests nicht. Normalerweise werden solche Systeme bei großer Auslastung getestet.
Da kann theoretisch oder auch praktisch ein Interface oder sonstiges Gerät z.B. stabil 5 ms Latenz oder Schwankung bei MIDI liefern, und das andere ohne Auslastung 2 ms und mit Auslastung 20 ms. Nur so als Beispiel.
Wenn du eine Idee hast (und dann bitte konkret), wie man hier in deinen Augen realistische Werte bekommt, bring sie gerne vor!
 
Wenn du eine Idee hast (und dann bitte konkret), wie man hier in deinen Augen realistische Werte bekommt, bring sie gerne vor!
Wie man konkret ein System auslastet? Rechenintensive Plugins, die man in der Praxis verwendet laden, viele Noten und nicht nur eine spielen / senden, wie man es auch in der Praxis i.d.R. tut. Das System an seine Grenzen bringen. Schauen, was bei 50 % Auslastung passiert, was bei 80 % Auslastung passiert usw.
 
Tu mir bitte den Gefallen und definiere für dich den Ausdruck "Auslastung".

Ich verstehe unter Auslastung, wie voll der Buffer zu einer gegebenen Zeit ist. Solange der Buffer nicht überläuft, gibt es keine Aussetzer und Knackser. Und dafür braucht es übrigens auch nicht mehrere Noten. Manche Plugins erreichen dies schon mit einer einzigen Note.

Schauen, was bei 50 % Auslastung passiert, was bei 80 % Auslastung passiert usw.
Wo schauen? Wie willst du das anstellen? Was schlägst du vor, um das zu visualisieren und messbar zu machen?
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Wie man konkret ein System auslastet? Rechenintensive Plugins, die man in der Praxis verwendet laden, viele Noten und nicht nur eine spielen / senden, wie man es auch in der Praxis i.d.R. tut. Das System an seine Grenzen bringen. Schauen, was bei 50 % Auslastung passiert, was bei 80 % Auslastung passiert usw.

Alles schön - aber wie misst du dann in der Situation die Latenz? Viel Spaß ;)

Es ist im Grunde ganz einfach: Die Latenz eines Interfaces sollte bei einmal eingestellter Buffergröße nicht von der Systemlast abhängen - täte sie das, würde das eiern wie ein alter Kinofilm mit handgekurbelter Magnettonspur. Insofern kann man schon valide Messungen machen, wenn man bei eingestellter Buffergröße die Latenz für einen einzelnen Ton misst. Man sollte dann mit Blick auf die Systemlast nur sicherstellen, dass man bei dieser Buffergröße und realistischer Auslastung des Gesamtsystems keine Dropouts hat. Fertig ist die Laube. ;)
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Bei Auslastung muss man evtl. die Buffergröße und somit die Latenz hochsetzen. Was bringt dann der niedrige Wert bei einer einzigen Note und z.B. ohne aktivierte rechenintensive Effekte, die man evtl. in der Praxis nutzen möchte? :nix:
Bei MIDI muss das zudem nicht konstant sein, sondern es kann Schwankungen geben.
Wie schaut man, wie das System ausgelastet ist?
In Windows gibt es dafür z.B. im Task-Manager den Reiter "Leistung".
Natürlich sollte es um eine praxisrelevante Auslastung gehen. Wie sie sein soll, ist von der Hardware und von der Anwendung abhängig. Da kann man aber z.B. sagen, dass bei 50 % Auslastung die und die Latenzen / Schwankungen bei MIDI gibt, und so viele Stimmen das Plugin X mit nachgeschalteten Effekten YZ schafft. Oder bei 80 % Auslastung.
So werden DAW-Computer-Systeme getestet. Habe ich gelesen. DA-X macht's wohl auch so.
Und so werden die Ergebnisse auch in den Tests angegeben. In KEYS z.B. immer wieder mal nachzulesen, wenn gerade mal ein DAW-Rechner oder mehrere getestet werden. In Verbindung mit Audio-/MIDI-Interfaces, versteht sich. Oder wenn das eine oder andere Audio-/MIDI-Interface bei einem gegebenen System getestet wird. Die verwendete Host-/DAW-Software spielt natürlich auch eine Rolle. Eine Note ohne Auslastung testet jedenfalls keiner, weil i.d.R. nicht Praxis-relevant. Weder bei Audio noch bei MIDI. Weder bei Soft- noch bei Hardware.
 
Zuletzt bearbeitet:

Ähnliche Themen


Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben