A versão do Android 10 inclui os seguintes
requisitos para captura com VOICE_COMMUNICATION.
- As implementações precisam fornecer um cancelador de eco acústico (AEC) no caminho de captura ao
capturar com
VOICE_COMMUNICATION. - Se você fornecer um AEC, ele precisará ser detectável e controlável pela
AcousticEchoCancelerdas APIs do SDK.
A plataforma Android oferece efeitos de áudio em dispositivos compatíveis no pacote
audiofx, que está disponível para acesso dos desenvolvedores.
Por exemplo, o Nexus 10 é compatível com os seguintes efeitos de pré-processamento:
Parear com instâncias AudioSource
Os efeitos de pré-processamento são pareados com o modo de caso de uso em que o pré-processamento é solicitado. No desenvolvimento de apps Android, um caso de uso é chamado
de uma instância AudioSource, e os desenvolvedores de apps solicitam o uso da
abstração AudioSource em vez do dispositivo de hardware de áudio
real. O Gerenciador de políticas de áudio do Android mapeia uma instância AudioSource para uma configuração de caminho de captura específica (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.CAMCORDERandroid.media.MediaRecorder.AudioSource.VOICE_COMMUNICATIONandroid.media.MediaRecorder.AudioSource.VOICE_CALLandroid.media.MediaRecorder.AudioSource.VOICE_DOWNLINKandroid.media.MediaRecorder.AudioSource.VOICE_UPLINKandroid.media.MediaRecorder.AudioSource.VOICE_RECOGNITIONandroid.media.MediaRecorder.AudioSource.MICandroid.media.MediaRecorder.AudioSource.DEFAULT
Os efeitos de pré-processamento padrão aplicados a cada instância de 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 ativados. Para ver um exemplo, consulte a implementação do Nexus 10 em device/samsung/manta/audio_effects.xml.
As instâncias AudioEffect adquirem e liberam uma sessão quando são criadas e destruídas,
permitindo que os efeitos (como o Loudness Enhancer) persistam durante toda a
sessão.
O exemplo a seguir ativa o pré-processamento para as instâncias de VoIP
AudioSource e Camcorder AudioSource. Ao declarar a configuração AudioSource dessa maneira, o framework solicita automaticamente o uso desses efeitos da HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Ajuste de origem
A sintonia do AudioSource não tem requisitos explícitos sobre ganho ou processamento de áudio, exceto para reconhecimento de voz (VOICE_RECOGNITION). Os requisitos para reconhecimento de voz incluem:
- Resposta de frequência estável (+/- 3 dB) de 100 Hz a 4 kHz
- Configuração de fala próxima: 90 dB SPL lê RMS de 2500 (amostras de 16 bits)
- O nível varia linearmente de -18 dB a +12 dB em relação a 90 dB SPL
- THD < 1% (90 dB SPL na faixa de 100 a 4.000 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 44.100 ou 48.000 sem filtros passa-banda ou anti-aliasing.
- Suporte para
- Efeitos/pré-processamento desativados por padrão
Exemplos de ajuste de diferentes efeitos para diferentes fontes:
- Supressor de ruído
- Ajustado para o supressor de ruído do vento para
CAMCORDER - Ajustado para supressor de ruído estacionário para
VOICE_COMMUNICATION
- Ajustado para o supressor de ruído do vento para
- Controle automático de ganho
- Ajustado para falar perto do microfone do
VOICE_COMMUNICATIONe do smartphone principal - Ajustado para conversas à distância para
CAMCORDER
- Ajustado para falar perto do microfone do
Recursos
Para mais informações, consulte os seguintes recursos:
- Documentação do Android para o pacote audiofx
- Documentação do Android para o efeito de áudio de supressão de ruído
- Arquivo
/device/google/crosshatch/audio_effects.xmlpara o Pixel 3