Vielleicht sollte man etwas Licht ins Dunkel bringen und versuchen den Begriff Latenz etwas verständlicher aufzudröseln.
Ein Versuch:
In der analogen Signalverarbeitung gibt es keine Verzögerung, alles geschieht in Nullzeit.
In der digitalen Signalverarbeitung gibt es immer eine Verzögerung durch Signallaufzeiten.
In der anlogen Welt mussten Geräte wie Hall und Delay dafür durch sehr aufwändige Schaltungen realisiert werden.
Man musste sich die Latenzen teuer erkaufen mit sehr vielen Nachteilen, wie starkem Rauschen und hohen Kosten (Eimerkettenschaltung)
In der digitalen Signalverarbeitung möchte man Latenzen möglichst klein halten.
Sind die analogen Signale erst einmal digitalisiert, kann man damit sehr einfach nach Gusto rumspielen, ohne Qualitätsverlust, ohne Rauschen, ohne Kosten für aufwändige diskrete Schaltungen. Möchte man dann diese wieder in die analoge Welt überführen, hat man wieder das selbe Problem mit Qualitätsverlusten und Latenzen.
In der digitalen Welt geht nichts ohne Takt, alles muss in klar definierten Zeitintervallen passieren.
Möchte man ein Signal digitalisieren, will man das so genau wie möglich.
Ist so ähnlich wie malen nach Zahlen:
Je feiner wir das Signal rastern sowohl horizontal (Abtastrate/Samplerate)
als auch vertikal (Auflösung/Bittiefe) desto mehr Werte erhalten wir und desto genauer lässt sich aus diesen Werten auch wieder das ursprüngliche Signal reproduzieren.
pasted-from-clipboard.png
Diese erhaltenen Werte kann ich aufschreiben, jemandem schicken der das Signal nicht kennt und er wird anhand der Zahlenwerte das Signal rekonstruieren können.
Dabei gilt je feiner ich die Messungen mache desto genauer wird es.
Aber je genauer ich das mache desto mehr Zeit und Papier braucht es, es fallen viele Daten an, sowohl bei meiner Messung als auch bei demjenigen der es wieder rekonstruieren soll. Je mehr Daten desto mehr Zeit braucht es
(in der Grafik sieht man das Problem zwischen dem Punkt 11 und 12 auf der Abtastachse, der Bereich dazwischen wird nicht erfasst. Würde man die Messpunkte auf der x-Achse verdoppeln , schon)
In den frühen 80er Jahren als die Rechner noch leistungschwach und teuer waren, einigte man sich auf einige Eckdaten um dafür zu sorgen das alles schön kompatibel bleibt.
Die Audio CD bekam eine Abtastrate von 44,1kHz und eine Bittiefe von 16 Bit. Kann somit Musik bis 22kHz und einer theoretischen Dynamik von 96dB darstellen und dadurch deutlich besser als eine Vinylplatte. (abgesehen von vielen weiteren Vorteilen gegenüber Vinyl)
Jetzt zurück zum Thema
Seit Ende der 90er die Rechner leistungstärker wurden und die Musikproduktion began auf digitale Techniken umzustellen, arbeiteten die Hardwarehersteller solcher Geräte stetig daran die Auflösung hoch und die Rechenzeit runterzudrücken.
Heute ist es problemlos möglich und meist ausreichend mit 24Bit und 44,1, bzw 48kHz zu arbeiten.
Intern rechnen fast alle DAWs mit 32 und 64Bit, was einen enormen Headroom zulässt.
Jetzt gibt es mehrere Faktoren welche für die unerwünschte Verzögerung sorgen.
Eine DAW arbeitet mit einem Zwischspeicher der Daten.
Dafür hat Steinberg den AsioTreiber entwickelt, der als Schnittstelle zwischen dem Digitalwandler und der DAW dient.
Während der Audio-Verarbeitung muss der Computer zahlreiche unterschiedliche Aufgaben ausführen. Dazu gehören die grafische Anzeige, der Festplattenzugriff, der Datenaustausch mit externen Geräten wie z. B. MIDI-Controllern sowie natürlich die Audio-Verarbeitung selbst. Da der Computer die genannten Aufgaben nicht alle auf einmal erledigen kann, müssen Daten aus den verschiedenen Prozessen "gepuffert", also zwischengespeichert werden.
Als Beispiel ein Samplebuffer von 512 Samples.
Die Rechnung ist simpel: Wir teilen 512 Samples durch 44,1 (44100 Samples pro Sekunde) und erhalten 11,6 Millisekunden .
Arbeiten wir mit einer höheren Abtastrate, verringert sich die Latenz. Betreiben wir unsere DAW mit 96 kHz statt 44,1 kHz, halbiert sie sich.
Das selbe gilt für die Änderung des Samplebuffers. Verkleinern wir ihn, ist er schneller voll und die Latenz verkleinert sich.
Ein Buffer von 32 Samples und eine Samplerate von 96kHz ergibt immer eine Asiolatenz von 0,3ms.
Bei 192kHz kämen wir auf nur 0,15ms. Klingt doch gut, oder?
Ja, aber in der Praxis kaum umzusetzbar, da kleinere Sampleraten und höhere Abtastraten auch eine höhere CPU Belastung mit sich bringen.
Und in der Praxis zb. beim Audiorecording auch unnötig weil:
Es macht keinen Unterschied, ob man beim recorden mit 1ms oder 100ms arbeitet.
Die DAW kennt die Zeiten und sorgt dafür das die Signale an der richtigen Position landen, indem sie die Latenz berücksichtigt.
Anders sieht es aus, wenn man die DAW auch fürs Monitoring benutzt und intern mit Plugins arbeitet die teilweise die Latenz erheblich erhöhen, bis zur unspielbarkeit.
(einige Plugins verursachen Latenzen weit über 100ms)
Üblicherweise beziehen sich die Latenz Angaben bei Mischpulten auf die Zeit, die ein Signal benötigt, um von einem analogen Eingangskanal zum analogen Summenausgang zu gelangen. Dieser Vorgang wird auch „RTL“ genannt, die Abkürzung für „Round Trip Latency“. Die tatsächliche RTL eines Audio Interfaces hängt von vielen Faktoren ab: Die Art der Schnittstelle (USB, Thunderbolt, AVB oder DANTE), der Performance des Recording Computers, das verwendete Betriebssystem, die Einstellungen der Soundkarte/Audiointerface und die des Recording Projektes (Samplerate, Anzahl an Audio & Midi-Spuren, Plugin Auslastung) und die Signallaufzeiten der verwendeten Wandler.
RME hat Ende der 90er das sogenannte Hardwaremonitoring entwickelt. Die gesamte Berechnung findet im Gerät und nicht im Rechner statt.
Mehrere Kanäle können teilweise mit komplettem Channelstrip und Halleffekten latenfrei ausgegeben werden.
RME gibt diese Latenz mit ca 0,1ms an.
Zum Vergleich hat ein Behringer X32 "nur" einen Latenz von ca.0,8 ms
Heute bieten viele Audiointerface dank schneller DSPs (spezielle Signalprozessoren) internes latenzfreies Hardwaremonitoring an.
Kommt jetzt aber Midi ins Spiel und virtuelle Instrumente, vergrößert sich die Gesamte Signallaufzeit.
Zuerst einmal dauert es bis die Mididaten aus dem Keyboard/Drummodul erzeugt werden und dieses Verlassen.
Dann dauert es eine Zeit bis sie den USB Buffer passiert haben und in der DAW ankommen.
Dort werden damit zb. virtuelle Instrumente getriggert, die ebenfalls Rechenzeit benötigen.
Und dann kommt noch einmal die Asiolatenz des Ausgangs hinzu.
Die tatsächliche Latenz des Interface sollte auch vom Treiber angegeben werden.
Die von den Herstellern angegebenen Werte sind leider häufig aufgehübscht – mit unerfreulichen Nebenwirkungen.
Wenn man die Echtheit der angegebenen Latenz Audio-Interfaces messen will, führt man einfach einen Loopbacktest durch.
Der Ausgang wird einfach an den Eingang geschickt und recordet.
Stimmen die Werte die vom Interface angezeigt werden, sind beide Signale Deckungsgleich.
Cubase zb. bietet intern einen Loopbacktest an. Dadurch lassen sich flasche Werteangaben kompensieren.
Im Grunde ist eine geringe Abweichung auch nicht tragisch, solange man kein Outboard wie EQs und Kompressor verwendet.
PCI Karten sind gegenüber USB Geräten latenzmäßig im Vorteil. Zum einen wegen der wegfallenden USB Pufferung und weil sie
durch die geringere CPU-Last meist kleinere Sampleraten ermöglichen.
ASIO4All
Grundsätzlich kann man damit arbeiten wenn der Hersteller keine Asiotreiber anbietet.
Was ja meist bei Onboardsound der Fall ist. -Vom Klang und der Wandlerqualität wollen wir hier nicht reden.
Solange man in the box arbeitet und nur Audio recordet funktioniert das recht gut.
Allerdings hat A4A den Nachteil, das es nicht die Hardware kennt und auf Windows und seine WMA Treiber angewisen ist.
Dort greift A4a den Sound ab. So das die Werte sehr ungenau sind. (lässt sich mit dem Loopbacktest leicht überprüfen)
David Courant
Der Lookbacktest den du gemacht hast wird immer die selben bzw. fast ähnliche Werte liefern, unabhängig was du im A4A Treiber einstellst.
Du kannst damit ausschliesslich die Latenzangaben überprüfen und gegebenenfalls korrigieren wenn deinen DAW das bietet.
Auch kannst du mit deiner DAW nicht die Gesamtlatenz ermitteln, da du die Latenz deines Drummoduls nicht kennst.
Was du in der DAW machen kannst ist die Zeit ermitteln vom Anschlag Pad bis zur Tonausgabe.
Um die Modullatenz verlässlich zu ermitteln braucht es ein Oszilloskop.
Dort schliesst du ein Mikro zur Abnahme des Anschlags und den Midiausgang des Moduls an.
(die wenigen Millimeter Abstand Mikrokapsel/Pad muss man nicht rausrechnen)
Jetzt hast du den zeitlichen Versatz den du zu der ermittelten Zeit in der DAW hinzuadierst.
Grob und etwas ungenauer geht es dann doch wenn du dich 100% auf die Latenzangaben verlassen kannst.
Aber das kannst du bei Asio4all nicht.