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
AcousticEchoCancelerAPI 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_ULTRASOUNDsebagaimana 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_COMMUNICATIONdan 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.xmlfile untuk Pixel 3