Ön işleme efektlerini yapılandırma

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 AcousticEchoCanceler aracılığıyla bulunabilir ve kontrol edilebilir olmalıdır.

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ı kullanmayı 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. Geliştiriciler aşağıdaki kaynakları kullanabilir:

  • 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 istiyorsanız /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 devam eder.

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, HAL'den bu efektlerin 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 mesafeden konuşma yapılandırması: 90 dB SPL, 2.500'lük (16 bit örnek) RMS okur.
  • 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)
  • 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 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.
  • 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ıya göre 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 ayarlandı

Kaynaklar

Daha fazla bilgi için aşağıdaki kaynaklara bakın: