Android-спектральный анализ потокового ввода - PullRequest
2 голосов
/ 21 сентября 2010

для школьного проекта. Я пытаюсь создать приложение для Android, которое после запуска будет выполнять спектральный анализ живого звука, полученного с микрофона или гарнитуры Bluetooth.Я знаю, что должен использовать FFT, и искал аудиоанализатор с открытым исходным кодом Moonblink (http://code.google.com/p/moonblink/wiki/Audalyzer), но не знаком с разработкой для Android, и его код оказывается слишком сложным для меня, чтобы работать с ним.

Итак, я полагаю, у меня есть вопросы: есть ли более простые приложения на базе Java или приложения с открытым исходным кодом для Android, которые выполняют спектральный анализ, на который я могу сослаться?Или есть какая-либо полезная информация, которая может быть предоставлена, например;шаги, которые необходимо предпринять, чтобы получить вход для микрофона, ввести его в алгоритм FFT, а затем отобразить график частоты и высоты тона от его выхода?

Любая помощь будет признательна, спасибо.

1 Ответ

3 голосов
/ 16 февраля 2011

Предложение ....

  1. Это зависит от того, для чего вы хотите его использовать. Если вам не нужен весь спектр, тогда вам может понадобиться только фильтр, который легко достигается с помощью КИХ-фильтра. Обратите внимание, что вы можете получить 3 полосы (LP, BP и HP) очень быстро, осознав, что HP использует те же множители, что и LP, только некоторые значения являются вычитаниями, а не сложениями. Аналогично, BP получается путем вычитания LP и HP из исходных данных (все проходы). Так что, если вы правильно его кодируете, вы можете получить очень быстрый 3-х полосный анализатор ... если это все, что вам нужно.

  2. Если вы хотите использовать FFT, вы можете посмотреть, не существует ли уже доступного FFT в библиотеках Java, написанных на C с использованием интерфейса JNI (NDK). Это будет намного быстрее, чем писать свой собственный в Java.

Надеюсь, это поможет.

...