Ö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.

  • Uygulamalar, VOICE_COMMUNICATION ile kayıt yaparken 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 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, 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 ince ayarları

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)
  • Ultrasona yakınlık şartları (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 için destek.
    • 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ı efektlerde ince ayarlar yapma ö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ı 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: