Comment puis-je obtenir DFT/FFT sortie des fréquences en Hertz?

Je veux développer des notes de musique détecteur de mon diplôme de projet et je veux le faire à partir de zéro. J'ai écrit du code pour ".wav fichier" qui extrait toutes les informations de ce musique audio fichier et me donne de l'amplitude à la suite.

Puis j'ai écrit un code de VDF - il me donne en sortie un nombre complexe où l'un des deux axes (réel/imaginaire) est l'amplitude et l'ampleur et l'autre est en Phase.

Maintenant la question que je veux la réponse en fréquence (en Hertz pas dans le vecteur) afin que je puisse vérifier si ma DFT me donne la bonne sortie ou pas. Comment puis-je convertir mon DFT sortie en fréquence ?

J'ai ce code en langage C et je ne veux pas utiliser tout intégré dans la bibliothèque

Quand vous dites que l'axe réel est de l'amplitude et de l'imaginaire est la phase, calculez-vous que vous-même? Ou simplement de tirer que directement à partir de la DFT? Lorsque vous obtenez le résultat complexe d'une DFT, l'amplitude est la valeur absolue de ce résultat, et la phase est l'angle (aka argument) du résultat.
Oui, je suis le calcul de la DFT moi-même,signifie que je suis la formule qui est " Sigma k=0 -> N-1 ,Pour tout f(x)* WN,ici WN=e^(-i 2 PI /N)" c'est comme ça ...je viens de convertir cette formule dans mon programme C.
La corbeille de fréquence à la pointe de la FFT ampleur est très souvent pas la hauteur de note de musique audio.
J'ai appris cela à la dure. Quelle est la bonne approche pour trouver la hauteur dominante dans un clip audio, puis?

OriginalL'auteur mossad | 2013-06-30