Je souhaite créer un programme permettant d’enregistrer des données audio à l’aide de PortAudio (cette partie est terminée), puis d’afficher les informations de fréquence de l’audio enregistré (pour l’instant, j’aimerais afficher la fréquence moyenne de chacun des groupes d’échantillons. comme ils entrent).
Des recherches que j’ai effectuées, je sais que je dois faire une FFT. J’ai donc cherché sur Google une bibliothèque pour le faire, en C, et j’ai trouvé FFTW.
Cependant, maintenant je suis un peu perdu. Que dois-je faire exactement avec les échantillons que j’ai enregistrés pour en extraire des informations de fréquence? Quel type de FFT devrais-je utiliser (je suppose que j’aurais besoin de données réelles 1D?)?
Et une fois que je réalise la FFT, comment puis-je obtenir les informations de fréquence à partir des données qu’elles me fournissent?
EDIT: J’ai maintenant trouvé aussi l’algorithme d’autocorrélation. Est-ce mieux? Plus simple?
Merci beaucoup d’avance, et désolé, je n’ai absolument aucune expérience en la matière. J’espère que cela fait au moins un peu de sens.
Pour convertir vos échantillons audio en spectre de puissance:
magnitude = sqrt(re^2 + im^2)
) magnitude_dB = 20*log10(magnitude)
)