http://www.affenbande.org/~tapas/wiki/index.php
Il y a différents types de latences rencontrés dans une utilisation typique d'un environnement informatique pour le traitement audionumérique. Je vais essayer de vous en faire un petit aperçu.
La latence correspond à un retard. Il y a deux façons de connaitre la rapidité d'un ordinateur pour manipuler des donnés audio, par exemple, on peut utiliser un stream audio :
En sortie : combien de données peuvent être manipulées par seconde, peuvent être mesurées, en bytes par seconde par exemple.
La latence : combien de temps il faut pour qu'un morceau de données soit disponible aprés que votre ordinateur l'ai reçu (de même pour les morceaux suivants de données), temps mesuré en secondes.
On suppose que la taille de la période est la même pour l'enregistrement et la lecture ; et que cette taille soit égale à 2 périodes. C'est le cas le plus simple
Latence d'entrée : Habituellement une carte son aura un buffer d'enregistrement composé de deux "périodes" se composant chacune de N frames. Une des deux périodes sera occupée par le matériel alors un IRQ sera défini au temps t_1.
Le driver de la carte son informe l'application, qui attend l'audio, qu'une période est disponible pour le traitement. La carte son continue de remplir d'autres périodes. La première frames de la période "incoming" correspond au temp t_2 = t_1-(N/SAMPLERATE).
Ainsi il est possible d'appeler N/SAMPLERATE la "latence d'entrée" de la carte son. Il peut y avoir éventuellement des latences additionnelles dues à des convertisseurs Digital/Analogique de la carte son et de dsp. Mais l'application n'a aucune influence sur ces derniers.
Latence de sortie: C'est fondamentalement la même chose que pour la latence d'entrée. Une période est remplie par l'application tandis que l'autre période est jouée par l'application. La carte défini un IRQ à la fin de la période qui est jouée. Puis l'application remplit la période jouée avant.
Ici nous avons encore la latence N/SAMPLERATE. Et aussi la latence due aux convertisseurs.
Traitement de la latence : Quelques algorithmes de dsp introduisent la latence dans le flux audio pour créer une moyenne de quelques frames, ou réaliser une FFT avec des tailles de fenêtre plus grandes que la taille de période, par exemple.
Latence d'aller retour (Roundtrip latency) : C'est, dans le meilleur des cas, la latence d'entrée + la latence de sortie. Mais aussitot qu'un traitement de latence est utilisé ceci doit être pris en considération. Nous obtenons : latence d'entrée + latence de traitement + latence de sortie.
Selon l'ordre d'IRQ des périodes entrantes et sortantes une autre période de la valeur des frames doit être ajoutée à la latence due au buffer.