Rilis Android 10 mencakup persyaratan berikut untuk pengambilan dengan VOICE_COMMUNICATION
.
- Implementasi harus menyediakan peredam gema akustik (AEC) di jalur pengambilan saat mengambil dengan
VOICE_COMMUNICATION
. - Jika menyediakan AEC, AEC tersebut harus dapat ditemukan dan dikontrol melalui
AcousticEchoCanceler
API SDK.
Platform Android menyediakan efek audio di perangkat yang didukung dalam paket
audiofx
, yang tersedia untuk diakses oleh developer.
Misalnya, Nexus 10 mendukung efek praproses 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 keras audio yang sebenarnya. Android Audio Policy Manager memetakan instance AudioSource
ke konfigurasi jalur perekaman tertentu (termasuk perangkat, perolehan, dan pra-pemrosesan) sesuai dengan aturan khusus produk. Sumber berikut diekspos ke 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 praproses 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 praproses yang akan diaktifkan. Sebagai contoh, lihat penerapan untuk
Nexus 10 di device/samsung/manta/audio_effects.xml
.
Instance AudioEffect
mendapatkan dan melepaskan sesi saat dibuat dan dihancurkan,
sehingga efek (seperti Loudness Enhancer) tetap ada di seluruh
sesi.
Contoh berikut mengaktifkan praproses untuk instance VoIP
AudioSource
dan Camcorder AudioSource
. 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 terkait perolehan audio atau pemrosesan audio, kecuali pengenalan suara (VOICE_RECOGNITION
). Persyaratan untuk pengenalan suara meliputi:
- Respons frekuensi datar (+/- 3 dB) dari 100 Hz hingga 4 kHz
- Konfigurasi bicara dekat: 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
Tes Near Ultrasound):
- Dukungan untuk
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
seperti yang ditentukan dalam bagian 7.8.3 CDD. - Dukungan untuk satu atau kedua frekuensi sampling 44100 atau 48000 tanpa filter band-pass atau antialiasing.
- Dukungan untuk
- Efek/praproses dinonaktifkan secara default
Contoh penyesuaian efek yang berbeda untuk sumber yang berbeda adalah:
- Perangkat Peredam Bising
- Disetel untuk peredam bising angin untuk
CAMCORDER
- Disetel untuk peredam bising stasioner untuk
VOICE_COMMUNICATION
- Disetel untuk peredam bising angin untuk
- Kontrol Peningkatan Otomatis
- Disetel untuk bicara dekat untuk
VOICE_COMMUNICATION
dan mikrofon ponsel utama - Disetel untuk percakapan jarak jauh untuk
CAMCORDER
- Disetel untuk bicara dekat untuk
Referensi
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.xml
untuk Pixel 3