Mesures de latence audio

Latence est une mesure importante de la performance du système. Alors que de nombreux types de latence audio mesures existent, utile et bien compris métrique est temps de latence aller-retour , défini comme le temps nécessaire pour un signal audio pour entrer dans l'entrée d'un appareil mobile, être traité par une application en cours d' exécution sur l'application processeur et quittez la sortie.

Latence audio aller-retour sur l'appareil

Figure 1. aller-retour de latence audio sur le périphérique: sortie T - entrée T

Cette page fournit des mesures de latence audio aller-retour pour certains appareils Nexus/Pixel et versions de plate-forme Android.

Pourquoi mesurons-nous la latence

Google mesure et signale la latence afin que les développeurs d'applications Android disposent des données dont ils ont besoin pour prendre des décisions éclairées concernant la latence disponible sur les appareils réels. En partageant les numéros de latence pour certains appareils Nexus et Pixel, nous espérons encourager l'ensemble de la communauté Android à mesurer, publier et réduire la latence sur tous les appareils Android. Rejoignez-nous dans notre engagement à réduire la latence audio !

Impact des applications sur la latence

Le traitement du signal peut ajouter les types de retard suivants à la latence :

  • Algorithmiques. Ce délai est inhérent et ne varie pas avec le CPU. Un exemple est le retard ajouté par une réponse impulsionnelle finie (FIR).
  • Informatique. Ce délai est lié au nombre de cycles CPU requis. Par exemple, l'atténuation d'un signal est généralement effectuée par une opération de multiplication qui prend un nombre variable de cycles en fonction de la CPU.

Comment nous mesurons

Nous avons fait les mesures figurant sur cette page en utilisant le dongle audio réalimentation Dr. Rick O'Rang et un test de retour audio (effet Larsen) . Les mesures supposent que le traitement du signal d'application ajoute un retard algorithmique nul et un retard de calcul proche de zéro.

Nous mesurons la latence aller-retour via le connecteur du casque pour plusieurs raisons :

Latence aller-retour via le connecteur du casque

Figure 2. temps de latence aller-retour via le connecteur de casque: sortie T - entrée T

  • Les applications musicales importantes (telles que la guitare et le traitement de la voix) utilisent le connecteur du casque.
  • La mesure de la latence aller-retour du microphone et du haut-parleur de l'appareil peut être fastidieuse, car il est difficile d'empêcher une boucle de rétroaction à l'air libre d'entrer dans une oscillation incontrôlée.
  • Les transducteurs sur l'appareil sont petits et sacrifient la réponse en fréquence pour atteindre leur petite taille. Pour compenser, un traitement de signal numérique est appliqué mais augmente le délai algorithmique pour le chemin sur l'appareil.

Il y a des cas où le périphérique microphone et haut - parleur latences comptent vraiment, mais ils sont généralement pour une direction, sans aller - retour. Les techniques de mesure de la latence unidirectionnelle sont décrits à mesure du débit de latence et de mesure de latence d'entrée .

Exemple de mesures

Les mesures ci - dessous sont spécifiques à un numéro de version . Les appareils sont répertoriés dans l'ordre approximatif de la version initiale et par version de la plate-forme ; vous pouvez également consulter latences dans un tableau . L'application de test utilise l'API audio native Android basée sur OpenSL ES.

Modèle Plate-forme
version
Construire
numéro
Taux d'échantillonnage
(Hz)
Taille de la mémoire tampon
(cadres)
Taille de la mémoire tampon
(Mme)
Aller-retour
latence (ms)
± un tampon
Nexus 1 2.3.6 GRK39F 44100 768 17.4 345
Nexus S 2.3.6 GRK39F 44100 1024 23.2 260
Nexus S 4.0.4 IMM76D 44100 1024 23.2 260
Nexus S 4.1.2 JZO54K 44100 880 20 210
Nexus Galactique 4.0.1 ITL41D 44100 976 22.1 270
Nexus Galactique 4.3 JWR66Y 44100 144 3.3 130
Nexus 4 4.2.2 JDQ39E 48000 240 5 195
Nexus 4 5.1 LMY47O 48000 240 5 58
Nexus 10 5.0.2 LRX22G 44100 256 5.8 36
Nexus 10 5.1 LMY47D 44100 256 5.8 35
Nexus 7
2013
4.3 JSR78D 48000 240 5 149
Nexus 7
2013
4.4 KRT16S 48000 240 5 85
Nexus 7
2013
5.0.2 LRX22G 48000 240 5 64
Nexus 7
2013
5.1 LMY47O 48000 240 5 55
Nexus 7
2013
6.0 MRA58K 48000 240 5 55
Nexus 5 4.4.4 KTU84P 48000 240 5 95
Nexus 5 5.0.0 LRX21O 48000 240 5 47
Nexus 5 5.1 LMY47I 48000 240 5 42
Nexus 5 6.0 MRA58K 48000 192 4 38
Nexus 9 5.0.0 LRX21L 48000 256 5.3 35
Nexus 9 5.0.1 LRX22C 48000 256 5.3 38
Nexus 9 5.1.1 LMY47X 48000 256 5.3 32
Nexus 9 6.0 MRA58K 48000 128 2.6 15
Nexus 6 5.0.1 LRX22C 48000 240 5 65
Nexus 6 5.1 LMY47I 48000 240 5 42
Nexus 6 6.0 MRA58K 48000 192 4 33
Nexus 5X 6.0 MDA89E 48000 192 4 18
Nexus 5X 8.0.0 OPR4.170623.020 48000 192 4 18
Nexus 5X 8.1.0 OPM2.171019.029.C1 48000 192 4 18
Nexus 6P 6.0 MDA89D 48000 192 4 18
Nexus 6P 8.0.0 OPR5.170623.014 48000 192 4 18
Nexus 6P 8.1.0 OPM5.171019.019 48000 192 4 18
Pixels 7.1.2 NHG47L 48000 192 4 18
Pixels 8.0.0 OPR3.170623.013 48000 192 4 18
Pixels 8.1.0 OPM1.171019.021 48000 192 4 18
Pixel XL 7.1.2 NHG47L 48000 192 4 18
Pixel XL 8.0.0 OPR3.170623.013 48000 192 4 18

Figure 3. latences aller - retour