Pierre87 Posté(e) 11 octobre 2010 Share Posté(e) 11 octobre 2010 Salut! J'ai besoin d'analyser un son sur mon téléphone Android. Mon projet consiste à encoder des informations (binaires) dans un son (audible, de manière non cachée), puis à le décoder sur un téléphone Android. Un peu à la manière d'un QRCode, mais dans un son :D C'est aussi très proche du fonctionnement d'un modem... Mais j'ai plusieurs problèmes : Tout d'abord, je ne sais pas comment encoder "correctement" des informations dans un son. J'ai cru comprendre qu'il fallait faire varier l'amplitude de certaines fréquences, mais je ne connais pas les bonnes méthodes. Comme ça ne concerne pas directement Android, j'ai crée un sujet ici : http://www.developpez.net/forums/d985603/general-developpement/conception/encodage-dinformation/ Si vous avez des idées, n'hésitez pas à m'aider :D Mon deuxième problème concerne en revanche directement Android. Pour décoder le son, il faut passer obligatoirement par une transformation de Fourier (FFT) ça consiste à décomposer mon signal en une somme d'onde de fréquences fixes, mais d'amplitudes variables. On passe donc d'une onde sonore assez complexe à un "spectre" Le soucis, c'est que c'est assez coûteux en temps de calcul, et j'ai besoin que mon programme puisse fonctionner en temps réel J'ai essayé plusieurs méthodes : - Une fonction basique, mais ça ne fonctionne pas en temps réel - JTransforms, ça passe juste sur un Nexus, mais beaucoup trop lent sur un Hero - Il ne me reste plus que JNI et le langage natif... La meilleur librairie en C pour faire des FFT semble être "fftw" Mais je ne vois absolument pas comment la compiler avec JNI :( Il y a plusieurs centaines de fichiers .c , et les exemples de JNI semblent beaucoup plus simples... Si il y a quelqu'un qui connait un peu JNI... son aide me serait précieuse ^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 11 octobre 2010 Share Posté(e) 11 octobre 2010 J'avais posé le même genre de question ssut stackoverflow quand j'avais eu l'idée de faire un filtre à vuvuzella en temps réel pendant la coupe de monde :D Il y a quelques éléments ici: http://stackoverflow.com/questions/962426/processing-audio-data-using-fourier-transforms-in-java Mais ca semble assez chaud. Pour créer un son, je te conseille matlab, mais il faut alors le faire manuellement! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.