Mengonfigurasi efek pra-pemrosesan

Rilis Android 10 menyertakan hal-hal berikut persyaratan untuk pengambilan gambar dengan VOICE_COMMUNICATION.

  • Implementasi harus menyediakan acoustic echo canceler (AEC) pada jalur penangkapan saat merekam dengan VOICE_COMMUNICATION.
  • Jika menyediakan AEC, AEC harus dapat ditemukan dan dikontrol melalui API SDK AcousticEchoCanceler.

Platform Android menyediakan efek audio pada perangkat yang didukung dalam audiofx, yang tersedia untuk diakses oleh developer. Misalnya, Nexus 10 mendukung efek pra-pemrosesan berikut:

Menyambungkan dengan instance AudioSource

Efek pra-pemrosesan dipasangkan dengan mode kasus penggunaan di mana pra-pemrosesan yang diminta. Dalam pengembangan aplikasi Android, sebuah kasus penggunaan disebut sebagai instance AudioSource; dan developer aplikasi meminta untuk menggunakan Abstraksi AudioSource, bukan hardware audio sebenarnya perangkat seluler. Android Audio Policy Manager memetakan instance AudioSource ke diberi konfigurasi jalur pengambilan (termasuk perangkat, penguatan, dan pra-pemrosesan) sesuai pada aturan spesifik per produk. Sumber berikut ditampilkan kepada developer:

  • 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 pra-pemrosesan default yang diterapkan untuk setiap instance AudioSource ditentukan dalam file /vendor/etc/audio_effects.xml. Kepada menentukan efek default Anda sendiri untuk setiap instance AudioSource, membuat file /vendor/etc/audio_effects.xml dan tentukan mengaktifkan efek pra-pemrosesan. Untuk contoh, lihat implementasi untuk Nexus 10 di device/samsung/manta/audio_effects.xml. Instance AudioEffect memperoleh dan merilis sesi saat dibuat dan dihancurkan, mengaktifkan efek (seperti Peningkatan Kenyaringan) agar tetap ada di seluruh sesi.

Contoh berikut memungkinkan pra-pemrosesan untuk VoIP Instance AudioSource 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>

Penyesuaian sumber

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

  • Respons frekuensi tetap (+/- 3 dB) dari 100 Hz hingga 4 kHz
  • Konfigurasi close-talk: SPL 90 dB membaca RMS 2.500 (sampel 16 bit)
  • Level melacak secara linear dari -18 dB hingga +12 dB dibandingkan dengan 90 dB SPL
  • THD < 1% (90 dB SPL dalam rentang 100 hingga 4000 Hz)
  • Persyaratan mendekati ultrasonik (untuk pengujian, lihat Ultrasonografi Dekat Tes):
    • Dukungan untuk SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND seperti yang ditentukan dalam bagian 7.8.3 dari CDD.
    • Dukungan untuk satu atau kedua frekuensi sampling 44100 atau 48000 tanpa band-pass atau filter antialiasing.
  • Efek/prapemrosesan dinonaktifkan secara default

Contoh menyesuaikan berbagai efek untuk sumber yang berbeda adalah:

  • Peredam Bising
    • Disesuaikan untuk peredam bising angin untuk CAMCORDER
    • Disesuaikan untuk peredam bising stasioner untuk VOICE_COMMUNICATION
  • Kontrol Perolehan Otomatis
    • Disesuaikan untuk close-talk untuk VOICE_COMMUNICATION dan ponsel utama mikrofon
    • Disesuaikan untuk pembicaraan jauh untuk CAMCORDER

Referensi

Untuk informasi lebih lanjut, lihat referensi berikut: