Rilis Android 10 mencakup persyaratan berikut
untuk pengambilan dengan VOICE_COMMUNICATION.
- Implementasi harus menyediakan pembatalan gema akustik (AEC) di jalur pengambilan saat
mengambil dengan
VOICE_COMMUNICATION. - Jika menyediakan AEC, AEC harus dapat ditemukan dan dikontrol melalui API SDK
AcousticEchoCanceler.
Platform Android menyediakan efek audio di perangkat yang didukung dalam paket
audiofx, yang tersedia untuk diakses developer.
Misalnya, Nexus 10 mendukung efek pra-pemrosesan berikut:
Menyambungkan dengan instance AudioSource
Efek pra-pemrosesan dipasangkan dengan mode kasus penggunaan tempat pra-pemrosesan diminta. Dalam pengembangan aplikasi Android, kasus penggunaan disebut sebagai instance AudioSource; dan developer aplikasi meminta untuk menggunakan abstraksi AudioSource, bukan perangkat hardware audio yang sebenarnya. Android Audio Policy Manager memetakan instance AudioSource ke konfigurasi jalur pengambilan tertentu (termasuk perangkat, perolehan, dan pra-pemrosesan) sesuai dengan aturan khusus produk. Sumber berikut diekspos ke developer:
android.media.MediaRecorder.AudioSource.CAMCORDERandroid.media.MediaRecorder.AudioSource.VOICE_COMMUNICATIONandroid.media.MediaRecorder.AudioSource.VOICE_CALLandroid.media.MediaRecorder.AudioSource.VOICE_DOWNLINKandroid.media.MediaRecorder.AudioSource.VOICE_UPLINKandroid.media.MediaRecorder.AudioSource.VOICE_RECOGNITIONandroid.media.MediaRecorder.AudioSource.MICandroid.media.MediaRecorder.AudioSource.DEFAULT
Efek pra-pemrosesan default yang diterapkan untuk setiap instance AudioSource ditentukan dalam file /vendor/etc/audio_effects.xml. Untuk menentukan efek default Anda sendiri untuk setiap instance AudioSource, buat file /vendor/etc/audio_effects.xml dan tentukan efek pra-pemrosesan yang akan diaktifkan. Untuk contohnya, lihat implementasi untuk Nexus 10 di device/samsung/manta/audio_effects.xml.
Instance AudioEffect memperoleh dan merilis sesi saat dibuat dan dihancurkan, sehingga efek (seperti Loudness Enhancer) dapat dipertahankan selama sesi.
Contoh berikut mengaktifkan pra-pemrosesan untuk instance AudioSource VoIP dan AudioSource Camcorder. Dengan mendeklarasikan konfigurasi AudioSource dengan cara ini, framework akan 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 perolehan audio atau pemrosesan audio, kecuali pengenalan suara (VOICE_RECOGNITION). Persyaratan untuk pengenalan suara mencakup:
- Respons frekuensi datar (+/- 3 dB) dari 100 Hz hingga 4 kHz
- Konfigurasi close-talk: 90 dB SPL membaca RMS 2500 (sampel 16 bit)
- Level dilacak secara linear 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
Pengujian Near Ultrasound):
- Dukungan untuk
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUNDseperti yang ditentukan di bagian 7.8.3 CDD. - Dukungan untuk satu atau kedua kecepatan sampling 44100 atau 48000 tanpa filter band-pass atau antialiasing.
- Dukungan untuk
- Efek/pra-pemrosesan dinonaktifkan secara default
Contoh penyesuaian efek yang berbeda untuk sumber yang berbeda adalah:
- Peredam Bising
- Disetel untuk peredam bising angin untuk
CAMCORDER - Disetel untuk peredam bising stasioner untuk
VOICE_COMMUNICATION
- Disetel untuk peredam bising angin untuk
- Kontrol Perolehan Otomatis
- Disetel untuk close-talk untuk
VOICE_COMMUNICATIONdan mikrofon ponsel utama - Disetel untuk far-talk untuk
CAMCORDER
- Disetel untuk close-talk untuk
Resource
Untuk mengetahui informasi selengkapnya, lihat referensi berikut:
- Dokumentasi Android untuk paket audiofx
- Dokumentasi Android untuk efek audio Peredam Bising
- File
/device/google/crosshatch/audio_effects.xmluntuk Pixel 3