A versão do Android 10 inclui os seguintes requisitos para captura com VOICE_COMMUNICATION
.
- As implementações devem fornecer um cancelador de eco acústico (AEC) no caminho de captura ao capturar com
VOICE_COMMUNICATION
. - Se estiver fornecendo um AEC, ele deve ser detectável e controlável por meio do
AcousticEchoCanceler
da API do SDK.
A plataforma Android fornece efeitos de áudio em dispositivos suportados no pacote audiofx
, que está disponível para os desenvolvedores acessarem. Por exemplo, o Nexus 10 suporta os seguintes efeitos de pré-processamento:
Emparelhando com AudioSources
Os efeitos de pré-processamento são emparelhados com o modo de caso de uso no qual o pré-processamento é solicitado. No desenvolvimento de aplicativos Android, um caso de uso é referido como uma instância AudioSource
; e os desenvolvedores de aplicativos solicitam o uso da abstração AudioSource
vez do dispositivo de hardware de áudio real. O Android Audio Policy Manager mapeia uma instância AudioSource
para uma determinada configuração de caminho de captura (incluindo dispositivo, ganho e pré-processamento) de acordo com regras específicas do produto. As seguintes fontes são expostas aos desenvolvedores:
-
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
Os efeitos de pré-processamento padrão aplicados a cada instância AudioSource
são especificados no arquivo /vendor/etc/audio_effects.xml
. Para especificar seus próprios efeitos padrão para cada instância AudioSource
, crie um arquivo /vendor/etc/audio_effects.xml
e especifique os efeitos de pré-processamento a serem /vendor/etc/audio_effects.xml
. Para obter um exemplo, consulte a implementação do Nexus 10 em device/samsung/manta/audio_effects.xml
. AudioEffect
instâncias de AudioEffect
adquirem e liberam uma sessão quando criadas e destruídas, permitindo que os efeitos (como o Loudness Enhancer) persistam durante a sessão.
O exemplo a seguir habilita o pré-processamento para as AudioSource
VoIP AudioSource
e Camcorder AudioSource
. Ao declarar a configuração AudioSource
dessa maneira, o framework solicita automaticamente o uso desses efeitos do HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Ajuste de fonte
AudioSource
ajuste de AudioSource
não tem requisitos explícitos sobre ganho de áudio ou processamento de áudio, com exceção de reconhecimento de voz ( VOICE_RECOGNITION
). Os requisitos para reconhecimento de voz incluem:
- Resposta de frequência plana (+/- 3 dB) de 100 Hz a 4 kHz
- Close-talk config: 90 dB SPL lê RMS de 2500 (amostras de 16 bits)
- O nível rastreia linearmente de -18 dB a +12 dB em relação a 90 dB SPL
- THD <1% (90 dB SPL na faixa de 100 a 4000 Hz)
- Requisitos de ultrassom próximo (para testes, consulte Testes de ultrassom próximo ):
- Suporte para
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
conforme definido na seção 7.8.3 do CDD. - Suporte para uma ou ambas as taxas de amostragem de 44100 ou 48000 sem filtros passa-banda ou antialiasing.
- Suporte para
- Efeitos / pré-processamento desativados por padrão
Exemplos de ajuste de efeitos diferentes para fontes diferentes são:
- Supressor de ruído
- Ajustado para supressor de ruído de vento para
CAMCORDER
- Sintonizado para supressor de ruído estacionário para
VOICE_COMMUNICATION
- Ajustado para supressor de ruído de vento para
- Controle de ganho automático
- Sintonizado para conversa próxima para
VOICE_COMMUNICATION
e microfone do telefone principal - Sintonizado para conversa distante para
CAMCORDER
- Sintonizado para conversa próxima para
Recursos
Para obter mais informações, consulte os seguintes recursos:
- Documentação Android para pacote audiofx
- Documentação do Android para efeito de áudio de supressão de ruído
- Arquivo
/device/google/crosshatch/audio_effects.xml
para o Pixel 3