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.
OK, mais… c’est quoi au juste ?
En premier lieu, il est quand même bon de rappeler ce qu’est la latence et pourquoi nous sommes obligés de composer 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éclenchement d’une réaction (le son arrive à vos oreilles).
|
En informatique musicale, il en existe deux types : la latence matérielle et celle dite logicielle ; sachant que les deux peuvent se cumuler et que les exigences ne sont pas les mêmes en période d’enregistrement ou en période de mixage. Il va sans dire que le but du jeu, surtout lorsque l’on enregistre de l’audio ou du MIDI, est d’obtenir le plus court temps de latence possible, mesuré en millisecondes (ms). Si on appuie sur une touche de clavier, et que le son arrive une seconde plus tard, on va avoir beaucoup de mal à jouer dans le bon tempo.
En simplifiant grandement les choses, on pourrait dire que la latence matérielle est le temps que met le couple ordinateur/interface audio à traiter les données pour les envoyer au séquenceur logiciel (la STAN) pour au final les retranscrire en audio en direction 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èrement du fait de la communication nécessaire entre le périphérique et l’ordinateur.
|
La latence logicielle, elle, est due à l’utilisation de plug-ins plus ou moins gourmands au sein de la STAN. En effet, à chaque fois que l’on insère un traitement virtuel, on rajoute une couche logicielle qui demande plusieurs calculs supplémentaires à l’ordinateur. Pour compliquer encore un peu plus les choses, tous les plug-ins ne sont pas égaux dans ce domaine et certains sont vraiment plus gloutons que d’autres en millisecondes.
Par exemple, voici les indications données par le développeur Softube concernant la latence induite pour chaque plug-in.
Même chose chez UAD
Ou encore chez Voxengo qui délivre l’information au sein même de l’interface du plug-in :
À noter que très souvent, la gourmandise des plug-ins est mesurée en samples (échantillons en français). Plus il y a de samples « demandés », plus le temps de latence augmente.
Buffer à volonté
Nous venons de le voir, convertir une source audio analogique externe en données numériques pour la reconvertir ensuite en analogique demande du temps et des efforts au matériel. Et pour trouver le meilleur compromis entre un temps de latence très court, mais gourmand en ressources et un temps plus long facilement gérable par le matériel, mais pas très « jouable » (vous entendrez un décalage 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’interface audio, et plus particulièrement la taille de la mémoire tampon, le « buffer » en anglais, qui est l’endroit où les données vont être entreposées temporairement avant d’être traitées. Si cet endroit est petit, il risque de saturer plus rapidement et on risque de perdre des données (généralement caractérisé par des craquements audio), en contrepartie le temps de latence sera plus court. Aussi, avec un temps de latence plus bas, l’ordinateur devra mettre plus de ressources processeur à disposition.
Alors que vaut-il mieux, un petit nerveux rapide ou un plus grand tout mou (aucune allusion politique là-dedans…) ?
Afin d’illustrer cette relation entre la taille des tampons et le temps de latence induit, voici deux exemples de réglages extrêmes :
Avec des tampons à 32 samples (échantillons sur l’image), le temps de latence global est de 2,1 ms. Résultat : à l’oreille, on ne perçoit aucun décalage sonore, mais le système utilise plus de ressources et pourra être sujet aux craquements audio plus facilement.
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 instrument virtuel devient alors impraticable.
Vous l’avez compris, l’idéal est donc de trouver une taille de tampon qui apporte le meilleur compromis possible entre rapidité d’exécution, charge processeur et confort d’utilisation.
Nous verrons dans une prochaine partie quelques méthodes pour trouver les bons réglages, mais surtout, dans quels cas les appliquer.