Sujet Choky Lab: L'aliasing c'est quoi donc ? Demos sur modulaires
- 24 réponses
- 7 participants
- 10 741 vues
- 15 followers
Choc
Avant Propos
Une des bases du traitement du signal numérique spécifie
Citation : La fréquence d'échantillonnage d'un système numérique doit etre deux fois supérieure a la fréquence maximale du signal à échantillonner
Pour éviter cette artefact, on doit d'abord savoir la fréquence maximale des signaux a numériser. En audio, la fréquence maximale du signal est basée sur les limites perceptives de l'oreille: "Notre appareil auditif peut capter des fréquences maximales de 20 000 Hz (ou 20kHz)"(1). Cette limite nous permet de calculer la fréquence d'échantillonnage minimum de nos appareils audio numérique:
2*20kHz=40kHZ
En pratique, pour des raisons que je ne détaillerais pas ici (implémentation technique, historique), une des fréquences d'échantillonnage communément utilisée est le 44.1 Khz.
Maintenant que ce passe t'il si le signal à numériser comporte des fréquences supérieures a 20kHz ? Un artefact qui porte le nom d'aliasing (ou repliement spectral en français) va apparaître. Cet artefact est détaillé dans la section suivante
L'aliasing
L'aliasing apparaît donc lorsque la fréquence du signal, que l'on note ici f, est supérieure a la moitié de la fréquence d'échantillonnage, que l'on note ici Fe.
Citation : Si f > Fe/2 Alors aliasing
Il apparaît alors un repliement du spectre du signal. En gros, prenons un signal au spectre très simple, la sinusoïde, dont le spectre contient une seule raie. Gardons la notation f, pour designer la fréquence de cette sinusoïde, le spectre de la sinusoïde contient une raie a la fréquence f (décomposition en série de Fourier d’une sinsuoide).
La figure suivante montre le spectre de la sinusoïde lorsqu'il n'y a pas d'aliasing (f=15000, Fe=44100).
Si la fréquence f de la sinusoïde est supérieure a Fe/2, il y a repliement
spectral (f=30000, Fe=44100)
Notons f_sys, la fréquence de la sinusoïde pour notre système numérique, mathématiquement on à
f_sys=Fe/2-(f-Fe/2)=Fe-f
La fréquence f_sys est différente de la fréquence f. Notre système numérique se trompe.
A titre d'illustration sonore, vous pouvez écouter ici, une sinusoïde dont la fréquence augmente de 0 à 44100 Hz. A partir de 22050, la fréquence de la sinusoïde descend à cause de l'aliasing, alors que la fréquence réelle augmente.
A NE SURTOUT PAS ECOUTER AU CASQUE:
Sinsuoide dont la frequence evolue de 0 a 44100 Hz, Fe=44100, l'aliasing debut a mi-parcours
Application au modulaire
Il est intéressant de voir le comportement des synthétiseurs modulaires face au problème d’aliasing. Une manière de mettre en évidence la présence au non d’aliasing consiste a générer des signaux possédant une infinité d’harmonique (le signal comporte donc des harmoniques supérieures a la moitié de la fréquence d’échantillonnage).
Prenons le cas des signaux dent de scie, le décomposition en série de fourier du signal en dent de scie spécifie que le signal comporte une infinité d’harmonique. Ci-dessous les premières harmoniques d’un signal en dent de scie. La fréquence fondamentale de notre dent de scie est 1760 Hz et les harmoniques sont situées a 1760 *n Hz ou n est un entier.
Pour les synthé modulaire, l’onde en dent de scie est communément utilisée. Toutefois, pour éviter des problème d’aliasing, la dent de scie est prétraitée.
NI: Absynth
Absynth possede deux modes de generation d'oscillateur. Le mode sans correction d'aliasing et anti aliasing. le mode anti alising est plus gourmand en ressource CPU. L'interet pour l'utilsiateur de pouvoir switcher entre les deux modes est egalement d'ordre esthetique, rien de tel qu'un oscillateur avec aliasing pour decupler la froideur d'absynth..
Absynth dent de scie sans correction d'aliasing (fondamentale 1760 Hz)
Absynth dent de scie avec mode anti aliasing (fondamentale 1760 Hz)
NI: Reaktor
Contrairement à absynth, Reaktor ne permet pas de desactiver ou d'activer le mode anti aliasing.
Reaktor dent de scie (fondamentale 1760 Hz)
Cycling 74: MaxMSP
Maxmsp possede deux objets pour le generation des dent de scie. L'objet phasor~ non traité contre l'aliasing, et l'objet saw~ traité contre l'aliasing.
Maxmsp dent de scie sans correction d'aliasing: objet phasor~ (fondamentale 1760 Hz)
Maxmsp dent de scie avec anti aliasing (fondamentale 1760 Hz)
Synthedit
Synthedit possede un objet pour la generation de differents oscillateurs dont la dent de scie
Maxmsp dent de scie avec anti aliasing (fondamentale 1760 Hz)
A vous de tirer vos conclusions
Site personnel: https://www.enib.fr/~choqueuse/
Wolfen
C'est marrant, l'anti-aliasing de Synthedit a l'air assez costaud (un peu trop même à première vue), plus que celui de Absynth qui laisse passer quelques harmoniques au delà de Fs/2...
Par contre, Reaktor
Pour le reste, je vais lire ça au calme
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
Choc
Site personnel: https://www.enib.fr/~choqueuse/
cracktest
Wolfen
Par contre, ça concerne les traitements numériques (synthés et plug-ins en VST par exemple). Quand c'est bien conçu, y'a pas d'aliasing, mais parfois il arrive que ça se passe plus mal, avec Reaktor par exemple ou certaines distos. Les développeurs doivent impérativement s'occuper de ça...
Et autre remarque, quand y a de l'aliasing sur un signal, ça veut dire que c'est déjà trop tard : un filtre n'aurait aucun effet sur les fréquences parasites, car justement elles sont placées aux mêmes endroits que les fréquences utiles. Essayer de les virer supprimerait aussi de l'information importante... D'où l'intérêt de se préoccuper de ça en amont
Mais encore une fois, l'aliasing c'est uniquement une préoccupation de développeurs. Nous utilisateurs, nous n'avaons aucune influence là-dessus, tout ce que nous pouvons faire c'est apprécier les produits qui en tiennent compte ou pas, comme l'a fait Choc avec ses schémas.
Hors sujet : Sinon Choc, t'as pas reçu mon mail d'il y a une semaine sur ton adresse gmail j'ai l'impression, j'avais répondu à ta question sur les dossiers avant que tu trouves ta réponse sur KVR, et je t'avais dit de laisser tomber FFTW pour FFTreal
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
Choc
Hors sujet : Oui oui merci Wolfy, je t'avais repondu sur kvr
Site personnel: https://www.enib.fr/~choqueuse/
cracktest
Citation : Et autre remarque, quand y a de l'aliasing sur un signal, ça veut dire que c'est déjà trop tard : un filtre n'aurait aucun effet sur les fréquences parasites, car justement elles sont placées aux mêmes endroits que les fréquences utiles. Essayer de les virer supprimerait aussi de l'information importante... D'où l'intérêt de se préoccuper de ça en amont
Oui je me doute bien, je parlais "avant" conversion, un pti circuit en analo passe bas juste avant la conversion A/N.
Mais peu importe de toute" facon ça ne s applique pas a la prise de son :D
Will Zégal
Citation : Citation : La fréquence d'échantillonnage d'un système numérique doit etre deux fois supérieure a la fréquence maximale du signal à échantillonner
C'est pas le théorème de Nyquist ?
Excusez mon ignorance
Choc
Shannon, Nyquist, Whittaker on peut meme retrouver les bases du theroeme avec Cauchy
Site personnel: https://www.enib.fr/~choqueuse/
Will Zégal
Hors sujet : (ce thread ne devrait-il pas plutôt être dans le sous-forum synthèse sonore ?)
Ce thread est vraiment instructif.
A propos de l'aliasing sur Reaktor :
1- tu dis que Reaktor est dépourvu de filtre anti-aliasing. Mais n'y at-il pas moyen d'en créer un au niveau Core ?
2- même si c'est à priori un artefact non souhaité, la couleur sonore résultante peut être intéressante. Est-ce qu'on ne peut pas envisager de "splitter" le signal : d'une part le signal filtré contre le repliement de spectre, d'autre part les harmoniques générant un repliement de spectre. On traite ensuite les deux différemment, puis on les remixe. Ça doit permettre de faire des trucs assez délire, non ?
- < Liste des sujets
- Charte