Mengonfigurasi Efek Prapemrosesan

Rilis Android 10 menyertakan persyaratan berikut untuk pengambilan dengan VOICE_COMMUNICATION .

  • Implementasi harus menyediakan peredam gema akustik (AEC) di jalur pengambilan saat merekam dengan VOICE_COMMUNICATION .
  • Jika menyediakan AEC, AEC harus dapat ditemukan dan dikontrol melalui AcousticEchoCanceler API SDK.

Platform Android menyediakan efek audio pada perangkat yang didukung dalam paket audiofx , yang tersedia untuk diakses oleh pengembang. Misalnya, Nexus 10 mendukung efek prapemrosesan berikut:

Memasangkan dengan AudioSources

Efek preprocessing dipasangkan dengan mode use case di mana preprocessing diminta. Dalam pengembangan aplikasi Android, kasus penggunaan disebut sebagai instance AudioSource ; dan pengembang aplikasi meminta untuk menggunakan abstraksi AudioSource alih-alih perangkat keras audio yang sebenarnya. Pengelola Kebijakan Audio Android memetakan instance AudioSource ke konfigurasi jalur pengambilan tertentu (termasuk perangkat, perolehan, dan pra-pemrosesan) sesuai dengan aturan khusus produk. Sumber-sumber berikut diekspos ke pengembang:

  • 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

Efek prapemrosesan default yang diterapkan untuk setiap AudioSource ditentukan dalam file /vendor/etc/audio_effects.xml . Untuk menentukan efek default Anda sendiri untuk setiap AudioSource , buat file /vendor/etc/audio_effects.xml dan tentukan efek prapemrosesan yang akan diaktifkan. Sebagai contoh, lihat implementasi untuk Nexus 10 di device/samsung/manta/audio_effects.xml . AudioEffect memperoleh dan merilis sesi saat dibuat dan dihancurkan, memungkinkan efek (seperti Loudness Enhancer) bertahan sepanjang sesi.

Contoh berikut mengaktifkan prapemrosesan untuk AudioSource VoIP dan Camcorder AudioSource . Dengan mendeklarasikan konfigurasi AudioSource dengan cara ini, framework secara otomatis meminta penggunaan efek tersebut dari HAL.

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

Penyetelan sumber

Penyetelan AudioSource tidak memiliki persyaratan eksplisit tentang perolehan audio atau pemrosesan audio dengan pengecualian pengenalan suara ( VOICE_RECOGNITION ). Persyaratan untuk pengenalan suara meliputi:

  • Respons frekuensi datar (+/- 3 dB) dari 100 Hz hingga 4 kHz
  • Konfigurasi close-talk: 90 dB SPL membaca RMS 2500 (sampel 16 bit)
  • Level melacak secara linier dari -18 dB hingga +12 dB relatif terhadap 90 dB SPL
  • THD < 1% (90 dB SPL dalam rentang 100 hingga 4000 Hz)
  • Persyaratan Near-ultrasound (untuk pengujian, lihat Near Ultrasound Tests ):
    • Dukungan untuk SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND sebagaimana didefinisikan dalam bagian 7.8.3 dari CDD.
    • Dukungan untuk satu atau keduanya dari 44100 atau 48000 sampling rate tanpa band-pass atau filter antialiasing.
  • Efek/prapemrosesan dinonaktifkan secara default

Contoh penyetelan efek yang berbeda untuk sumber yang berbeda adalah:

  • Penekan Kebisingan
    • Disetel untuk penekan kebisingan angin untuk CAMCORDER
    • Disetel untuk peredam bising stasioner untuk VOICE_COMMUNICATION
  • Kontrol Penguatan Otomatis
    • Disetel untuk percakapan jarak dekat untuk VOICE_COMMUNICATION dan mikrofon telepon utama
    • Disetel untuk pembicaraan jauh untuk CAMCORDER

Sumber daya

Untuk informasi lebih lanjut, lihat sumber daya berikut: