mardi 23 janvier 2018

Ardour, Jack et latence

J'ai traîné de nouveau mon piano électronique sur mon bureau histoire de jouer un peu avec Ardour. Je commence à saisir les subtilités de Jack et d'Ardour et j'ai maintenant un setup qui fonctionne. En particulier, je commence à comprendre les problématiques de latence.

La latence est principalement due aux tampons utilisés par Jack, et sur lesquels s'accumulent les signaux audio avant d'être envoyé vers les applications. En fonction de la taille et du nombre de tampons et de la fréquence d’échantillonnage, nous subirons une latence plus ou moins grande, que qjackctl a la gentillesse de nous indiquer. Ainsi, pour une fréquence d'échantillonnage de 48KHz et 2 tampons de 512 échantillons, la latence est de 21.3ms. L'on peut réduire cette latence, par exemple en diminuant la taille du tampon, mais alors l'on prend le risque d'avoir un dépassement de tampon et de se retrouver avec des bouts de notes qui manquent. Une machine plus véloce pourra se permettre des tampons plus petits, et il faudra donc jouer avec les paramètres pour trouver la meilleure valeur.

J'ai commencé par enregistrer avec 2048 échantillons, et c'était une catastrophe. À près de 100ms de latence, il était très difficile d'enregistrer quoi que ce soit. Déjà, il était hors de question d'avoir le retour midi dans les oreilles, le délai entre la pression de touche et le étant source de distraction (la documentation d'Ardour indique que les organistes sont les seuls instrumentistes à ne pas être gênés par la latence entre l'action et le son). Ensuite, même en passant la sortie MIDI et les autres pistes déjà enregistrées en silencieux et en se calant sur le métronome, les pistes ne s'alignent pas, et c'est moche.

J'ai donc fortement diminué le nombre d'échantillons, causant de catastrophiques dépassements de tampon.

Finalement, avec 512 échantillons, ma machine tenait le coup, et la latence n'était pas perceptible. Banco !

J'ai donc enregistré un petit morceau de test avec piano, guitare et basse. Les banques de sons fournies avec FluidSynth sont raisonnablement jolies pour ces instruments, mais je retravaillerai quand même le son avec Ardour, ne serais-ce que pour ajouter un poil de reverb.

Aucun commentaire: