8
votes

iPhone: CPU Power pour faire DSP / Fourier Domain Transform / Fréquence?

Je veux analyser l'audio micro sur une base continue (pas seulement un échantillon Snipper ou préenregistré) et afficher un graphique de fréquence et filtrer certains aspects de l'audio. L'iPhone est-il assez puissant pour cela? Je soupçonne que la réponse est un oui, compte tenu de la reconnaissance vocale de Google et de l'iPhone, Shazaam et d'autres applications de reconnaissance de musique, ainsi que des applications de syntoniseur de guitare. Cependant, je ne sais pas quelles limitations je devrai traiter.

Quelqu'un joue avec cette zone?


0 commentaires

5 Réponses :


3
votes

Les applications que j'ai vues faire une sorte de reconnaissance musicale / voix ont besoin d'une connexion Internet, il est donc fort probable que celles-ci puissent donc tellement de calcul de fonctionnalité sur l'audio et envoient ces fonctionnalités via HTTP pour effectuer la reconnaissance sur le serveur.

Dans tous les cas, des graphiques de fréquence et de filtrage ont été effectués avant de réduire les processeurs il y a une douzaine d'années. L'iPhone ne doit pas être un problème.


0 commentaires

3
votes

Le code d'exemple d'Apple AurioTouch a une implémentation FFT.


2 commentaires

Merci. Wow. Est-ce que ces développeurs ont entendu parler des commentaires? Quelqu'un a-t-il fait un port Obj-C de leur C ++? Pas que ce soit aussi important, mais cela pourrait le rendre plus lisible.


VDSP et FFT font maintenant partie de OS4 avec l'ajout d'accélérateur.framework



0
votes

Vous ne pouvez pas simplement porter le code FFT écrit en C dans votre application ... Il y a l'option du compilateur de pouce qui complique l'arithmétique de point flottant. Vous devez le mettre en mode Bras


0 commentaires

2
votes

"assez rapide" peut être une fonction de vos attentes (ou de vos clients) sur la quantité de résolution de fréquence que vous recherchez et de votre taux d'échantillon de base.

Un N-Point FFT est sur l'ordre des calculs N * log2 (n), donc si vous n'avez pas assez de mips, la réduction de N est une zone de concession potentielle pour vous.

Dans de nombreuses applications, le taux d'échantillon est non négociable, mais s'il s'agissait, ce serait une autre possibilité.


2 commentaires

Le taux d'échantillonnage doit être le double de la fréquence la plus élevée que je pourrais rechercher, correct?


Correct. L'espacement entre les bacs dans le domaine de fréquence est fonction du nombre de points (n) dans votre FFT et la fréquence nyquiste est toujours en haut (la moitié de la fréquence d'échantillon).



1
votes

J'ai fait une application qui calcule la FFT Live

http://www.itus.com/apps/oscope

Vous pouvez trouver mon code pour la FFT sur github (bien que ce soit un peu rugueux)

http://github.com/alexbw/iphonefft

Le nouveau SDK iPhone OS 4.0 d'Apple permet un calcul intégré de la FFT avec la bibliothèque "Accélération", alors je commencerais certainement à travailler avec le nouveau système d'exploitation s'il s'agit d'une partie centrale de la fonctionnalité de votre application.


2 commentaires

Je pense que je vous ai vu mentionner oscope aujourd'hui sur la liste Coreaudio. Félicitations pour l'obtenir sur l'App Store!


Merci! Sérieux Bummer sur ces limitations de taux d'échantillonnage, mais l'iPhone est toujours une plate-forme incroyable pour l'analyse audio.