Un disque dur ne peut pas écrire ou lire en flux continu, il opère par paquets, c’est pour cela qu’une mémoire tampon est nécessaire afin de stocker l’information pendant un temps bref pour garder le flux continu entrant à disposition du disque et sortant pour reconstituer les paquets du disque. Aujourd'hui tout se passe généralement en mémoire ram, mais c'est exactement le même principe.
Dans tout logiciel musical, il y a donc une valeur de buffer à régler en samples qui dépend donc de la fréquence d’échantillonnage puisque c’est elle qui détermine le temps que dure un sample. Une fois la valeur de la fréquence d’échantillonnage choisie on peut donc déterminer le temps de latence en fonction du nombre de samples choisies en buffer : 32, 64, 256, 512, 1024, 2048 sont les valeurs proposées dans les logiciels audio ou plutôt dans les drivers de votre carte son que vous aurez choisi dans les préférences de votre logiciel préféré.
Latence de buffer=buffer/fréquence d’échantillonnage pour un résultat en second mais ça sera plus simple en millisecondes.
Ex :buffer =256 samples fréquence=44100hz Latence=(256x1000)/44100=5.8 ms
Ce temps de latence est donc consacré à l’écriture et à la lecture du flux audio,(5.8ms chacun) mais aussi au temps de traitement de votre logiciel, donc plus vous allez ajouter de plugins de traitement plus la taille de votre buffer devra être grande pour ne pas avoir un flux non continu qui se traduira par des micro-coupures (craquements) qui sont très gênants. Lors du mixage ce n’est pas un problème dans une certaine mesure il suffit d’augmenter le buffer, à ce moment là c’est la rapidité de calcul de votre ordinateur qui sera votre limite.
Mais à l’enregistrement il faut que les musiciens puissent s’écouter jouer sans retard trop important par rapport à leurs jeux directs, vous imaginez bien. On dit que le cerveau est perturbé par le décalage entre le mouvement du musicien et son écoute à partir de 10ms. La latence de buffer est donc de 5.8x2=11.6ms, mais ce n'est pas tout. Il faut compter aussi le temps de conversion analogique/numérique/analogique qui varie de 1 à 3 ms suivant la qualité de vos convertisseurs. On se retrouve avec au pire des cas 14.6 ms de latence dans notre exemple. Aujourd'hui la plupart des interfaces audio sont capables d'aller sous les 10 ms de latence, mais généralement sans traitements. C'est pourquoi beaucoup de professionnels utilisent des cartes son à dsp intégré ou le "hardware monitoring" donc sans passer par l'ordinateur, mais par la console de mixage et avec des traitements externes. Maintenant que vous savez faire le calcule, « y’a plus qu’à » .Si vous avez encore des craquements ou une latence trop importante avec des valeurs théoriques acceptables c’est ou que vous utilisez trop de traitements (égaliseurs, compresseurs, reverb …) trop de pistes simultanées ou que votre carte son et ordinateur ne sont pas assez performants. Ces craquements sont donc enregistrés et votre piste est bonne à mettre à la poubelle. Mais vous devriez vous en rendre compte bien avant d’appuyer sur rec.
Chaque plugin induit un temps de calcul par votre ordinateur, mais ils ne sont pas tous aussi gourmand les uns que les autres. Les plus lourds sont en règle générale: les reverb (surtout à convolution), égaliseur à phase linéaire, les bonnes émulations de hardwares, les plugins de mastering, les harmoniseurs…
Il y a pas si longtemps, le temps de calcul des plugins induisait un retard directement sur la piste concernée et donc chaque piste avait un retard propre suivant son traitement, ce qui posait évidemment des problèmes de phase (perte de fréquences, précision et largeur stéréo altérée), mais maintenant la plupart des logiciels prennent en compte ce retard et aligne vos pistes pour qu’elles soient bien en phase.
Il y a aussi les plugins qui sont vendu avec leur propre DSP (section physique de calcule dédié) qui permettent d’utiliser des plugins à des latences faibles car la puissance de calcul fourni exclusivement pour ces plugins garantit un nombre d’instances (plugins actifs) à une valeur de latence donnée.
Quelques explications sur les drivers de carte son.
Windows :
Wdm et MME : sont des drivers qui passent par le noyau de windows ce qui induit une latence et peut poser des problèmes à la conversion.
Asio : sont des drivers dédiés à votre carte son qui font la liaison avec votre logiciel sans passer par windows, mais ils sont de plus ou moins bonne qualité. Certaines cartes son sont équipées d’une mémoire dsp dédiée au driver. Asio ne peut être utilisé que sur un périphérique à la fois.
Si vous avez des problèmes avec vos drivers, vous pouvez utiliser ASIO4ALL sur PC qui est un logiciel gratuit qui utilise vos pilotes de carte son wdm pour qu’ils se comportent comme un pilote asio. Avec ça vous pouvez régler la taille de votre buffer avec n’importe quelle carte son, même celle de votre ordinateur portable sauf si elle n’a pas de drivers wdm.
Vous le trouverez ici : http://www.asio4all.com/
Mac : core audio, les performances dépendent de la qualité du driver audio dédié et de votre matériel.