Konfigurowanie efektów przetwarzania wstępnego

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Wersja Androida 10 zawiera następujące wymagania dotyczące przechwytywania za pomocą VOICE_COMMUNICATION .

  • Implementacje powinny zapewniać tłumienie echa akustycznego (AEC) na ścieżce przechwytywania podczas przechwytywania za pomocą VOICE_COMMUNICATION .
  • Jeśli udostępniasz AEC, musi być wykrywalny i kontrolowany za pomocą AcousticEchoCanceler interfejsu API SDK.

Platforma Android zapewnia efekty dźwiękowe na obsługiwanych urządzeniach w pakiecie audiofx , który jest dostępny dla programistów. Na przykład Nexus 10 obsługuje następujące efekty przetwarzania wstępnego:

Parowanie ze źródłami audio

Efekty przetwarzania wstępnego są sparowane z trybem przypadku użycia, w którym wymagane jest przetwarzanie wstępne. W przypadku tworzenia aplikacji na Androida przypadek użycia jest określany jako instancja AudioSource ; a twórcy aplikacji proszą o użycie abstrakcji AudioSource zamiast rzeczywistego urządzenia sprzętowego audio. Menedżer zasad dźwiękowych systemu Android mapuje wystąpienie AudioSource na daną konfigurację ścieżki przechwytywania (w tym urządzenie, wzmocnienie i wstępne przetwarzanie) zgodnie z regułami dotyczącymi konkretnego produktu. Deweloperzy mają dostęp do następujących źródeł:

  • 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

Domyślne efekty przetwarzania wstępnego zastosowane dla każdej instancji AudioSource są określone w pliku /vendor/etc/audio_effects.xml . Aby określić własne efekty domyślne dla każdej instancji AudioSource , utwórz plik /vendor/etc/audio_effects.xml i określ efekty przetwarzania wstępnego do włączenia. Na przykład zobacz implementację Nexusa 10 w device/samsung/manta/audio_effects.xml . Instancje AudioEffect przejmują i zwalniają sesję po utworzeniu i zniszczeniu, umożliwiając utrzymywanie się efektów (takich jak Loudness Enhancer) przez całą sesję.

Poniższy przykład włącza wstępne przetwarzanie dla instancji VoIP AudioSource i Camcorder AudioSource . Deklarując w ten sposób konfigurację AudioSource , framework automatycznie żąda użycia tych efektów z warstwy HAL.

<preprocess>
        <stream type="voice_communication">
            <apply effect="aec"/>
            <apply effect="ns"/>
        </stream>
        <stream type="camcorder">
            <apply effect="agc"/>
        </stream>
    </preprocess>

Strojenie źródła

Dostrajanie AudioSource nie ma wyraźnych wymagań dotyczących wzmocnienia dźwięku lub przetwarzania dźwięku z wyjątkiem rozpoznawania głosu ( VOICE_RECOGNITION ). Wymagania dotyczące rozpoznawania głosu obejmują:

  • Płaska charakterystyka częstotliwościowa (+/- 3 dB) od 100 Hz do 4 kHz
  • Konfiguracja Close-talk: 90 dB SPL odczytuje RMS 2500 (16-bitowe próbki)
  • Poziomowanie utworów liniowo od -18 dB do +12 dB względem 90 dB SPL
  • THD < 1% (90 dB SPL w zakresie od 100 do 4000 Hz)
  • Wymagania dotyczące ultradźwięków w pobliżu (aby przetestować, zobacz Testy w pobliżu ultradźwięków ):
    • Obsługa SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND zgodnie z definicją w sekcji 7.8.3 CDD.
    • Obsługa jednej lub obu częstotliwości próbkowania 44100 lub 48000 bez filtrów pasmowoprzepustowych i antyaliasingowych.
  • Efekty/przetwarzanie wstępne domyślnie wyłączone

Przykładami strojenia różnych efektów dla różnych źródeł są:

  • Tłumik hałasu
    • Dostrojony do tłumienia szumów wiatru dla CAMCORDER
    • Dostrojony do stacjonarnego tłumika hałasu dla VOICE_COMMUNICATION
  • Automatyczna kontrola wzmocnienia
    • Dostrojony do bliskiej rozmowy przez VOICE_COMMUNICATION i główny mikrofon telefonu
    • Dostrojony do dalekiej rozmowy dla CAMCORDER

Zasoby

Więcej informacji można znaleźć w następujących zasobach: