Ö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, geliştiricilerin erişebildiği audiofx paketinde, desteklenen cihazlarda ses efektleri sunar. Örneğin, Nexus 10 aşağıdaki ön işleme efektlerini destekler:

AudioSource örnekleriyle eşle

Ön işleme efektleri, ön işlemenin istendiği kullanım alanı moduyla eşleştirilir. Android uygulama geliştirmede kullanım alanları AudioSource örneği olarak adlandırılır ve uygulama geliştiriciler, gerçek ses donanımı cihazı yerine AudioSource soyutlamasını kullanmak isterler. 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 efektleri (ör. ses yükseltici) 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 ayarlama

AudioSource ayarında, ses tanıma hariç (VOICE_RECOGNITION) ses kazancı veya ses işlemeyle ilgili açık bir gereklilik yoktur. Ses 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)
  • Neredeyse ultrason gereksinimleri (test için Yakın Ultrason Testlerini inceleyin):
    • 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ü azaltıcı için 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: