Configura effetti di pre-elaborazione

La release Android 10 include: requisiti per l'acquisizione con VOICE_COMMUNICATION.

  • Le implementazioni devono fornire una cancellazione dell'eco acustica (AEC) nel percorso di acquisizione quando acquisizione con VOICE_COMMUNICATION.
  • Se viene fornito un AEC, questo deve essere rilevabile e controllabile tramite il AcousticEchoCanceler.

La piattaforma Android fornisce effetti audio sui dispositivi supportati in audiofx, a cui gli sviluppatori possono accedere. Ad esempio, il Nexus 10 supporta i seguenti effetti di pre-elaborazione:

Accoppia con istanze AudioSource

Gli effetti di pre-elaborazione sono associati alla modalità caso d'uso in cui richiede la pre-elaborazione. Nello sviluppo di app per Android, viene definito un caso d'uso come istanza AudioSource; e gli sviluppatori di app chiedono di usare Astrazione di AudioSource anziché l'effettivo hardware audio dispositivo. Gestione norme audio Android mappa un'istanza AudioSource a un una determinata configurazione del percorso di acquisizione (inclusi dispositivo, guadagno e pre-elaborazione) alle regole specifiche del prodotto. Le seguenti origini sono esposte agli sviluppatori:

  • 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

Effetti di pre-elaborazione predefiniti applicati a ogni istanza AudioSource sono specificati nel file /vendor/etc/audio_effects.xml. A specifica i tuoi effetti predefiniti per ogni istanza AudioSource, crea un /vendor/etc/audio_effects.xml e specifica attivare gli effetti di pre-elaborazione. Per un esempio, consulta l'implementazione il Nexus 10 di device/samsung/manta/audio_effects.xml. AudioEffect istanze acquisiscono e rilasciano una sessione quando vengono create ed eliminate. consentendo la persistenza degli effetti (come l'intensificazione del volume) durante la sessione.

L'esempio seguente abilita la pre-elaborazione per il VoIP AudioSource e videocamera AudioSource. Dichiarando la configurazione AudioSource in questo modo, richiede automaticamente all'HAL l'uso di questi effetti.

<preprocess>
        <stream type="voice_communication">
            <apply effect="aec"/>
            <apply effect="ns"/>
        </stream>
        <stream type="camcorder">
            <apply effect="agc"/>
        </stream>
    </preprocess>

Ottimizzazione delle fonti

L'ottimizzazione di AudioSource non ha requisiti espliciti relativi all'audio guadagno o l'elaborazione audio con l'eccezione del riconoscimento vocale (VOICE_RECOGNITION). I requisiti per il riconoscimento vocale includono:

  • Risposta in frequenza fissa (+/- 3 dB) da 100 Hz a 4 kHz
  • Configurazione chiamata ravvicinata: 90 dB SPL per lettura RMS di 2500 (campioni a 16 bit)
  • Livella le tracce in modo lineare da -18 dB a +12 dB rispetto a 90 dB SPL
  • THD < 1% (90 dB SPL nell'intervallo da 100 a 4000 Hz)
  • Requisiti per il rilevamento a ultrasuoni (per i test, consulta Ultrasuoni quasi Test):
      .
    • Supporto per SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND come definito nella sezione 7.8.3 del CDD.
    • Supporto per una o entrambe le frequenze di campionamento 44100 o 48000 senza band-pass o filtri antialiasing.
  • Effetti/pre-elaborazione disattivati per impostazione predefinita

Ecco alcuni esempi di regolare effetti diversi per fonti diverse:

  • Soppressore del rumore
    • Ottimizzato per eliminare il rumore del vento per CAMCORDER
    • Ottimizzato per soppressore del rumore fisso per VOICE_COMMUNICATION
  • Controllo automatico guadagno
    • Ottimizzato per la chiamata ravvicinata per VOICE_COMMUNICATION e il telefono principale microfono
    • Ottimizzato per la conversazione lontana di CAMCORDER

Risorse

Per saperne di più, consulta le seguenti risorse: