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 deverá 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 acesso dos desenvolvedores. Por exemplo, o Nexus 10 oferece suporte aos seguintes efeitos de pré-processamento:
Parear com instâncias AudioSource
Os efeitos de pré-processamento são combinados com o modo de caso de uso no qual o pré-processamento é solicitado. No desenvolvimento de aplicativos Android, um caso de uso é chamado de instância AudioSource
; e os desenvolvedores de aplicativos solicitam o uso da abstração AudioSource
em 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 ativados. Por 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 criadas e destruídas, permitindo que os efeitos (como o Loudness Enhancer) persistam durante toda a sessão.
O exemplo a seguir permite o pré-processamento para as instâncias VoIP AudioSource
e Camcorder AudioSource
. Ao declarar a configuração AudioSource
dessa maneira, a estrutura 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
O ajuste AudioSource
não possui requisitos explícitos de ganho ou processamento de áudio, com exceção do 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
- Configuração Close-talk: 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 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 antialiasing.
- Suporte para
- Efeitos/pré-processamento desabilitados 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
- Ajustado para supressor de ruído estacionário para
VOICE_COMMUNICATION
- Ajustado para supressor de ruído de vento para
- Controle Automático de Ganho
- Ajustado para conversa próxima para
VOICE_COMMUNICATION
e microfone do telefone principal - Sintonizado para conversação remota para
CAMCORDER
- Ajustado para conversa próxima para
Recursos
Para obter mais informações, consulte os seguintes recursos:
- Documentação Android para o 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