Configurar efeitos de pré-processamento

A versão do Android 10 inclui o seguinte: requisitos para captura com VOICE_COMMUNICATION.

  • As implementações devem fornecer um canceler de eco acústico (AEC, na sigla em inglês) no caminho de captura quando capturando com VOICE_COMMUNICATION.
  • Se você fornecer um AEC, ele precisará ser detectável e controlável por meio do AEC da API AcousticEchoCanceler:

A plataforma Android fornece efeitos de áudio em dispositivos com suporte no audiofx, disponível para os desenvolvedores acessarem. Por exemplo, o Nexus 10 é compatível com os seguintes efeitos de pré-processamento:

Parear com instâncias do AudioSource

Os efeitos de pré-processamento são combinados com o modo de caso de uso em que o o pré-processamento é solicitado. No desenvolvimento de apps Android, um caso de uso é como uma instância AudioSource. e desenvolvedores de apps solicitam o uso Abstração AudioSource em vez do hardware de áudio real dispositivo. O Gerenciador de políticas de áudio do Android mapeia uma instância AudioSource para um determinada configuração do caminho de captura (incluindo dispositivo, ganho e pré-processamento) de acordo com às regras específicas dos produtos. 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 do AudioSource. especificados no arquivo /vendor/etc/audio_effects.xml. Para especifique seus próprios efeitos padrão para cada instância de AudioSource, crie um arquivo /vendor/etc/audio_effects.xml e especificar de pré-processamento para ativar. Para ver um exemplo, consulte a implementação o Nexus 10 em device/samsung/manta/audio_effects.xml. 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 sessão.

O exemplo a seguir ativa o pré-processamento para chamadas Instâncias de AudioSource e de câmera de vídeo AudioSource. Ao declarar a configuração do AudioSource dessa maneira, o framework solicita automaticamente o uso desses efeitos pela 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 de AudioSource não tem requisitos explícitos de áudio ganho ou processamento de áudio, exceto reconhecimento de voz VOICE_RECOGNITION). Os requisitos para reconhecimento de voz incluem:

  • Resposta de frequência fixa (+/- 3 dB) de 100 Hz a 4 kHz
  • Configuração de conversa fechada: SPL de 90 dB lê RMS de 2.500 (amostras de 16 bits)
  • O nível acompanha linearmente -18 dB a +12 dB em relação a 90 dB SPL
  • THD < 1% (SPL de 90 dB no intervalo de 100 Hz para 4.000 Hz)
  • Requisitos quase ultrassom (para testes, consulte Usó ultrassom de perto Testes):
    • Suporte a SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND, conforme definido na seção 7.8.3. do CDD.
    • Suporte para uma ou ambas as taxas de amostragem 44100 ou 48000 sem passagem de banda ou filtros anti-aliasing.
  • Efeitos/pré-processamento desativados por padrão

Exemplos de ajuste de diferentes efeitos para diferentes fontes:

  • Supressão de ruído
    • Ajuste do supressor de ruído do vento para CAMCORDER
    • Ajustado para supressor de ruído estacionário para VOICE_COMMUNICATION
  • Controle automático de ganho
    • Ajustado para close-talk do VOICE_COMMUNICATION e do smartphone principal microfone
    • Sintonizado para conversa à distância em CAMCORDER

Recursos

Para mais informações, consulte os recursos a seguir: