close
subdirectory_arrow_left subdirectory_arrow_left Techniques du Son
Matériel Techniques du Son Rechercher une marquekeyboard_arrow_down
  • settings_backup_restore

Choky Lab: L'aliasing c'est quoi donc ? Demos sur modulaires - forum Techniques du Son

Our ceux qui se posent des question sur l'aliasing, petit cours (c'est pas du niveau ultra pro, alors Wolfen et autre Gabou critiquez pas, la le but c'est etre didactique :oops2: ).

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 :coucou:
Flag

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 :oo:
Pour le reste, je vais lire ça au calme :clin:
Celui de synthedit fonctionne vraiement mechamment, il bouffe grave les hautes frequences...
Et lors d'une prise de son, est-ce que le simple fait que la pluspars des micro ai une frequence de coupure inferieur a 20khz suffit pour ne pas se soucier du phenomene? sinon comment gere t'on cela ? un passe bas à 20khz avant la conversion ?
Choc a oublié de le préciser, mais tout ce qui est prise de son et qui utilise des convertisseurs analogiques est complètement exempt d'aliasing, les fabricants de microphones, de convertisseurs etc. en ont tenu compte :clin:

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 :clin:

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

Hors sujet : Oui oui merci Wolfy, je t'avais repondu sur kvr :boire:

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

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 :oops:
En fait, il y a plusieurs auteurs ou choix

Shannon, Nyquist, Whittaker on peut meme retrouver les bases du theroeme avec Cauchy :boire:
Merci, maître :bravo:

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 ?

Sujets les plus actifs dans "Techniques du Son"

Les dernières questions dans "Techniques du Son"