Le dithering

MENU

Dithering-Noise Shaping

Traitement Audio
Studio et Mastering

Définition

Le dithering est une technique d’amélioration des données du son numérique lors d’une conversion de la profondeur de quantification.

Le dithering audio : ou bruit de dispersion consiste à utiliser un bruit pour linéariser un convertisseur numérique et minimiser les erreurs de quantification

Le noise shaping : ou mise en forme du bruit permet de réduire la distorsion et le bruit dans la bande audible à faible niveau, en ajoutant un bruit aléatoire haute fréquence au message original, en tenant compte des fréquences pour lesquelles le bruit est le plus audible pour l’être humain.

Ces deux techniques ont une parenté et sont toutes deux utilisées lorsqu’une réduction du nombre de bit est opérée. Ces techniques sont utilisées en audio numérique mais aussi pour l’image et la vidéo.

En pratique, l’utilisateur d’outils d’informatique musicale est confronté en permanence à la nécessité d’utiliser ces procédés

Notion de bits-float : lire ici

Description du Dithering

Source Wikipedia (eng) librement résumé,adapté et traduit

La version finale des fichiers audio présents sur un CD audio utilise une quantification de 16 bits par échantillon, mais au cours des traitements effectués par les logiciels d’édition et de traitement audio, la profondeur de quantification augmente sensiblement par le fait des calculs effectués. Ainsi, Cubase, Nuendo et Wavelab de Steinberg manipulent les échantillons quantifiés en 32 bits à virgule flottante (32 bits float ou 64bits float – depuis Cubase 11). Ce phénomène est incontournable ainsi que dans un autre domaine facile à comprendre, le fait de manipuler des nombres entiers (multiplier, diviser, ajouter) amène immanquablement l’apparition de nombres décimaux. Pourtant en fin de compte, les données en 32 ou 64 bits float doivent être inscrites sous forme de données 16 bits sur le CD audio.

Il existe plusieurs méthodes pour ramener l’information en 16 bits :
Il est possible d’effectuer une troncature de message et de ne garder que les 16 premiers bits de chaque message
Il est également possible d’arrondir à la valeur 16 bits la plus proche.

Ces deux méthodes vont conduire à des erreurs tout à fait prévisibles.

Cubase audio processing 32 ou 64 bits float
Cubase Studio setup Audio System Advanced options

Imaginons par exemple les données numériques représentant une forme d’onde exprimées ainsi dans notre monde décimal :

1 2 3 4 5 6 7 8 
Soit graphiquement :

Si nous réduisons l’amplitude de notre forme d’onde de 20% nous obtiendrons les valeurs suivantes

0,8 1,6 2,4 3,2 4 4,8 5,6 6,4
Soit graphiquement :

Si nous tronquons ces valeurs (en ignorant la décimale) nous obtenons ce graphique. (Cas imagé du passage de 32 bit à 16 bit par troncature des 16 bits en surnombre sur le message en 32 bits)

0 1 2 3 4 4 5 6
Soit graphiquement une forme d'onde modifiée.:

Si nous arrondissons ces valeurs nous obtenons ce graphique. (Arrondi à la valeur entière la plus proche)

1 2 2 3 4 5 6 6
Soit graphiquement une forme d'onde modifiée.:

La forme d’onde originale est donc modifiée par la troncature ou l’arrondi. Le problème est que ces phénomènes se répètent cycliquement et deviennent nettement perçus par l’audition en tant que phénomène sonore identifiable (déformation harmonique).
Une première solution serait d’arrondir de manière alternative vers le haut et vers le bas, de manière à ce que la déformation harmonique ne se répète pas identiquement à chaque arrondi, mais alternativement, ce qui à terme amènerait une apparence moyenne de la valeur, telle qu’elle était avant d’être arrondie. Malheureusement cette solution reste cyclique et régulière et peut, dans certains cas, être perçue.
Cela nous amène à la solution du dithering : au lieu d’utiliser un modèle d’arrondi régulier, nous allons utiliser un modèle d’arrondi aléatoire afin que les erreurs, (inévitables comme nous l’avons vu), ne soient jamais répétées et deviennent non repérables. L’erreur de quantification sera donc aléatoire, et moins évidente pour l’audition qu’une déformation régulière (cyclique) de la forme d’onde.

En résumé

Quand faut-il ajouter le dithering ?

Le dithering doit être appliqué à chaque fois que l’on procède à une re-quantification afin d’empêcher un comportement non linéaire (déformation de la forme d’onde) ; plus la profondeur de quantification de destination est faible et plus il est nécessaire d’utiliser le dithering.
Le résultat du processus de re-quantification induit toujours une déformation de la forme d’onde originelle, mais il est beaucoup plus discret avec le dithering.
Une autre conséquence de la compréhension de ces phénomènes est que l’utilisateur de fichiers devra limiter au maximum (1 seule fois dans l’histoire du fichier audio) la re-quantifiquation de son matériel audio.

Quand ne faut-il pas ajouter le dithering ?

Lorsque votre réalisation audio doit être réutilisée dans un autre logiciel, il ne faut pas appliquer le dithering mais effectuer impérativement un export en 32 (ou 64) bits float.

Par exemple, lorsque vous avez réalisé une musique de film et que vous la transmettez au montage, vous ne devez pas réduire sa profondeur de quantification. C’est après exploitation dans le logiciel de montage vidéo, qu’elle sera réduite (et passée dans un traitement dithering lors de l’export final).

Export 16 bits 44.1 kHz
Export en 16 bits : il faut utiliser le dithering
export en 32 bit float
Export en 32 bits float : il ne faut pas utiliser le dithering

Notes :

Différents types de dithering

Le RPDF (Rectangular Probability Density Function) représente « la fonction rectangulaire de densité de probabilité, » équivalent à un rouleau d’une matrice. Tout nombre a la même probabilité aléatoire d’être arrondi.

Le TPDF (Triangular Probability Density Function) représente « la fonction triangulaire de densité de probabilité, » équivalent à un rouleau de deux matrices (la somme de deux échantillons indépendants de RPDF).

Le PDF gaussien est équivalent à un rouleau d’un grand nombre de matrices. Le rapport des probabilités des résultats suit une courbe en forme de cloche ou gaussienne.

Le Noise shaping

(mise en forme – profilage – façonnage- du bruit) (Wikipedia)
Le Noise shaping n’est pas tout à fait un dithering, il s’agit d’un procédé de rétroaction qui est également employé pour réduire la déformation du signal dans le cas d’une re-quantification.
Le procédé utilise la valeur de l’erreur de quantification de l’échantillon précédent. L’échantillon courant se voit incrémenté de la valeur de l’erreur d’échantillonnage de l’échantillon précédent. L’erreur de quantification est appliquée (boucle de rétroaction) au signal. Cela revient à appliquer un filtre dont la fréquence est commandée par la quantité d’erreur de l’échantillon précédent.
On peut employer des algorithmes complexes qui emploient la valeur des erreurs de plus d’échantillons afin de créer des courbes plus complexes.
Si le dithering n’est pas appliqué simultanément, le noise shaping déforme simplement l’onde à différentes bandes de fréquences; mais s’il est appliqué, l’erreur de quantification devient un bruit dans une zone peu perceptible par l’oreille.

Dithering + Noise Shaping

L’erreur de quantification après le dithering provoque un bruit blanc légèrement audible. En employant le noise shaping, nous déplaçons ce bruit vers une zone dans laquelle il sera peu perçu (l’oreille étant moins sensible à certaines fréquences que d’autres dans les bas niveaux).

Note, il semble qu’un fil des versions (passage en 32 bits puis VST3) le plug-in de dithering de Cubase Nuendo ait été privé du noise shaping. Les versions précédentes contenaient une commande du noise shaping

Dithering multicanal dans Cubase
Version historique Steinberg Cubase
Dithering dans wavelab
Version historique Steinberg Wavelab

Comment utiliser le plug-ing de dithering ?

Les plugs-in de Dithering Noise Shaping doivent être utilisés systématiquement chaque fois que l’on fait un export ou un rendu audio à une quantification autre que 32 ou 64 bits float, faute de quoi, la re-quantifiquation serait réalisée par troncature simple et provoquerait un phénomène audible. Le plug in doit être placé tout à la fin de la chaîne de traitement du son afin d’éviter qu’un organe du logiciel requantifie en 32 ou 64 bits float.

Dans Cubase, il faut l’insérer

Dans le dernier slot d’insert du master post fader ); nous sommes ainsi certains qu’aucun élément logiciel ne pourra requantifier en 32 ou 64 bits float.

Note : dans Cubase les inserts post-faders sont reconnaissables par une couleur différente et positionnés après la barre verte (qui indique pré ou post pour les insertions)

Il est logique -et indispensable- de choisir une valeur de quantification identique dans les paramètres de la fenêtre export audio mixdown et le plug-in de dithering.

Insert post fader
Insert post fader sur la tranche master

Paramètres

8, 16, 20, 24 bit Ces boutons permettent de définir la résolution en bits souhaitée pour le signal audio final. Comme pour le dithering interne, il est important de définir la bonne résolution.

Hi : Applique un gain de dithering normal.

Lo : Applique un niveau plus bas de bruit de dithering.

Auto black : Quand cette option est activée, le bruit de dithering est coupé (par un gate) pendant les passages silencieux.

Apparence des Plug-ins de dithering - noise shaping