Ön işleme efektlerini yapılandırma

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.
  • 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: