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, geliştiricilerin erişebildiği
audiofx
paketinde, desteklenen cihazlarda ses efektleri sunar.
Örneğin, Nexus 10 aşağıdaki ön işleme efektlerini destekler:
AudioSource örnekleriyle eşle
Ön işleme efektleri, ön işlemenin istendiği kullanım alanı moduyla eşleştirilir. Android uygulama geliştirmede kullanım alanları AudioSource
örneği olarak adlandırılır ve uygulama geliştiriciler, gerçek ses donanımı cihazı yerine AudioSource
soyutlamasını kullanmak isterler. 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 efektleri (ör. ses yükseltici) 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 ayarlama
AudioSource
ayarında, ses tanıma hariç
(VOICE_RECOGNITION
) ses kazancı veya ses işlemeyle ilgili açık bir gereklilik yoktur. Ses 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)
- Neredeyse ultrason gereksinimleri (test için Yakın Ultrason Testlerini inceleyin):
- 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ü azaltıcı için 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ı