Je veux générer un spectre audio (comme vu dans cette vidéo ) d'un fichier audio mp3. Fondamentalement, ce problème nécessite de calculer le fft du signal audio. Comment puis-je programmer cela en C/C++?
J'ai regardé quelques bibliothèques open source telles que FFTW et je ne sais vraiment pas comment les utiliser pour mon problème. Toute aide serait grandement appréciée. Merci d'avance!
Il y a pas mal de questions similaires/connexes sur SO déjà qui valent bien la peine d'être lues car les réponses contiennent beaucoup d'informations et de conseils utiles, mais en gros, vous devez le faire:
sqrt(re*re + im*im)
)20 * log10(magnitude)
)Notez que bien que la FFTW soit une très bonne et très rapide FFT, elle peut être un peu écrasante pour un débutant - elle est également très coûteuse si vous souhaitez l'inclure dans le cadre d'un produit commercial - je recommande de commencer par KissFFT = à la place.