В релиз Android 10 включены следующие требования для захвата речи с помощью VOICE_COMMUNICATION .
- В реализациях следует предусмотреть акустический эхоподавляющий модуль (AEC) на пути захвата при использовании параметра
VOICE_COMMUNICATION. - Если используется система подавления эха (AEC), она должна быть обнаруживаема и управляема через компонент
AcousticEchoCancelerв API SDK.
The Android platform provides audio effects on supported devices in the audiofx package, which is available for developers to access. For example, the Nexus 10 supports the following preprocessing effects:
Сопряжение с экземплярами AudioSource
Preprocessing effects are paired with the use case mode in which the preprocessing is requested. In Android app development, a use case is referred to as an AudioSource instance; and app developers request to use the AudioSource abstraction instead of the actual audio hardware device. The Android Audio Policy Manager maps an AudioSource instance to a given capture path configuration (including device, gain, and pre processing) according to product-specific rules. The following sources are exposed to developers:
-
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
The default preprocessing effects applied for each AudioSource instance are specified in the /vendor/etc/audio_effects.xml file. To specify your own default effects for every AudioSource instance, create a /vendor/etc/audio_effects.xml file and specify the preprocessing effects to turn on. For an example, see the implementation for the Nexus 10 in device/samsung/manta/audio_effects.xml . AudioEffect instances acquire and release a session when created and destroyed, enabling the effects (such as the Loudness Enhancer) to persist throughout the session.
The following example enables preprocessing for the VoIP AudioSource and Camcorder AudioSource instances. By declaring the AudioSource configuration in this manner, the framework automatically requests the use of those effects from the HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Настройка источника
AudioSource tuning doesn't have explicit requirements on audio gain or audio processing with the exception of voice recognition ( VOICE_RECOGNITION ). Requirements for voice recognition include:
- Плоская частотная характеристика (+/- 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
- Настроено для разговоров на близком расстоянии для
Ресурсы
Для получения более подробной информации обратитесь к следующим ресурсам:
- Документация Android для пакета audiofx
- Документация Android по эффекту подавления шума
- файл
/device/google/crosshatch/audio_effects.xmlдля Pixel 3