Je tente d'extraire des données de hauteur d'un flux audio. D'après ce que je peux voir, il semble que FFT soit le meilleur algorithme à utiliser.Algorithme FFT: Que se passe-t-il dans IN/OUT? (re: détection de hauteur en temps réel)
Plutôt que de creuser directement dans les maths, quelqu'un pourrait-il m'aider à comprendre ce que fait cet algorithme FFT?
Veuillez ne pas dire quelque chose d'évident comme 'FFT extrait les données de fréquence d'un signal brut.' J'ai besoin du prochain niveau de détail.
Qu'est-ce que je passe, et qu'est-ce que je sors? Une fois que je comprends clairement l'interface, cela m'aidera à comprendre la mise en œuvre. Je suppose que je dois passer dans un tampon audio, j'ai besoin de lui dire combien d'octets utiliser pour chaque calcul (disons les 1024 octets les plus récents de ce tampon). et peut-être que je dois spécifier la gamme d'emplacements que je veux qu'il détecte. Maintenant, il va repasser quoi? Un tableau de bacs de fréquence? Qu'est-ce que c'est?
(Edit :) J'ai trouvé un algorithme C++ à utiliser (si je ne peux le comprendre)
extraits plantent Performous du microphone. De plus, le code est open source. Voici une description de ce que fait l'algorithme, du type qui l'a codé.
- entrée PCM (avec mise en mémoire tampon)
- FFT (1024 échantillons à la fois, supprimer 200 échantillons de l'avant de la mémoire tampon après)
- procédé de réallocation (contre la FFT précédente qui était de 200 échantillons précédemment)
- filtrage des pics (cette partie pourrait se faire beaucoup mieux ou même omis)
- la combinaison des pics en ensembles d'harmoniques (que nous appelons la combinaison d'un ton)
- filtrage temporel des tons (mettre à jour l'ensemble de tonalités DETECT ed plus tôt au lieu de simplement en utilisant les nouveaux détectés)
- Choisissez la meilleure tonalité vocale (limite de fréquence, pondération, pourrait utiliser le tableau harmonique aussi, mais je ne pense pas que nous faisons)
Mais quelqu'un pourrait aider je comprends comment cela fonctionne? Qu'est-ce qui est envoyé de la FFT à la méthode de réaffectation?
De nombreuses duplications, par ex. [Détection de terrain en temps réel utilisant FFT] (http://stackoverflow.com/questions/1466968/real-time-pitch-detection-using-fft) –
Notez également que 'pitch' n'est pas la même chose que' frequency' - Assurez-vous de bien comprendre la différence car votre solution sera très différente si vous voulez mesurer l'un ou l'autre. –