O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Configurando efeitos de pré-processamento

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.
  • 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
  • Controle de ganho automático
    • Sintonizado para conversa próxima para VOICE_COMMUNICATION e microfone do telefone principal
    • Sintonizado para conversa distante para CAMCORDER

Recursos

Para obter mais informações, consulte os seguintes recursos: