Ön işleme efektlerini yapılandırma

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.
  • 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ı ayarlama
    • VOICE_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: