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

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ı kullanmak 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. Aşağıdaki kaynaklar geliştiricilere sunulur:

  • 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 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, bu efektlerin HAL'den 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 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)
  • Yakın ultrason gereksinimleri (test için Yakın Ultrason 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ı 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 yönelik olarak ayarlandı

Kaynaklar

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