2012-04-07 2 views
0

Je fais une application pour Android qui permettra d'enregistrer la commande vocale des utilisateurs, puis pendant que l'application est en cours d'exécution; compare les données en temps réel de l'entrée micro à celle qui est sauvegardée. Jusqu'à présent, j'ai enregistré la voix dans le fichier wav maintenant je veux le comparer au flux d'entrée. J'ai appliqué FFT en utilisant cette API comme il est compatible avec Android:Utilisation de FFT pour comparer deux fichiers audio, puis comparaison en temps réel

http://code.google.com/p/musicg/

Je ne sais pas beaucoup sur ce api mais soit, je pense que les données FFT sont stockées dans l'objet FrequencyTimeDomainRepresentation. J'ai cherché sur Internet et j'ai découvert que je devais utiliser une fenêtre pour comparer les données, mais je ne sais comment le faire. Je ne sais pas comment comparer les données.

Veuillez me dire comment comparer les données FFT et comment faire correspondre les données de fichier enregistrées avec les données de flux d'entrée, je veux dire le code. Pendant ce temps, j'essaie de comparer deux fichiers audio en utilisant java pas sur Android pour l'instant. Une aide serait appréciée, Merci.

+2

Vous devez vous renseigner sur le traitement du signal car cette question est trop large pour SO. –

Répondre

0

Comme mentionné dans le commentaire, il s'agit d'une question liée à dsp. Vous devriez demander des détails sur dspexchange.

Mais pour vous donner une réponse rapide et élégante. Définissez exactement ce que votre algortihm devrait faire. Devrait-il faire la reconnaissance vocale? Si vous voulez juste avoir une mesure simple pour simliarity utiliser la corrélation croisée (demander google). Vous n'avez pas non plus besoin de FFT pour ça (FFT a l'air d'être trop utilisé, ces derniers temps, tout le monde ne sait pas ce qu'il fait). Une FFT peut entrer en jeu une fois que vous savez ce que vous voulez faire et vous savez que vous en avez vraiment besoin; peut-être pour appliquer un modèle psychoacoustique. Mais même alors, une simple transformation de haar pourrait être plus suffisante, plus simple et plus rapide, surtout sur les appareils moblie.