Sunteți pe pagina 1din 3

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


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


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

S-ar putea să vă placă și