Android 10 sürümü, VOICE_COMMUNICATION
ile çekim için aşağıdaki koşulları içerir.
- Uygulamalar,
VOICE_COMMUNICATION
ile kayıt yaparken kayıt yolunda akustik yankı giderici (AEC) sağlamalıdır. - AEC sağlanıyorsa SDK API'sinin
AcousticEchoCanceler
aracı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.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
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 yükseltme 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 örnekler) 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_ULTRASOUND
desteğ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ı
CAMCORDER
için rüzgar gürültüsü azaltıcıyı ayarlamaVOICE_COMMUNICATION
için sabit gürültü önleyici ayarlandı
- Otomatik Kazanç Kontrolü
VOICE_COMMUNICATION
ve ana telefon mikrofonu için yakın konuşmaya ayarlanmışCAMCORDER
iç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.xml
dosyası