3

Click here to load reader

Buffers audio et latence

Embed Size (px)

DESCRIPTION

Qu'est-ce qu'on buffer, à quoi sert-il et quelles sont ses implications sur le son.

Citation preview

Page 1: Buffers audio et latence

Buffers audio et latence

Qu'est-ce qu'un buffer? Quelles sont ses implications sur le son? Quel est le meilleur réglage?

Partons de cas simples

Vous avez déjà tous eu l'occasion de regarder une vidéo en streaming ou de graver un cd. Durant de tels processus, vous avez déjà vu apparaître un petit logo “buffering”. Ceci signifie que l'ordinateur stocke en mémoire (ram ou mémoire virtuelle) une partie de contenu afin d'être sûr de pouvoir restituer le contenu d'une traîte, sans interruptions. Personne n'a envie que son film s'arrête plusieurs fois juste parceque la connection internet a un peu ralenti. De même pour un cd à graver, le graveur doit graver sans interruptions, il est donc impératif d'avoir un petit paquet de données prêtes à être envoyées au graveur si le cd a une petite griffe par exemple, et que la tête de lecture doit repasser quelques fois par dessus avant de pouvoir continuer la lecture.

Comment cela se passe-t-il avec l'audio

Dans le cas de musique composée sur ordinateur, le processeur doit sans cesse calculer un ensemble de choses: créer un son à partir de synthétiseurs virtuels, calculer du processing (effets et traitements), sommer les différentes pistes audio du séquenceur pour n'entendre qu'un signal stéréo en sortie,...

Toutes ces choses sont plus ou moins gourmandes en ressources et leur consommation n'est pas prévisible par l'ordinateur. Aussi on veut à tout prix éviter qu'il y ait des “trous” (drops) de son parceque l'ordinateur d'un coup n'arrive pas à calculer toutes ces informations à temps (temps réel).

Nous avons donc besoin d'un buffer dans lequel on va stocker une partie de son ce qui laissera au processeur le temps de faire des calculs plus importants si tout d'un coup il est plus sollicité (par exemple un gros synthé très lourd commence à jouer à un moment sur une piste).

Le son que nous entendons est donc celui qui sort du buffer et non la sortie “directe” du programme.

Implications

1) Retard sur la chaine sonore

Le passage obligé du son par le buffer va entrainer un retard (delai) à l'enregistrement et à la lecture. Ceci va être gênant par exemple dans le cas d'un chanteur qu'on enregistre en studio. Le micro capte du signal, la carte son le convertit en numérique, le son rentre dans le logiciel d'enregistrement (qui joue en même temps la partie instrumentale par ex.) et le tout ressort du programme, est reconverti en analogique en sortie de la carte son et arrive aux oreilles du chanteur. Vu que la prise du micro entre et sort du logiciel d'enregistrement, elle passe par le buffer. Si celui-ci est trop important le chanteur s'entendra dans le casque avec un retard qui va le déranger (situation similaire à un echo quand on parle parfois au téléphone). Ce retard dépend

Brice Deloose © Belgian Producers 2010

Page 2: Buffers audio et latence

de deux paramètres en réalité: la taille du buffer et la fréquence d'échantillonage. Ces deux paramètres sont liés. En effet on exprime la taille du buffer en nombre échantillons (samples), et la durée de ceux-ci dépend de la fréquence d'échantillonage. Le plus souvent on trouvera des tailles standard fixées ex: 64, 128, 256, 512, 1024 samples. A 44.1kHz la durée d'un échantillon est un 44100è de seconde (0,02268 ms), à 96kHz la durée est un 96000è de seconde (0,01042 ms). Le temps de latence (retard induit par le buffer) se calcule donc simplement en multipliant le temps d'un échantillon par le nombre d'échantillons. Plus la fréquence d'échantillonnage est élevée plus le temps de latence sera court pour un buffer donné.

2) Ajustement du buffer en fonction de la session

Un autre point très important à garder à l'esprit est le fait qu'il n'y a pas un unique réglage idéal pour le buffer, mais que celui-ci dépend des conditions dans lesquelles on se trouve. Je m'explique, si vous êtes en train d'enregistrer un musicien, il est important de réduire le buffer afin d'éviter des problèmes “d'écho” dus à la lantence. Si vous êtes en situation de mixage, playback, l'ordinateur doit effectuer beaucoup de calculs (effets, synthèse de son en temps réel,..) dans ce cas, on a intérêt à avoir un grand buffer et cela n'a pas d'importance que l'entièreté du son sorte des haut-parleurs quelques milisecondes après que le bouton play ait été enfoncé. Si le buffer n'est pas assez grand on commencera à entendre des clicks et des drops dans le son, des mini-saturations très brèves, ... Il est important de bien comprendre ce dernier point. Votre ordinateur peut paraître “dépassé” par une session, donner l'impression qu'il est au bout de ses ressources alors qu'il suffirait (si c'est encore possible) d'agrandir le buffer, ce qui laisse de la marge au processeur vu qu'il à moins de contraintes “temps réel”.

3) Commandes midi

Le pilotage de certains paramètres du séquenceur par un controleur midi va aussi être affecté par la latence. En effet, vu que l'entièreté du signal sonore est retardé, quand on va modifier un paramètre, cette modification ne sera audible qu'après “x” milisecondes (temps du buffer). Typiquement il va être quasi impossible de faire un cut très net (baisser le volume d'une piste très vite) car au moment où on entend le son et qu'on décide de le “cutter” en réalité le son est déjà “sorti du programme” et le cut qu'un joue va être appliqué sur le son “x” ms plus tard. Il faut donc anticipper avec plus ou moins de talent si on veut un résultat convaincant. Ou simplement l'espace d'un instant, redescendre la taille du buffer quitte à “freezer” certaines pistes ou les “muter” afin d'économiser des ressources (désactiver quelques plug'ins gourmands tels des réverbérations à convolution peut être une excellente idée), editer le cut et puis réaugmenter la taille du buffer pour plus de confort de travail.

Retards “standards”

On considère comme acceptable pour la voix des retards allant jusque 8 à 15 ms selon le type de musique, du chanteur, du type de voix, des articulations du texte,... Pour les sons percussifs

Brice Deloose © Belgian Producers 2010

Page 3: Buffers audio et latence

on considère que 5 ms est un retard maximal, au delà le musicien est perturbé. En conclusion: plus le contenu sonore est riche en transitoires d'attaque, plus il est articulé, plus on sera exigeant au niveau du temps de retard.

Compatibilité interfaces son/programmes

Attention, certains programmes permettent d'ajuster la taille du buffer au sample près (ableton live par exemple). Bien que ceci puisse être pratique cela crée parfois des incompréhensions entre périphériques audio. Par exemple les plugins de la carte dsp UAD ne peuvent s'adapter et doivent avoir un buffer multiple de 64. Un retard supplémentaire est ajouté afin de compenser le “manque” de buffer. Cela fait faire des opérations en plus pour l'ordinateur et rend le système moins stable.

Conclusion

La latence est votre ennemi; la taille du buffer, votre ami. Jouez avec sa taille pour maximiser vos performances en studio.

Brice Deloose © Belgian Producers 2010