Как работает шумоподавление в Android? - PullRequest
8 голосов
/ 07 августа 2011

Я наткнулся на этот относительно старый пост, в котором описывается, как впечатляюще работает шумоподавление Nexus One, и мне было интересно, где я могу найти больше информации о его реализации в программном обеспечении ОС.

Вв частности:

  1. Сколько из этого сделано с помощью программного обеспечения, а сколько - аппаратно?
  2. Какие модули в исходном коде Android отвечают за подавление шума?
  3. Могу ли я контролировать его поведение через Android API?(если да, то какие)
  4. Работает ли он также с микрофоном в гарнитуре, которая поставляется с Nexus One (4-контактный разъем 3,5 мм), или он работает только со встроенным микрофоном?

Ответы [ 2 ]

4 голосов
/ 13 августа 2011

Я знаю только ответ для Nexus One, но:

  1. Это сделано аппаратно.
  2. Не уверен.
  3. Нет.
  4. Может быть?

Для N1 он работает, используя второй микрофон сзади и сравнивая два сигнала.Я не знаю точно, как выполняется этот процесс (аппаратный или программный), но я знаю, что для этого нет API.Кроме того, он, вероятно, не работает для внешней гарнитуры, поскольку нет второго источника звука, с которым можно сравнить первый (если только в гарнитуре нет двух микрофонов, но я не думаю, что это так).

2 голосов
/ 18 августа 2011

О Nexus One:

  1. Вся аппаратная конфигурация только в программном обеспечении.
  2. Звуковые драйверы и звуковая система, но только конфигурация.
  3. Нет API, возможно, есть какая-то поддержкаКонфигурация, но я не смог заставить это работать.
  4. Нет, больше не отвечаю.

Я не нашел никаких признаков того, что для этого используется другой микрофоншумоподавление для гарнитуры.Это также не имело бы особого смысла, так как, скорее всего, просто попыталось бы отменить шум из вашего кармана.

Для большинства других телефонов Android и для гарнитуры на Nexus One я почти уверен, чтоэто всего лишь какой-то фильтр для уменьшения ввода звука, который не является речью.

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

http://groups.google.com/group/android-porting/browse_thread/thread/fe1b92065b75c6da?pli=1

С оговоркой, что я не смотрел на последние и лучшие версии Android.

...