Микрофон Android, чтобы уловить определенный тон - PullRequest
5 голосов
/ 30 января 2011

Здравствуйте. Мне было интересно, можно ли с помощью класса генератора тона Android создать тональный сигнал на одном устройстве и прослушивать этот же тональный сигнал на другом устройстве. Если это возможно, у меня есть еще несколько вопросов.

Принимая во внимание фоновый шум, возможно ли слушать только этот конкретный тон?

Будет ли этот процесс ресурсоемким?

Могу ли я использовать тон, который будет не слышен человеческому уху или близок к нему?

Наконец, могу ли я использовать тональный сигнал, который можно услышать только на расстоянии нескольких футов от отправляющего устройства?

Большое спасибо за ваше время, парни и девушки :) 1011 *

Редактировать> Спасибо за добавление тега обработки звука sabastian. Гораздо лучше описание.

Ответы [ 2 ]

4 голосов
/ 30 января 2011

Было бы интенсивно использовать процессор, да. Путь к этому довольно прост: вам нужен постоянный регистратор, который помещает полученные данные в БПФ (быстрое преобразование Фурье). FFT в основном делает одно: разбивает звук на частоту / шкалу мощности. С таким результатом «очистки от фонового шума» вы можете проверить такие вещи, как «был ли сигнал с частотой 1000 Гц, играющий в течение не менее 2 секунд» - и действовать соответствующим образом. Здесь есть разумная скорость реализации FFT: http://www.badlogicgames.com/wordpress/?p=449 FFT также может использоваться (фактически, используется IS) для обнаружения двухтонального набора (DTMF) - две частоты одновременно намного лучше, чем просто одна (так как частота ошибок значительно снижается, и вы можете перейти на более короткую продолжительность для отправки тонального сигнала /detecting).

«Неразборчиво» будет невозможно, так как (а) динамик не может воспроизводить такие звуки (б) вы ограничены в частоте дискретизации, а также ограничены как в производстве, так и в записи таких высоких частот.

«пара футов» будет естественно накладываться (не очень громкий динамик, не очень хороший микрофон).

2 голосов
/ 24 июня 2012

Посмотрите на этот вопрос: "Android: необходимо записать микрофонный вход" .Я думаю, что вы можете изменить это для своей задачи, тогда со звуковыми байтами вы можете иметь фильтрацию или БПФ.

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

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