Funktionsweise der Latenz-Kompensation

  • Ersteller birdfire
  • Erstellt am
bei gleicher buffergröße? ja.....
 
sicher dass die nicht mitkompensiert wird?

also is man sich nich einig, oder wie?^^

ich versuche zu folgen. abhängig von der samplegröße wird latenz automatisch kompensiert, bis auf die a/d und d/a wandlung, da diese ja vom interface abhängig is. und genau diese a/d und d/a wandlung macht mir mir diese halbe millisekunde aus, die der neu aufgenommene track hinter dem alten liegt.

1. ich kann mir nicht vorstellen, dass die AD-DA wandlungen vonner software mit "berechnet" werden. wie denn?
2. wenn die latenz softwareseitig rein vonner buffergröße abhängt, müssten ja 2 verschiedene interfaces bei z.b. einer buffergröße von 256 samples nahezu die gleiche latenz haben (bis auf 0,5 ms oder so). ist dem so? ich kanns mir mal wieder nich vorstellen.
 
oh Mann - nu iss aber alles ziemlich verwurschtelt - ich versuchs mal

Klären wir mal wie das im Prinzip überhaupt so abläuft.

Da gibt es irgendwo im Rechner Audiodaten. Jetzt sollen die abgespielt werden. Dazu werden Teile der Daten in einen Speicherbereich transferiert der sich Sample-Buffer nennt und dessen Größe meist einstellbar ist. Für diesen Transport brauch das Audio Programm eine gewisse Zeit - wie lange weiß das Programm anhand der Befehlszahl und des Prozesso/Speichertaktes. Von hier aus transportiert der ASIO-Treiber die Daten zum DA-Wandler der die Daten in einer festgelegten Geschwindigkeit - der Samplerrate - in Analoge Signale umwandelt.
Wenn der Sample-Puffer so langsam leer wird, das weiß der ASIO-Treiber, sendet dieser ein Unterbrechungssignal an das Betriebssystem und dieses veranlasst dann das Audio-Programm wiederum den Puffer wieder mit neuen Daten zu füllen.

So - alles was bis hier beschrieben ist, läst sich aus den Fakten des Rechners - CPU- und Speicher-Takt, Schnittstellengeschwindigkeit bzw. BUS-Takt innerhalb des Treibers und der Audio-Software berechnen.

Jetzt sollte auch klar sein, warum ein kleiner Puffer zu einer kürzeren Latenzzeit führt - genau es müssen nicht so viele Daten auf einmal bewegt werden und das geht halt schneller. Der Nachteil der dann entsteht ist, daß das Betriebssystem viel öfter mit einem solchen Unterbrechungssignal unterbrochen wird - wenn das geschieht führt es die gerade laufende Routine noch zu ende, merkt sich wo es bei der Rückkehr weiter machen muß und fängt an, diese Unterbrechungsanforderung zu bearbeiten - nun kann es dann vorkommen, daß das Betriebsystem da nicht mehr so richtig nachkommt und das hören wir dann als Störungen bzw. Aussetzer.

alle noch da ?

Das ganze geht bei einer Aufnahme genauso, nur das hier die Daten von Außen in den AD-Wandler gelngen, der schickt die Daten an den ASIO-Treiber, dieser schreibt den Puffer voll und sendet ein Unterbrecheungssignall an das Betriebssystem dass da gefälligst mal wieder Daten abholen und an das Audio-Programm weiterleiten soll.
Auch hier ist wieder genau bekannt wieviel Zeit dafür benötigt wird.

Nun kann ein halbwegs intelligentes Audio-Programm eine Aufnahme um die bekannten Zeiten versetzen und alles ist wieder Zeitgenau in den Spuren.

Die einzig unbekannte Größe ist die Belastung der CPU durch andere Prozesse!
Mit der in Cubase 3 und 4 (von den anderen Versionen und Programmen weiß ich es nicht - LE hat's nicht) verfügbaren zusätzlichen Korrektur, kann dann auch diese Zeit, wenn man sie denn Meßtechnisch ermittelt hat, noch zusätzlich zur kompensation eintragen werden.
 
1. respekt
2. vielen dank
3. moderne technik...
 
@ pico

Ist die Latenz jetzt nur von der Soundkarte und deren Leistung oder auch vom "Restsystem" abhängig.....bzw. wird die A/D Wandlung vom Prozessor oder von der Soundkarte übernommen (natürlich für ein Recordinginterface und keine onboardsoundkarte) ?!

Zu dieser Frage gab es jetzt schon verschiedene Antworten...desswegen nochmal die Nachfrage...
 
Ist die Latenz jetzt nur von der Soundkarte und deren Leistung oder auch vom "Restsystem" abhängig.....bzw. wird die A/D Wandlung vom Prozessor oder von der Soundkarte übernommen (natürlich für ein Recordinginterface und keine onboardsoundkarte) ?!

Zu dieser Frage gab es jetzt schon verschiedene Antworten...desswegen nochmal die Nachfrage...

also A/D und D/A wandler befinden sich meines wissens nach nur im interface.

und zu der frage wovon die latenz abhängig is:

Da gibt es irgendwo im Rechner Audiodaten. Jetzt sollen die abgespielt werden. Dazu werden Teile der Daten in einen Speicherbereich transferiert der sich Sample-Buffer nennt und dessen Größe meist einstellbar ist. Für diesen Transport brauch das Audio Programm eine gewisse Zeit - wie lange weiß das Programm anhand der Befehlszahl und des Prozesso/Speichertaktes.

...

So - alles was bis hier beschrieben ist, läst sich aus den Fakten des Rechners - CPU- und Speicher-Takt, Schnittstellengeschwindigkeit bzw. BUS-Takt innerhalb des Treibers und der Audio-Software berechnen.

...

Die einzig unbekannte Größe ist die Belastung der CPU durch andere Prozesse!
Mit der in Cubase 3 und 4 (von den anderen Versionen und Programmen weiß ich es nicht - LE hat's nicht) verfügbaren zusätzlichen Korrektur, kann dann auch diese Zeit, wenn man sie denn Meßtechnisch ermittelt hat, noch zusätzlich zur kompensation eintragen werden.

alles klar?
 

Ähnliche Themen


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

Musiker-Board Logo
Zurück
Oben