• AudioFanzine : Home Studio, Computer Based Music, Guitars, Basses, Live Sound & DJ
  • Pd-iem Pure Data

Pd-iem Pure Data - AudioFanzine
Pd-iem Pure Data
Constructeur :
Distributeur :
N/A
Prix neuf moyen :
N/A
Argus en savoir plus... :
N/A
Mise en Oeuvre :
10 / 10
Adéquation/Performance :
9 / 10
Avis Global :
10 / 10
Voir les tutoriels en cours... Ecrire un Tutoriel
Réaliser une fft dans Pure Data
(Confirmé)
Par Nimon le 26/07/2005
Pour analyser un signal, il est indispensable de pouvoir visualiser son spectre. Dans ce tutoriel, nous détaillons la réalisation d'une abstraction Pure Data qui permet le calcul de la fft (Fast Fourier Transform) d'un signal audio.
Réaliser une fft dans Pure Data - Etape 1
Créez un nouveau patch puis sauvegardez le sous un nom approprié, "fft.pd" par exemple. Le fait de sauvegarder le patch va permettre de le réutiliser dans d'autres patchs, ce qui est indispensable pour une analyse spectrale.

Il faut maintenant choisir la taille de la fft. Placez pour cela l'objet [block~] en lui donnant pour argument 1024, ce qui signifie que les signaux audios sont traités dans des buffers de 1024 échantillons.
Réaliser une fft dans Pure Data - Etape 2
La transformée de Fourier nécessite trois signaux : le signal à analyser, la fenêtre et la fft. Placez donc trois tableaux en cliquant sur Put > Array. Le signal et la fenetre ont pour taille 1024, tandis que la fft est deux fois plus petite soit 512 échantillons.

Si vous voulez pouvoir utiliser plusieurs fft dans vos patchs vous devez ajouter l'identifiant unique "$0-" au début du nom de chaque tableau.
Réaliser une fft dans Pure Data - Etape 3
Ajoutez maintenant un [bang] général qui déclenchera le calcul de la fft. Créez une entrée audio avec l'objet [inlet~] et reliez le bang et l'entrée à un objet [tabwrite~ $0-signal].

A chaque fois que vous cliquerez sur le bang, le tableau $0-signal sera rempli avec 1024 échantillons provenant de l'entrée [inlet~].
Réaliser une fft dans Pure Data - Etape 4
Il faut maintenant créer la fenêtre. Un cosinus peut faire l'affaire si on lui donne une amplitude de 0.5, qu'on lui ajoute 0.5 pour qu'il évolue entre 0 et 1 et qu'on le déphase de pi. Pour cela placez un objet [osc~] relié à un objet [*~ -0.5], puis à un objet [+~ 0.5].

La fréquence du cosinus se calcul par rapport à l'objet [samplerate~] qui connait la fréquence d'échantillonnage. Reliez cet objet à un [/ 1024] puis à l'entrée fréquentielle du cos~.

Enfin reliez la sortie traitée du cosinus à un objet [tablewrite~ $0-fenetre] et banger le tout comme sur le schéma! (Attention : DSP ON)
Page : 1 2 3  Page Suivante  Haut de Page