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

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

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

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

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

Эффекты предварительной обработки связаны с режимом варианта использования, в котором запрашивается предварительная обработка. При разработке приложений для Android вариант использования называется экземпляром AudioSource ; и разработчики приложений просят использовать абстракцию AudioSource вместо реального аудиоустройства. Диспетчер политик аудио Android сопоставляет экземпляр 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 приобретают и освобождают сеанс при создании и уничтожении, позволяя эффектам (например, усилителю громкости) сохраняться на протяжении всего сеанса.

В следующем примере включается предварительная обработка для экземпляров 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 дБ.
  • THD < 1% (УЗД 90 дБ в диапазоне от 100 до 4000 Гц)
  • Требования к ближнему ультразвуку (информацию о тестировании см. в разделе «Испытания на ближнем ультразвуке» ):
    • Поддержка SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND , как определено в разделе 7.8.3 CDD.
    • Поддержка одной или обеих частот дискретизации 44100 или 48000 без полосовых фильтров или фильтров сглаживания.
  • Эффекты/предварительная обработка отключены по умолчанию

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

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

Ресурсы

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