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.
- Dukungan untuk
- 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
- Disesuaikan untuk peredam bising angin untuk
- Kontrol Perolehan Otomatis
- Disesuaikan untuk close-talk untuk
VOICE_COMMUNICATION
dan ponsel utama mikrofon - Disesuaikan untuk pembicaraan jauh untuk
CAMCORDER
- Disesuaikan untuk close-talk untuk
Referensi
Untuk informasi lebih lanjut, lihat referensi berikut:
- Dokumentasi Android untuk audiofx paket
- Dokumentasi Android untuk Derau Efek audio peredaman
- File
/device/google/crosshatch/audio_effects.xml
untuk Pixel 3