Se connecter
Se connecter

ou
Créer un compte

ou

Impact de la résolution audio sur la latence

  • 13 réponses
  • 5 participants
  • 1 267 vues
  • 2 followers
Sujet de la discussion Impact de la résolution audio sur la latence
Hello,

Bon il est 2h00 du mat' alors excusez si ma question est vraiment nulle.
Ce n'est pas un énième topic pour débattre de la résolution à utiliser.
J'aimerai juste savoir quelle est l'impact de la résolution audio (44,48,96 kHz/ 16,24 bits) sur la latence. J'ai un vague souvenir d'avoir lu que utiliser une résolution plus haute permettait d'optenir une latence plus faible... mais c'est contradictoire avec les ressources utilisées.

Pour faire plus simple, mes questions :

- est-ce qu'une haute résolution audio, en plus de nécessiter plus d'accès disque, consomme aussi plus de CPU à l'enregistrement ?
- quelle est la formule pour calculer la latence en fonction du buffer et résolution audio ?
- est-ce qu'une plus haute résolution permet de gagner/perdre en latence ?

...

- le 96khz c'est mieux que le 44hz ? Ok je oubliez celle-là :mrg:

Merci pour vos éclaircicements ;)

VIM qui n'a jamais eu son tee-shirt...

2

VIM qui n'a jamais eu son tee-shirt...

3
C'est surtout la taille de buffer qui joue sur la latence. La carte son ne réveille pas le système à chaque échantillon mais lorsque son buffer est plein (d'échantillons à lire) ou vide (il faut y écrire des échantillons).
4
En effet c'est surtout le buffer de la carte mais il me semble bien que la résolution audio joue également... j'aimerai bien savoir dans quelle mesure...

VIM qui n'a jamais eu son tee-shirt...

5
;)

VIM qui n'a jamais eu son tee-shirt...

6
Je te fais un copier coller d'une réponse que j'avais faite à un thread similaire :

Il est impossible à du matos (carte son ou PC) de jouer les sons absolument en temps réel. Il faut un certain delai qui permet aux machines de tout caler correctement à la lecture ou à l'enregistrement. Ce délai est le buffer (ou tampon). Les réglages du buffer sont exprimés en samples. Pour couvertir en secondes ou en millisecondes, voilà le calcul :
Si tu échantillones à 44.1 kHz, il y a 44100 samples par seconde. Un buffer de 256 (samples) correspond donc à 256/44100 s soit 5.8 ms. Un buffer de 1024 correspondra donc à 1024/44100 = 23.2 ms.
Cette durée se traduit par une latence entre le moment où tu joues par exemple et le moment où tu entends le son. Donc, plus le buffer est petit, plus la latence est petite, et plus c'est confortable pour jouer.
Pour réduire cette latence, 2 solutions : tu mets moins de buffer (mais, là, le matos doit suivre, et tu risques d'entendre des craquements dans le son), ou tu échantillonnes à 96 kHz ou plus. dans ce cas, un buffer de 256 samples correspondra à 256/96000 = 2.6 ms.
Ca répond à une partie de ta question?
Paniak
7
Merci Paniak, pour cette explication cartésienne. :bise:
8
Merci beaucoup, ça répond plus qu'en partie à ma question :) !!

Alors maintenant ce que je trouve paraxodal c'est que plus la résolution audio est élevée plus la latence est faible... mais plus la résoltuion audio est élevé plus ça consomme de ressource CPU et DD... donc logiquement plus de latence...

Y'a juste ce point qui n'est pas encore très clair pour moi :8O:

VIM qui n'a jamais eu son tee-shirt...

9

Citation : mais plus la résoltuion audio est élevé plus ça consomme de ressource CPU et DD... donc logiquement plus de latence...




En fait, c'est vrai, mais c'est pour ça qu'on indique un buffer dans les cartes sons : pour avoir une latence qui permet à l'ordi de tout calculer et de tout caler. Maintenant, je peux te dire qu'on est loin d'atteindre les limites d'un disque dur moderne quelle que soit la résolution.. Si tu calcules, la lecture d'un fichier stéréo en 44.1 kHz, 16 bits demande 176 ko/s au disque. Ce qui est 100 à 200 fois plus faible que les débits de disque actuels. Il y a donc de la marge ! Pour le CPU, c'est pareil, C'est pas l'audio qui bouffe ses ressources, mais tous les plug et instru virtuels.. Et pis quand la machine ne suit plus, tu as des craquements, il suffit alors d'augmenter le buffer...
Paniak
10
Ok tout me semble beaucoup plus clair maintenant :) !
Mais toujours dans mes questions cons, imaginons que je souhaite travailler avec une latence d'environ 5ms.

Si je suis en 44khz avec 256 de buffer ça me fait une latence de 5,8ms.
Si je suis en 96hkz avec 256 de buffer ça me fait une latence de 2,7ms.

Est-ce que ça veut dire que je peux donc me permettre de mettre un buffer de 512 en 96khz pour obtenir une latence de 5,4ms MAIS sachant que j'ai 512 de buffer à la place de 256 j'aurai plus de chance d'éviter les craquements ou alors ça ne change rien du tout car j'envoie de toute façon deux fois plus de samples à la seconde ?

Je ne suis pas sûr d'être clair :p

VIM qui n'a jamais eu son tee-shirt...