Обнаружить начало звука или голоса в Android - PullRequest
5 голосов
/ 11 января 2011

Я бы хотел послушать микрофон (наверное, с помощью AudioRecord) и выполнить какое-то действие в тот самый момент, когда человек начинает говорить. Я знаю, что могу буферизовать аудио с помощью AudioRecord, но как мне его проанализировать?

1 Ответ

9 голосов
/ 11 января 2011

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

Кроме того, информация, которую я нашел до сих пор, указывает на то, что Android не поддерживает анализ живого звука с микрофона. Все эти другие приложения, которые кажутся «живыми», на самом деле просто берут кучу небольших выборок и очень быстро анализируют их, чтобы они казались живыми. 500 миллисекундная выборка каждые 300 миллисекунд, кажется, распространена.

К счастью, на стороне моей работы по программированию, я также звукорежиссер, поэтому я могу сказать вам, что (если бы вы захотели заняться работой), есть способ обнаружить реальный голос, а не просто звук. Каждый голос разделен на несколько различных соотношений частот, которые объединяются, чтобы сделать голос, который мы слышим, и коэффициенты каждого голоса остаются довольно постоянными, в то время как коэффициенты каждого отдельного голоса различны (именно поэтому работают голосовые пароли). Итак, если вы смогли взять сэмпл, разбейте его на частоты около 10 Гц каждая и наблюдайте за амплитудой каждого, и когда вы получите шаблон частоты / амплитуды, который похож на голос, а не просто «белый шум» "Вы бы были в бизнесе. ДЕЛАЯ что, однако, не кажется, что это будет легко вообще. Нечто подобное было сделано ранее с приложением SpectralView, которое отображает весь спектр аудио разбитых.

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

В заключение, как вы анализируете это? Ну, вам придется искать шаблон на частотах, который выглядит как голос. Как вы делаете , что ? Ну, если честно, я точно не знаю. Сожалею.

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