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