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.
- Dukungan untuk
- 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
- Disetel untuk penekan kebisingan angin untuk
- Kontrol Penguatan Otomatis
- Disetel untuk percakapan jarak dekat untuk
VOICE_COMMUNICATION
dan mikrofon telepon utama - Disetel untuk pembicaraan jauh untuk
CAMCORDER
- Disetel untuk percakapan jarak dekat untuk
Sumber daya
Untuk informasi lebih lanjut, lihat sumber daya berikut:
- Dokumentasi Android untuk paket audiofx
- Dokumentasi Android untuk efek audio Noise Suppression
-
/device/google/crosshatch/audio_effects.xml
file untuk Pixel 3