Si vous pensez que la mention « à l'échantillon près » est en rapport avec une quelconque action commerciale ou promotionnelle, vous ne lisez certainement pas le bon site. En revanche, si vous avez déjà rencontré cette expression dans le domaine du transfert de données numériques, du timing des boucles et de l'édition audio, vous avez visé juste. Le but aujourd'hui est d'aller au fond des choses en matière de précision au sample près et d'expliquer comment ce paramètre affecte l'enregistrement et l'édition audio.
Commençons par les bases : en audionumérique, l’élément constitutif d’un signal est l’échantillon. Ce dernier possède une durée et une valeur données. Dans cet article, nous ne nous occuperons pas de la valeur mais uniquement de la durée du sample. Par exemple, avec une fréquence d’échantillonnage à 44,1 kHz, il y a 44.100 samples par seconde. Par conséquent, chaque échantillon dure exactement 0,02267573696 millisecondes (croyez-moi sur parole) et il y a 44,1 échantillons par milliseconde.
Transfert et édition au sample près
Considérons une liaison avec un degré de précision au sample près, par exemple lorsqu’on transfert les données d’une bande ADAT vers un système de MAO. Supposons que, à partir du point zéro de la bande, une guitare commence à jouer 670.020 samples sur la bande, puis s’arrête de jouer à 900.347 samples sur la bande. Avec un transfert à l’échantillon près, si vous réglez l’axe temporel de votre logiciel de MAO sur le sample, vous verrez que la guitare commence à jouer 670.020 samples dans le projet à partir du point de départ (zéro) et s’arrête à (vous l’avez deviné) 900.347 samples du départ.
Pourquoi cela est-il important ? Parce qu’avec les méthodes de transfert qui ne fonctionnent pas au sample près, par exemple le SMPTE, un « patinage » peut apparaître sur quelques samples. Normalement, cela ne devrait pas poser de gros problème, mais si vous transférez une piste de batterie qui a « repissé » sur une autre piste ? Les variations peuvent causer des effets de filtre en peigne en raison de phénomènes d’ajout et d’annulation entre les deux pistes.
Pour ce qui concerne l’édition audio, la précision au sample près signifie que vous pouvez modifier la durée d’un fichier, les points de coupe, etc. avec une précision d’un sample. Autrement dit, la résolution est bien meilleure que si l’on éditait l’échantillon à la milliseconde près par exemple.
Boucles au sample près
Si vous vous demandez pourquoi éditer l’audio au sample près, pensez à l’utilisation des boucles. Par définition, les boucles se répètent ; par conséquent, si la longueur d’une boucle n’est pas précise, des décalages de timing peuvent apparaître quand la boucle est répétée.
Par exemple, supposons que vous enregistriez une boucle venant d’une groovebox réglée à 120 BPM. L’exactitude de ce tempo n’est pas garantie (il faudrait une horloge atomique…) ; en fait, il peut s’agir de 120,035 BPM, ce qui signifie que la boucle sera un peu plus rapide que l’idéal. Avec une fréquence d’échantillonnage à 44,1 kHz, une boucle d’une mesure à 120,000 BPM dure 88.200 samples tandis qu’une boucle à 120,035 BPM en contient 88.174. Cela signifie qu’il y a un écart de timing d’environ 0,58 ms.
À présent, supposons que vous importiez cette boucle à 120,035 BPM dans votre logiciel de MAO, où 120 BPM font effectivement 120,000 BPM, puis que vous copiez la boucle 16 fois en plaçant les instances bout à bout pour remplir un passage du morceau. Le seul problème, c’est que la boucle que vous avez importée est légèrement trop rapide. Ainsi, au bout de 16 mesures, elle sera manifestement décalée et s’arrêtera 9,28 ms trop tôt (15 × 0,58 ms). C’est suffisant pour être audible.
Bien entendu, certains programmes comme Acid, Live, Sonar, Digital Performer, Logic Pro Audio, Garageband et Project5 possèdent une fonction de time stretching automatique qui donne à la boucle la durée désirée en lui attribuant un tempo spécial. Mais si votre programme ne possède pas de fonction de time stretching automatique, ou si vous voulez éviter les artefacts que certains algorithmes de time stretching produisent parfois, vous pouvez transformer la boucle à 120,035 BPM en exactement 120,000 BPM au sample près.
Pour cela, chargez la boucle dans un programme capable d’exprimer la durée en échantillons, par exemple Adobe Audition. Étant donné que la boucle à 120,035 BPM (88.174 échantillons) est trop courte par rapport aux 88.200 samples nécessaires, ajoutez du silence à la fin de la boucle pour l’allonger. Pour qu’elle contienne exactement 88.200 samples, saisissez cette valeur dans le champ Length (à condition, bien sûr, d’avoir choisi le sample comme unité de l’axe temporel). À présent, copiez et collez cette boucle bout à bout pour remplir 16 mesures. Les boucles sont parfaitement calées. C’est vrai, chaque boucle contient une infime erreur car vous y avez ajouté une demie milliseconde de silence, mais je parie que vous ne l’entendrez pas. Dans le contexte d’un morceau, il est plus important que l’enchaînement des boucles possède la durée désirée.
Une bibliothèque de boucles décrite comme ayant une précision au sample près (sample-accurate loops) signifie que le concepteur a calculé le nombre d’échantillons utilisés par chaque boucle en fonction de sa signature rythmique et de son tempo (BPM), puis qu’il s’est assuré que chaque boucle contient le bon nombre de samples. Par exemple, si la boucle est donnée pour un tempo de 120 BPM, elle contiendra exactement 88.200 samples.
Le problème, c’est qu’il peut arriver que le calcul aboutisse à une boucle contenant un nombre fractionnaire d’échantillons. Il y a plusieurs façons de contourner la chose :
Utilisez une fréquence d’échantillonnage supérieure pour avoir une meilleure résolution. Il se peut que vous aboutissiez malgré tout à un nombre fractionnel de samples, mais l’écart temporel sera vraiment très faible.
Ignorez tout simplement la différence. Après tout, vivons dangereusement ! Par exemple, supposons que vous avez réglé le tempo de votre morceau sur 120.035 BPM pour coller au tempo de la groovebox mentionnée plus haut. Une boucle d’une mesure possèdera donc exactement 88.174,28 samples. Les boucles de votre groovebox seront parfaitement calées, mais imaginons que vous souhaitiez également utiliser une boucle à 120.000 BPM au sample près. Vous pouvez la raccourcir afin qu’elle contienne 88.174 samples, ce qui correspond à la meilleure approximation possible en 44,1 kHz ; cependant, il manque 0,28 sample à la boucle en 120,000 BPM. Multipliez par 16 et le montant total de l’erreur sera 4,48 échantillons – environ 1/10ème de milliseconde, autrement dit pas de quoi paniquer.
Placez la boucle sur une barre de mesure à chaque fois que vous la copiez. Cela laisse un infime espace à la fin de chaque boucle, mais comme il ne s’agit que de 0,28 sample, croyez-moi, vous ne le sentirez pas. Personnellement, je ne l’entends pas, et vous certainement non plus.
Faut que ça colle…
J’utilise beaucoup de boucles dans ma musique et j’ai développé pas mal de bibliothèques de boucles. Par conséquent, je dois mettre en relation des valeurs rythmiques données avec des nombres de samples donnés pour créer des boucles au sample près. Ayant eu recours à ma calculette bien trop souvent, j’ai créé cette feuille Excel dans laquelle on peut saisir le tempo en BPM et la fréquence d’échantillonnage en kHz (sachant que le tableau part du principe que la mesure est en 4/4). Le tableur génère alors une liste de durées exprimées en millisecondes et en samples.
Si vous n’êtes pas un adepte de la précision au sample près, cette feuille Excel vous permettra également de régler des temps de delay en fonction du tempo. Profitez-en, quelqu’un l’a fait pour vous ! Téléchargez le fichier pour mettre la théorie en pratique, tout simplement…
Originellement écrit en anglais par Craig Anderton et publié sur Harmony Central.
Traduit en français avec leur aimable autorisation.