Ich möchte MIC-Audio fortlaufend analysieren (nicht nur einen Snipper oder ein vorbespieltes Sample) und Frequenzgraphen anzeigen und bestimmte Aspekte des Audios herausfiltern. Ist das iPhone stark genug dafür? Ich vermute, dass die Antwort ein Ja ist, wenn man die Google- und iPhone-Spracherkennung, Shazaam und andere Apps zur Musikerkennung sowie die Apps für Gitarrentuner berücksichtigt. Allerdings weiß ich nicht, mit welchen Einschränkungen ich umgehen muss.
Irgendjemand mit diesem Bereich herumspielen?
Die Apps, die ich gesehen habe, machen eine Art Musik / Spracherkennung benötigt eine Internetverbindung, also ist es sehr wahrscheinlich, dass diese nur eine Art von Feature-Berechnung auf dem Audio und senden diese Funktionen über http, um die Erkennung zu tun der Server.
In jedem Fall wurden Frequenzdiagramme und Filterungen schon vor einem Dutzend Jahren auf kleineren CPUs durchgeführt. Das iPhone sollte kein Problem sein.
"Fast genug" kann eine Funktion Ihrer (oder Ihrer Kunden-) Erwartungen sein, wie viel Frequenzauflösung Sie suchen und wie hoch die Basis-Abtastrate ist.
Eine N-Punkt-FFT liegt in der Größenordnung von N * log2 (N) -Bewertungen. Wenn Sie also nicht genug MIPS haben, ist die Reduzierung von N ein potenzieller Konzessionsbereich für Sie.
In vielen Anwendungen ist die Abtastrate nicht verhandelbar, aber wenn dies der Fall wäre, wäre dies eine weitere Möglichkeit.
Ich habe eine App erstellt, die die FFT live berechnet
Sie können meinen Code für die FFT auf GitHub finden (obwohl es ein bisschen grob ist)
Apples neues iPhone OS 4.0 SDK ermöglicht die integrierte Berechnung der FFT mit der "Accelerate" -Bibliothek, also würde ich definitiv mit dem neuen Betriebssystem arbeiten, wenn es ein zentraler Teil der Funktionalität Ihrer App ist.
Sie können nur FFT-Code, der in C geschrieben ist, in Ihre App portieren ... da ist die Thumb-Compiler-Option, die Fließkommaarithmetik verkompliziert. Sie müssen es in den Armmodus versetzen
Tags und Links iphone audio fft signal-processing