Настройка эффектов предварительной обработки

В релиз Android 10 включены следующие требования для захвата речи с помощью VOICE_COMMUNICATION .

  • В реализациях следует предусмотреть акустический эхоподавляющий модуль (AEC) на пути захвата при использовании параметра VOICE_COMMUNICATION .
  • Если используется система подавления эха (AEC), она должна быть обнаруживаема и управляема через компонент AcousticEchoCanceler в API SDK.

Платформа Android предоставляет звуковые эффекты для поддерживаемых устройств в пакете audiofx , который доступен разработчикам. Например, Nexus 10 поддерживает следующие эффекты предварительной обработки:

Сопряжение с экземплярами AudioSource

Эффекты предварительной обработки связаны с режимом использования, в котором запрашивается предварительная обработка. В разработке приложений для Android сценарий использования называется экземпляром AudioSource ; и разработчики приложений запрашивают использование абстракции AudioSource вместо фактического аудиоустройства. Менеджер политик Android Audio сопоставляет экземпляр AudioSource с заданной конфигурацией пути захвата (включая устройство, усиление и предварительную обработку) в соответствии с правилами, специфичными для продукта. Разработчикам доступны следующие источники:

  • android.media.MediaRecorder.AudioSource.CAMCORDER
  • android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION
  • android.media.MediaRecorder.AudioSource.VOICE_CALL
  • android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK
  • android.media.MediaRecorder.AudioSource.VOICE_UPLINK
  • android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION
  • android.media.MediaRecorder.AudioSource.MIC
  • android.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 получают и освобождают сессию при создании и уничтожении, что позволяет эффектам (таким как Loudness Enhancer) сохраняться на протяжении всей сессии.

В следующем примере включена предварительная обработка для экземпляров 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.
    • Поддержка одной или обеих частот дискретизации: 44100 или 48000 без полосовых или сглаживающих фильтров.
  • Эффекты/предварительная обработка отключены по умолчанию.

Примерами настройки различных эффектов для разных источников являются:

  • Шумогаситель
    • Настроен на подавление шума ветра для CAMCORDER
    • Настроен для стационарного шумоподавления в целях VOICE_COMMUNICATION
  • Автоматическая регулировка усиления
    • Настроено для разговоров на близком расстоянии для VOICE_COMMUNICATION и основного микрофона телефона.
    • Настроено для дальней связи с CAMCORDER

Ресурсы

Для получения более подробной информации обратитесь к следующим ресурсам: