Android 10 sürümünde, VOICE_COMMUNICATION
ile çekim için aşağıdaki şartlar yer alır.
VOICE_COMMUNICATION
ile kayıt yaparken uygulamalar, kayıt yolunda akustik yankı giderici (AEC) sağlamalıdır.- AEC sağlanıyorsa SDK API'leri aracılığıyla bulunabilir ve kontrol edilebilir olmalıdır
AcousticEchoCanceler
.
Android platformu, geliştiricilerin erişebileceği
audiofx
paketinde desteklenen cihazlarda ses efektleri sunar.
Ö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şleştirilir. 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
soyutlamasını kullanmak ister. Android Audio Policy Manager, ürüne özel kurallara göre bir AudioSource
örneğini belirli bir kayıt yolu yapılandırmasıyla (cihaz, kazanç ve ön işleme dahil) eşler. Aşağıdaki kaynaklar geliştiricilere sunulur:
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 için device/samsung/manta/audio_effects.xml
bölümündeki Nexus 10 uygulamasına bakın.
AudioEffect
örnekleri, oluşturulup yok edildiğinde bir oturum edinir ve serbest bırakır. Bu sayede efektler (ör. Loudness Enhancer) oturum boyunca kalıcı olur.
Aşağıdaki örnekte, VoIP AudioSource
ve kamera AudioSource
örnekleri için ön işleme etkinleştirilir. AudioSource
yapılandırmasını bu şekilde bildirerek çerçeve, bu efektlerin HAL'den kullanılmasını otomatik olarak ister.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Kaynak ayarlama
AudioSource
ayarlama, ses tanıma (VOICE_RECOGNITION
) dışında ses kazancı veya ses işleme ile ilgili açık şartlar içermez. Ses tanıma ile ilgili şartlar şunlardır:
- 100 Hz - 4 kHz arasında düz frekans yanıtı (+/- 3 dB)
- Yakın konuşma yapılandırması: 90 dB SPL, 2.500 RMS (16 bit örnek) olarak okunur.
- Seviye, 90 dB SPL'ye göre -18 dB ile +12 dB arasında doğrusal olarak değişir.
- THD < %1 (100-4.000 Hz aralığında 90 dB SPL)
- Yakın ultrason gereksinimleri (test için Yakın Ultrason Testleri bölümüne bakın):
- CDD'nin 7.8.3 bölümünde tanımlandığı şekilde
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
desteği. - Bant geçiren veya anti-aliasing filtreleri olmadan 44.100 ya da 48.000 örnekleme hızlarından birini veya her ikisini desteklemelidir.
- CDD'nin 7.8.3 bölümünde tanımlandığı şekilde
- Efektler/ön işleme varsayılan olarak devre dışıdır
Farklı kaynaklar için farklı efektleri ayarlama örnekleri:
- Gürültü bastırıcı
CAMCORDER
için rüzgar gürültüsü bastırıcı ayarlandıVOICE_COMMUNICATION
için sabit gürültü bastırıcıya göre ayarlandı
- Otomatik Kazanç Denetimi
VOICE_COMMUNICATION
ve ana telefon mikrofonu için yakın konuşmaya göre ayarlanır.CAMCORDER
için uzaktan konuşmaya yönelik olarak ayarlandı
Kaynaklar
Daha fazla bilgi için aşağıdaki kaynaklara bakın:
- audiofx package ile ilgili Android dokümanları
- Android dokümanları - Gürültü bastırma ses efekti
/device/google/crosshatch/audio_effects.xml
dosyasını indirin.