c'est pour faire une anim flash qui réagit en fonction du son.
jlighty
c'est suivant la fréquence d'échantillonnage :)
la période d'un échantillon = 1/fréquence d'échantillonnage
donc si c'est du 44.4Khz -> 0.0225ms
donc avec 8192 ech -> 184.32ms donc c'est à fait normal que tu obtiens des sinusoïdes bien distinct !
avec 100000 ech -> 2.250s là tu devrais commencer à obtenir la même chose que la figure précédemment.
PS: par curiosité tu veux en faire quoi du diagramme temporel ?
duch
[mode question con]
ça correspond à quoi un échantillons? (en ms?)
[/mode question con]
jlighty
pour simplifier il faudrait connaître la structure de l'entête d'un fichier Wav pour trouver le nombre d'échantillons utilisés
jlighty
je pense que c'est normal, seul 8192 échantillons ont été pris. Augment cette valeur à 100000 échantillons (dans le programme
Code :
int n = 8192;
->
Code :
int n=100000;
duch
ouaip, j'ai réussi à le faire en changeant l'échelle, voilà le fichier pl :
d'ailleurs les valeurs de data.raw sont signées (bizarre?).
NB : en même temps c'est peut-être un problème d'échelle dans l'utilisation de GNUplot, mais comme j'y connais rien non plus à GNUplot...
jlighty
exactement il suffit de ne prendre que data.raw
d'ailleur tu peux retoucher le code source : efface tout le code alloué au calcul de la FFT
duch
donc en gros si au lieu d'utiliser data.dat, j'utilise data.raw, j'aurais mon audiogramme?
j'essaies ça tout de suite.
jlighty
en fait le fichier RAW est structuré de cette manière :
<numéro de l'échantillon> <valeur non signé de l'échantillon>
ex:
1 20
2 50
3 100
4 150
donc il suffit de traiter le fichier avec GNUPlot par ex pour afficher l'amplitude de l'échantillon en fonction du numéro d'échantillon :)
jlighty
Ah d'accord je comprend, fftux te retourne les fréquences utilisées alors que tu veux l'affichage de ton signal dans le domaine temporel :)
D'après le code source, il examine le fichier Wav pour créer un fichier RAW avant de faire la FFT.
Que contient ce fichier RAW ?
duch
bon bah après avoir tester tout ça, en fait ça ne renvoir pas du tout un audiogramme mais l'analyse du signal, et c'est pas ça que je cherche.
pour faire plus clair voilà ce que je cherche à obtenir :
Le programme en C va effectuer à partir d'un son wav sa tranformé de Fourier rapide.
Le script suivant va uniquement mettre en forme le résultat sous GNUPlot
jlighty
un programme en ligne de commande qui effectuerait une FFT sur une source sonore par exemple ?
par contre je doute que ce soit du temps réel
Scilab par exemple
duch
idéalement un programme qui exporte les points, mais si ça affiche en mode console, je pourrais récupérer les caractères ascii et me demmerder.
jlighty
c'est pour afficher en mode console ?
ou seulement un programme qui te fournie les "points"
duch
salut à tous,
dans la série des trucs bizarres, je cherche à récupérer l'audiogramme (le spectrogramme, enfin bref l'enveloppe du son) en ligne de commande, quelqu'un connait un soft pour faire ça? Genre un soft qui le sortirait sous la forme d'un graph ascii ou encore sous forme d'une liste de points...