J'essaye de créer un analyseur de spectre graphique en python.
Je lis actuellement 1024 octets d'un flux audio de fréquence d'échantillonnage de 44,100 Hz à deux canaux 16 bits et je fais la moyenne de l'amplitude des 2 canaux ensemble. Alors maintenant, j'ai une gamme de 256 courts-métrages signés. Je veux maintenant préformer un fft sur ce tableau, en utilisant un module comme numpy, et utiliser le résultat pour créer l'analyseur de spectre graphique, qui, pour commencer, n'aura que 32 barres.
J'ai lu les articles de wikipedia sur la transformation de Fourier rapide et la transformation de Fourier discrète, mais je ne sais toujours pas ce que représente le tableau résultant. Voici à quoi ressemble le tableau après avoir préformé un fft sur mon tableau en utilisant numpy:
[ -3.37260500e+05 +0.00000000e+00j 7.11787022e+05 +1.70667403e+04j
4.10040193e+05 +3.28653370e+05j 9.90933073e+04 +1.60555003e+05j
2.28787050e+05 +3.24141951e+05j 2.09781047e+04 +2.31063376e+05j
-2.15941453e+05 +1.63773851e+05j -7.07833051e+04 +1.52467334e+05j
-1.37440802e+05 +6.28107674e+04j -7.07536614e+03 +5.55634993e+03j
-4.31009964e+04 -1.74891657e+05j 1.39384348e+05 +1.95956947e+04j
1.73613033e+05 +1.16883207e+05j 1.15610357e+05 -2.62619884e+04j
-2.05469722e+05 +1.71343186e+05j -1.56779748e+04 +1.51258101e+05j
-2.08639913e+05 +6.07372799e+04j -2.90623668e+05 -2.79550838e+05j
-1.68112214e+05 +4.47877871e+04j -1.21289916e+03 +1.18397979e+05j
-1.55779104e+05 +5.06852464e+04j 1.95309737e+05 +1.93876325e+04j
-2.80400414e+05 +6.90079265e+04j 1.25892113e+04 -1.39293422e+05j
3.10709174e+04 -1.35248953e+05j 1.31003438e+05 +1.90799303e+05j...
Je me demande ce que représentent exactement ces nombres et comment je les convertirais en pourcentage d'une hauteur pour chacune des 32 barres. Aussi, dois-je faire la moyenne des 2 canaux ensemble?