Se connecter
Se connecter

ou
Créer un compte

ou
Pédago
53 réactions

Comprendre la latence

Tout sur la latence, partie 1

Tous les MAO-istes, débutants comme confirmés, sont obligatoirement confrontés à ce problème. Décalages sonores, gestion capricieuse du MIDI, craquements et autres « pops » sauvages... Oui, la latence, c’est mal. Heureusement, pour celles ou ceux qui découvrent le monde merveilleux de la musique assistée par ordinateur — option informaticien — il existe quelques astuces permettant de rendre la cohabitation moins pénible.

Accéder à un autre article de la série...

OK, mais… c’est quoi au juste?

En premier lieu, il est quand même bon de rappe­ler ce qu’est la latence et pourquoi nous sommes obli­gés de compo­ser avec. La latence, ou plutôt le temps de latence, est le délai entre une action (appuyer sur une touche de votre clavier, par exemple) et le déclen­che­ment d’une réac­tion (le son arrive à vos oreilles).

Zéro latence, ça existe vrai­ment ?

Même si certains construc­teurs annoncent « zéro latence », cela n’est pas tout à fait vrai. Sous ce terme est géné­ra­le­ment dési­gnée une latence imper­cep­tible, souvent placée sous la barre des deux milli­se­condes.

En infor­ma­tique musi­cale, il en existe deux types : la latence maté­rielle et celle dite logi­cielle ; sachant que les deux peuvent se cumu­ler et que les exigences ne sont pas les mêmes en période d’en­re­gis­tre­ment ou en période de mixage. Il va sans dire que le but du jeu, surtout lorsque l’on enre­gistre de l’au­dio ou du MIDI, est d’ob­te­nir le plus court temps de latence possible, mesuré en milli­se­condes (ms). Si on appuie sur une touche de clavier, et que le son arrive une seconde plus tard, on va avoir beau­coup de mal à jouer dans le bon tempo.

En simpli­fiant gran­de­ment les choses, on pour­rait dire que la latence maté­rielle est le temps que met le couple ordi­na­teur/inter­face audio à trai­ter les données pour les envoyer au séquen­ceur logi­ciel (la STAN) pour au final les retrans­crire en audio en direc­tion des haut-parleurs et/ou du casque. Si on ajoute à cela du maté­riel de « saisie », par exemple un clavier MIDI/USB, la latence augmente encore légè­re­ment du fait de la commu­ni­ca­tion néces­saire entre le péri­phé­rique et l’or­di­na­teur.

Comprendre la latence

Le rapport entre nombre d’échan­tillons et milli­se­condes ?

Lorsque qu’un signal analo­gique est converti en numé­rique, il est échan­tillonné, c’est-à-dire numé­risé à inter­valles régu­liers (donc à une certaine fréquence, le plus géné­ra­le­ment 44,1 kHz en musique, ce qui signi­fie que le son est échan­tillonné 44100 fois par seconde). Donc, quand un temps de latence est exprimé en nombre d’échan­tillons, son équi­valent en milli­se­condes va dépendre de la fréquence d’échan­tillon­nage. Si cette dernière a été fixée à 96 kHz, le temps de latence sera plus court qu’à 48 kHz pour un même nombre d’échan­tillons donné.

La latence logi­cielle, elle, est due à l’uti­li­sa­tion de plug-ins plus ou moins gour­mands au sein de la STAN. En effet, à chaque fois que l’on insère un trai­te­ment virtuel, on rajoute une couche logi­cielle qui demande plusieurs calculs supplé­men­taires à l’or­di­na­teur. Pour compliquer encore un peu plus les choses, tous les plug-ins ne sont pas égaux dans ce domaine et certains sont vrai­ment plus glou­tons que d’autres en milli­se­condes.

Par exemple, voici les indi­ca­tions données par le déve­lop­peur Softube concer­nant la latence induite pour chaque plug-in.

Comprendre la latence

Même chose chez UAD

Comprendre la latence

Ou encore chez Voxengo qui délivre l’in­for­ma­tion au sein même de l’in­ter­face du plug-in :

Comprendre la latence

À noter que très souvent, la gour­man­dise des plug-ins est mesu­rée en samples (échan­tillons en français). Plus il y a de samples « deman­dés », plus le temps de latence augmente.

Buffer à volonté

Nous venons de le voir, conver­tir une source audio analo­gique externe en données numé­riques pour la recon­ver­tir ensuite en analo­gique demande du temps et des efforts au maté­riel. Et pour trou­ver le meilleur compro­mis entre un temps de latence très court, mais gour­mand en ressources et un temps plus long faci­le­ment gérable par le maté­riel, mais pas très « jouable » (vous enten­drez un déca­lage entre ce que vous jouez et le retour audio), il n’y a pas le choix, il faut faire quelques essais de réglages en titillant un peu les pilotes de l’in­ter­face audio, et plus parti­cu­liè­re­ment la taille de la mémoire tampon, le « buffer » en anglais, qui est l’en­droit où les données vont être entre­po­sées tempo­rai­re­ment avant d’être trai­tées. Si cet endroit est petit, il risque de satu­rer plus rapi­de­ment et on risque de perdre des données (géné­ra­le­ment carac­té­risé par des craque­ments audio), en contre­par­tie le temps de latence sera plus court. Aussi, avec un temps de latence plus bas, l’or­di­na­teur devra mettre plus de ressources proces­seur à dispo­si­tion.

Alors que vaut-il mieux, un petit nerveux rapide ou un plus grand tout mou (aucune allu­sion poli­tique là-dedans…) ?

Afin d’illus­trer cette rela­tion entre la taille des tampons et le temps de latence induit, voici deux exemples de réglages extrêmes :

Comprendre la latence

Avec des tampons à 32 samples (échan­tillons sur l’image), le temps de latence global est de 2,1 ms. Résul­tat : à l’oreille, on ne perçoit aucun déca­lage sonore, mais le système utilise plus de ressources et pourra être sujet aux craque­ments audio plus faci­le­ment.

Comprendre la latence

Ici, les tampons sont réglés sur 2048 samples et le système est plus soulagé. Par contre, le temps de latence est passé à 47,8 ms ! Le jeu au clavier d’un instru­ment virtuel devient alors impra­ti­cable.

Vous l’avez compris, l’idéal est donc de trou­ver une taille de tampon qui apporte le meilleur compro­mis possible entre rapi­dité d’exé­cu­tion, charge proces­seur et confort d’uti­li­sa­tion.

Nous verrons dans une prochaine partie quelques méthodes pour trou­ver les bons réglages, mais surtout, dans quels cas les appliquer.

Article suivant dans la série :
Connaître son seuil de tolérance →

Vous souhaitez réagir à cet article ?

Se connecter
Devenir membre