La versión de Android 10 incluye lo siguiente
requisitos para la captura con VOICE_COMMUNICATION
.
- Las implementaciones deben proporcionar un cancelador de eco acústico (AEC) en la ruta de captura cuando
la captura con
VOICE_COMMUNICATION
. - Si se proporciona un AEC, este debe ser detectable y controlable a través de las APIs del SDK
AcousticEchoCanceler
La plataforma de Android ofrece efectos de audio en los dispositivos compatibles de la
audiofx
, que está disponible para que accedan los desarrolladores.
Por ejemplo, Nexus 10 admite los siguientes efectos de procesamiento previo:
Cómo sincronizar con instancias de AudioSource
Los efectos de procesamiento previo se combinan con el modo de caso de uso en el que
el procesamiento previo. En el desarrollo de apps para Android, se hace referencia a un caso de uso
como una instancia AudioSource
; y desarrolladores de apps solicitan usar la
Abstracción de AudioSource
en lugar del hardware de audio real
dispositivo. Android Audio Policy Manager asigna una instancia de AudioSource
a una
la configuración de la ruta de captura (incluidos el dispositivo, la ganancia y el procesamiento previo)
a las reglas específicas de cada producto. Las siguientes fuentes se exponen a los desarrolladores:
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
Los efectos de procesamiento previo predeterminados que se aplican a cada instancia de AudioSource
se especifican en el archivo /vendor/etc/audio_effects.xml
. Para
especifica tus propios efectos predeterminados para cada instancia de AudioSource
, crea una
/vendor/etc/audio_effects.xml
y especifica la
de procesamiento previo. Para ver un ejemplo, consulta la implementación de
el Nexus 10 en device/samsung/manta/audio_effects.xml
.
Las instancias AudioEffect
adquieren y liberan una sesión cuando se crean y se destruyen,
permitir que los efectos (como el Amplificador de volumen) persistan durante la
sesión.
En el siguiente ejemplo, se habilita el procesamiento previo de VoIP
Instancias AudioSource
y Videocámaras AudioSource
. Declarando
la configuración de AudioSource
de esta manera, el framework
solicita automáticamente el uso de esos efectos de la HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Ajuste de fuente
El ajuste de AudioSource
no tiene requisitos explícitos en el audio
o procesamiento de audio, con la excepción del reconocimiento de voz
(VOICE_RECOGNITION
) Estos son algunos de los requisitos del reconocimiento de voz:
- Respuesta de frecuencia plana (+/- 3 dB) de 100 Hz a 4 kHz
- Configuración de conversación cerrada: SPL de 90 dB lee RMS de 2,500 (muestras de 16 bits)
- El nivel realiza seguimientos linealmente de -18 dB a +12 dB en relación con 90 dB de SPL
- THD < 1% (90 dB de SPL en un rango de 100 a 4,000 Hz)
- Requisitos casi ultrasónicos (para las pruebas, consulta
Ecografía cercana
Pruebas):
- Compatibilidad con
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
, como se define en la sección 7.8.3 del CDD. - Compatibilidad con una o ambas tasas de muestreo 44100 o 48000 sin paso de banda o filtros de suavizado de contorno.
- Compatibilidad con
- Efectos/procesamiento previo inhabilitados de forma predeterminada
Estos son algunos ejemplos de ajustes de diferentes efectos para distintas fuentes:
- Supresor de ruido
- Ajustado para el silenciador de ruido del viento de
CAMCORDER
- Ajustado para el supresor de ruido fijo de
VOICE_COMMUNICATION
- Ajustado para el silenciador de ruido del viento de
- Control automático de ganancia
- Ajustado para la conversación estrecha de
VOICE_COMMUNICATION
y el teléfono principal micrófono - Ajustado para la diafonía de
CAMCORDER
- Ajustado para la conversación estrecha de
Recursos
Para obtener más información, consulta los siguientes recursos:
- Documentación de Android sobre fx de audio paquete
- Documentación de Android sobre Ruido Efecto de audio de supresión
- Archivo
/device/google/crosshatch/audio_effects.xml
para el Pixel 3