Android 10 sürümü, VOICE_COMMUNICATION
ile yakalamaya yönelik aşağıdaki gereksinimleri içerir.
- Uygulamalar,
VOICE_COMMUNICATION
ile yakalama yaparken yakalama yolunda bir akustik yankı önleyici (AEC) sağlamalıdır. - Bir AEC sağlanıyorsa, SDK API'sinin
AcousticEchoCanceler
aracılığıyla keşfedilebilir ve kontrol edilebilir olması gerekir.
Android platformu, geliştiricilerin erişimine açık olan audiofx
paketinde desteklenen cihazlarda ses efektleri sağlar. Örneğin Nexus 10 aşağıdaki ön işleme efektlerini destekler:
AudioSource örnekleriyle eşleştirin
Ön işleme efektleri, ön işlemenin talep edildiği kullanım senaryosu moduyla eşleştirilir. Android uygulama geliştirmede kullanım senaryosuna AudioSource
örneği denir; ve uygulama geliştiricileri, gerçek ses donanım aygıtı yerine AudioSource
soyutlamasını kullanmayı talep ediyor. Android Ses Politikası Yöneticisi, bir 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. Aşağıdaki kaynaklar geliştiricilere açıktır:
-
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 belirlemek amacıyla bir /vendor/etc/audio_effects.xml
dosyası oluşturun ve açılacak ön işleme efektlerini belirtin. Örnek olarak, device/samsung/manta/audio_effects.xml
dosyasındaki Nexus 10 uygulamasına bakın. AudioEffect
örnekleri, oluşturulduğunda ve yok edildiğinde bir oturum alıp serbest bırakarak efektlerin (Loudness Enhancer gibi) oturum boyunca devam etmesini sağlar.
Aşağıdaki örnek, VoIP AudioSource
ve Camcorder AudioSource
örnekleri için ön işlemeyi etkinleştirir. AudioSource
yapılandırmasını bu şekilde bildirerek çerçeve otomatik olarak bu efektlerin kullanımını HAL'den talep eder.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Kaynak ayarlama
AudioSource
ayarının, ses tanıma ( VOICE_RECOGNITION
) haricinde, ses kazanımı veya ses işleme konusunda açık gereksinimleri yoktur. Ses tanıma gereksinimleri şunları içerir:
- 100 Hz'den 4 kHz'e kadar düz frekans yanıtı (+/- 3 dB)
- Yakın konuşma yapılandırması: 90 dB SPL, 2500 RMS'yi okur (16 bit örnekler)
- Seviye, 90 dB SPL'ye göre -18 dB'den +12 dB'ye kadar doğrusal olarak izlenir
- THD < %1 (100 - 4000 Hz aralığında 90 dB SPL)
- Yakın ultrason gereksinimleri (test için bkz. Yakın Ultrason Testleri ):
- CDD'nin 7.8.3 bölümünde tanımlandığı gibi
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
desteği. - Bant geçiren veya kenar yumuşatma filtreleri olmayan 44100 veya 48000 örnekleme hızlarından birini veya her ikisini de destekler.
- CDD'nin 7.8.3 bölümünde tanımlandığı gibi
- Efektler/ön işleme varsayılan olarak devre dışıdır
Farklı kaynaklar için farklı efektlerin ayarlanmasına ilişkin örnekler şunlardır:
- Gürültü Bastırıcı
-
CAMCORDER
için rüzgar gürültüsü bastırıcısı için ayarlandı -
VOICE_COMMUNICATION
için sabit gürültü bastırıcıya ayarlandı
-
- Otomatik Kazanç Kontrolü
-
VOICE_COMMUNICATION
ve ana telefon mikrofonu için yakın konuşma için ayarlandı -
CAMCORDER
için uzak konuşma için ayarlandı
-
Kaynaklar
Daha fazla bilgi için aşağıdaki kaynaklara bakın:
- audiofx paketi için Android belgeleri
- Gürültü Bastırma ses efekti için Android belgeleri
- Pixel 3 için
/device/google/crosshatch/audio_effects.xml
dosyası