Die FFT-Erkennung für iOS mit Accelerate-Framework?
Habe ich gelesen, bis auf FFT-und Pitch-Erkennung für eine Weile jetzt, aber ich habe Schwierigkeiten, Sie setzen es alle zusammen.
Habe ich rausgefunden, dass der Accelerate-framework ist wahrscheinlich der beste Weg zu gehen mit diesem, und ich habe den Beispiel code von apple, um zu sehen, wie man es für FFTs. Was ist der input-Daten für die FFT, wenn ich wollte mit der Erkennung der Tonhöhe in Echtzeit? Sehe ich genauso, pass in den audio-stream vom Mikrofon? Wie kann ich dies tun?
Auch, nachdem ich den FFT-Ausgang, wie kann ich die Frequenz ab? Ich lese überall, und finde keine Beispiele oder Erklärungen dafür?
Vielen Dank für jede Hilfe.
- Diese Frage enthält viele detaillierte Informationen, hat mir sehr geholfen, wenn ich benötigt um ein pitch-Extraktion Funktion. Mit der apple-FFT und beschleunigen Framework
- möglich, Duplikat der FFT auf dem iPhone zu ignorieren, Hintergrundgeräusche und finden unteren Plätze
Du musst angemeldet sein, um einen Kommentar abzugeben.
Frequenz und Tonhöhe sind nicht das gleiche - Frequenz ist eine physikalische Größe, die Tonhöhe ist eine psychologische Wahrnehmung - Sie sind ähnlich, aber es gibt wichtige Unterschiede, die möglicherweise oder möglicherweise nicht von Bedeutung, abhängig von der Art des Instruments, für die Sie versuchen, Messen Sie die Tonhöhe.
Sollten Sie Lesen, ein wenig auf die verschiedenen pitch-Detektions-algorithmen (und auf die Bedeutung der pitch selbst), zu entscheiden, welchen Algorithmus Sie verwenden möchten, und nur dann zu implementieren. Sehen dieser Wikipedia-Seite für einen guten überblick über pitch und Erkennung der Tonhöhe (beachten Sie, dass Sie verwenden können Sie die FFT für die Autokorrelation basierende und Frequenzbereichs-Methoden).
Wie für die Verwendung der FFT zu identifizieren von peaks in einem Spektrum und die zugehörigen Frequenzen, es gibt viele Fragen und Antworten zu diesem auf, SO schon, siehe zum Beispiel: Wie bekomme ich die Frequenzen der einzelnen Werte in eine FFT?
Habe ich ein Beispiel für die Implementierung einer Autokorrelation-Funktion online verfügbar für ios 5.1. Blick auf dieser Beitrag für einen link auf die Durchführung UND die Funktionen, wie finden Sie den nächsten Hinweis und so erstellen Sie ein string, der die Tonhöhe (A, A#, B, B#, etc...)
Während die FFT ist sehr nützlich in vielen Anwendungen, ist es vielleicht nicht die genauesten, wenn Sie versuchen zu tun, einfache Erkennung der Tonhöhe. (Es kann sein so genau, aber Sie haben für den Umgang mit komplexen zahlen zu tun, eine Menge, die phase der Berechnungen)