Android 10 sürümü, VOICE_COMMUNICATION ile çekim için aşağıdaki koşulları içerir.
- Uygulamalar,
VOICE_COMMUNICATIONile kayıt yaparken kayıt yolunda akustik yankı giderici (AEC) sağlamalıdır. - AEC sağlanıyorsa SDK API'sinin
AcousticEchoCanceleraracılığıyla bulunabilir ve kontrol edilebilir olmalıdır.
Android platformu, desteklenen cihazlarda geliştiricilerin erişebileceği
audiofx paketinde ses efektleri sağlar.
Örneğin, Nexus 10 aşağıdaki ön işleme efektlerini destekler:
AudioSource örnekleriyle eşleme
Ön işleme efektleri, ön işlemenin istendiği kullanım alanı moduyla eşlenir. Android uygulama geliştirmede kullanım alanı AudioSource örneği olarak adlandırılır ve uygulama geliştiriciler gerçek ses donanım cihazı yerine AudioSource soyutlama kullanılmasını ister. Android Ses Politikası Yöneticisi, AudioSource örneğini ürüne özgü kurallara göre belirli bir yakalama yolu yapılandırmasıyla (cihaz, kazanç ve ön işleme dahil) eşler. Geliştiriciler aşağıdaki kaynaklara erişebilir:
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
Her AudioSource örneği için uygulanan varsayılan ön işleme efektleri /vendor/etc/audio_effects.xml dosyasında belirtilir. Her AudioSource örneği için kendi varsayılan efektlerinizi belirtmek üzere bir /vendor/etc/audio_effects.xml dosyası oluşturun ve etkinleştirilecek ön işleme efektlerini belirtin. Örnek olarak device/samsung/manta/audio_effects.xml'teki Nexus 10 uygulamasına bakın.
AudioEffect örnekleri oluşturulduğunda ve yok edildiğinde bir oturum edinip serbest bırakır. Bu sayede ses seviyesi artırıcı gibi efektler oturum boyunca devam eder.
Aşağıdaki örnekte, VoIP AudioSource ve Kamera AudioSource örnekleri için ön işleme etkinleştirilmektedir. Çerçeve, AudioSource yapılandırmasını bu şekilde bildirerek bu efektlerin HAL'den otomatik olarak kullanılmasını ister.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Kaynak ayarı
AudioSource ayarlamalarında, konuşma tanıma (VOICE_RECOGNITION) hariç ses kazancı veya ses işlemeyle ilgili net şartlar yoktur. Konuşma tanımayla ilgili şartlar şunlardır:
- 100 Hz ila 4 kHz arasında düz frekans yanıtı (+/- 3 dB)
- Yakın konuşma yapılandırması: 90 dB SPL, 2500 RMS (16 bit örnek) okur
- Seviye, 90 dB SPL'ye göre -18 dB ile +12 dB arasında doğrusal olarak izlenir.
- THD < %1 (100 ila 4.000 Hz aralığında 90 dB SPL)
- Ultrasona yakınlık koşulları (test için Ultrasona Yakınlık Testleri bölümüne bakın):
- CDD'nin 7.8.3 numaralı bölümünde tanımlandığı şekilde
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUNDdesteği. - Bant geçiren veya kenar yumuşatma filtresi içermeyen 44.100 veya 48.000 örnekleme hızlarından biri veya her ikisi için destek.
- CDD'nin 7.8.3 numaralı bölümünde tanımlandığı şekilde
- Etkiler/ön işleme varsayılan olarak devre dışıdır
Farklı kaynaklar için farklı efektleri ayarlama örnekleri:
- Gürültü Azaltıcı
CAMCORDERiçin rüzgar gürültüsü azaltıcıyı ayarlamaVOICE_COMMUNICATIONiçin sabit gürültü önleyiciye ayarlandı
- Otomatik Kazanç Denetimi
VOICE_COMMUNICATIONve ana telefon mikrofonu için yakın konuşmaya ayarlanmışCAMCORDERiçin uzaktan konuşmaya ayarlandı
Kaynaklar
Daha fazla bilgi için aşağıdaki kaynaklara göz atın:
- audiofx paketi için Android dokümanları
- Gürültü azaltma ses efekti ile ilgili Android dokümanları
- Pixel 3 için
/device/google/crosshatch/audio_effects.xmldosyası