Saya mencoba membuat penganalisis spektrum grafis dengan python.
Saat ini saya membaca 1024 byte aliran audio tingkat sampel 16 bit saluran ganda 44.100 Hz dan rata-rata amplitudo dari 2 saluran bersama-sama. Jadi sekarang saya memiliki serangkaian 256 celana pendek yang ditandatangani. Sekarang saya ingin membentuk fft pada array itu, menggunakan modul seperti numpy, dan menggunakan hasilnya untuk membuat penganalisis spektrum grafis, yang, untuk memulai, hanya akan menjadi 32 bar.
Saya telah membaca artikel wikipedia tentang Fast Fourier Transform dan Discrete Fourier Transform tetapi saya masih belum jelas tentang apa yang diwakili oleh array yang dihasilkan. Ini adalah tampilan array setelah saya membentuk fft pada array saya menggunakan 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...
Saya bertanya-tanya apa sebenarnya yang diwakili oleh angka-angka ini dan bagaimana saya akan mengubah angka-angka ini menjadi persentase ketinggian untuk masing-masing dari 32 batang. Selain itu, haruskah saya membuat rata-rata 2 saluran bersama-sama?