Клиентский микрофон Анализ заметок - PullRequest
1 голос
/ 24 июня 2011

Итак, я надеюсь создать RIA, которая позволит анализировать аудиопоток с микрофона пользователя в любой момент времени, чтобы я мог определить, что это за нота.Я думаю, что я могу довольно легко обнаружить ноты с частотой, но такая обработка на лету кажется невозможной во флэш-памяти (мой предпочтительный выбор), и я не нашел на ней ничего, что я могу понять в форме Java.апплет (менее предпочтительный, но хорошо).

Кто-нибудь может указать мне правильное направление?Есть ли способ сделать это во флэш-памяти без огромной задержки, отправив его на мой сервер и обратно?Если нет, то как я могу сделать это на Java?

Спасибо

Ответы [ 2 ]

1 голос
/ 13 октября 2011

Возможно, вы захотите взглянуть и на мой код анализатора спектра.https://gerrybeauregard.wordpress.com/2010/08/06/real-time-spectrum-analysis/ Используется класс FFT и микрофонный вход в реальном времени.Чтобы сделать действительно простой детектор основного тона, вы можете просто найти самый высокий пик в спектре амплитуды и выполнить квадратичную интерполяцию пика и бинов с обеих сторон, чтобы получить разрешение по частоте суб-бина.Использование самого высокого пика отлично работает, если вы пытаетесь идентифицировать отдельные ноты, а структура обертонов инструментов такова, что основной является самая сильная гармоника (что часто имеет место).

1 голос
/ 24 июня 2011

Вы можете использовать SoundMixer для вычисления спектра.Для определения фактического шага вам необходима дальнейшая обработка спектра.

SoundMixer.computeSpectrum(ba,true,0);

http://en.wikipedia.org/wiki/Pitch_detection_algorithm

С помощью частотного спектра вы можете сделать это в ActionScript на стороне клиента.Вычисления просты, поэтому они не будут беспокоить пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...