В Android 10 для захвата с помощью VOICE_COMMUNICATION действуют следующие требования:
- Реализации должны обеспечивать акустическое эхоподавление (AEC) на пути захвата при захвате с помощью
VOICE_COMMUNICATION. - Если вы предоставляете AEC, он должен быть доступен и управляться через API SDK
AcousticEchoCanceler.
Платформа Android предоставляет аудиоэффекты на поддерживаемых устройствах в пакете
audiofx, который доступен разработчикам.
Например, Nexus 10 поддерживает следующие эффекты предварительной обработки:
Связывание с экземплярами AudioSource
Эффекты предварительной обработки связаны с режимом использования, в котором она запрашивается. В разработке приложений для Android вариант использования называется экземпляром AudioSource. Разработчики приложений запрашивают использование абстракции AudioSource вместо реального аудиооборудования. Менеджер правил Android Audio сопоставляет экземпляр AudioSource с заданной конфигурацией пути записи (включая устройство, усиление и предварительную обработку) в соответствии с правилами для конкретного продукта. Разработчикам доступны следующие источники:
android.media.MediaRecorder.AudioSource.CAMCORDERandroid.media.MediaRecorder.AudioSource.VOICE_COMMUNICATIONandroid.media.MediaRecorder.AudioSource.VOICE_CALLandroid.media.MediaRecorder.AudioSource.VOICE_DOWNLINKandroid.media.MediaRecorder.AudioSource.VOICE_UPLINKandroid.media.MediaRecorder.AudioSource.VOICE_RECOGNITIONandroid.media.MediaRecorder.AudioSource.MICandroid.media.MediaRecorder.AudioSource.DEFAULT
Эффекты предварительной обработки по умолчанию, применяемые к каждому экземпляру AudioSource, указаны в файле /vendor/etc/audio_effects.xml. Чтобы задать собственные эффекты по умолчанию для каждого экземпляра AudioSource, создайте файл /vendor/etc/audio_effects.xml и укажите эффекты предварительной обработки, которые нужно включить. Пример реализации для Nexus 10 можно найти в файле device/samsung/manta/audio_effects.xml.
Экземпляры AudioEffect получают и освобождают сеанс при создании и уничтожении, что позволяет сохранять эффекты (например, усиление громкости) на протяжении всего сеанса.
В следующем примере показано, как включить предварительную обработку для экземпляров VoIP AudioSource и Camcorder AudioSource. Если вы объявите конфигурацию AudioSource таким образом, фреймворк автоматически запросит использование этих эффектов у HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Настройка источников
Настройка AudioSource не предъявляет особых требований к усилению звука или обработке аудио, за исключением распознавания речи (VOICE_RECOGNITION). Требования к распознаванию речи:
- Ровная амплитудно-частотная характеристика (+/- 3 дБ) в диапазоне от 100 Гц до 4 кГц.
- Конфигурация для разговора на близком расстоянии: 90 дБ УЗД, среднеквадратическое значение 2500 (16-битные выборки)
- Уровень линейно отслеживается от -18 дБ до +12 дБ относительно 90 дБ SPL.
- THD < 1% (90 дБ SPL в диапазоне 100–4000 Гц)
- Требования к почти ультразвуковому диапазону (для тестирования см. раздел Тестирование почти ультразвукового диапазона):
- Поддержка
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND, как определено в разделе 7.8.3 документа определения совместимости (CDD). - Поддержка одной или обеих частот дискретизации (44 100 или 48 000 Гц) без полосовых или сглаживающих фильтров.
- Поддержка
- Эффекты и предварительная обработка отключены по умолчанию
Примеры настройки разных эффектов для разных источников:
- Шумоподавление
- Настройка подавления шума ветра для
CAMCORDER - Настроенный подавитель стационарного шума для
VOICE_COMMUNICATION
- Настройка подавления шума ветра для
- Автоматическая регулировка усиления
- Настроено для разговора на близком расстоянии для
VOICE_COMMUNICATIONи основного микрофона телефона - Настроено на речь на расстоянии для
CAMCORDER
- Настроено для разговора на близком расстоянии для
Ресурсы
Дополнительную информацию можно найти в следующих ресурсах:
- Документация Android по пакету audiofx
- Документация Android по аудиоэффекту шумоподавления
/device/google/crosshatch/audio_effects.xmlдля Pixel 3