Wersja Androida 10 zawiera następujące wymagania dotyczące przechwytywania za pomocą VOICE_COMMUNICATION
.
- Implementacje powinny zapewniać eliminację echa akustycznego (AEC) na ścieżce przechwytywania podczas przechwytywania za pomocą
VOICE_COMMUNICATION
. - Jeśli udostępniasz kod AEC, musi on być wykrywalny i kontrolowany za pomocą narzędzia
AcousticEchoCanceler
interfejsu API zestawu SDK.
Platforma Android zapewnia efekty dźwiękowe na obsługiwanych urządzeniach w pakiecie audiofx
, do którego dostęp mają programiści. Na przykład Nexus 10 obsługuje następujące efekty przetwarzania wstępnego:
Sparuj z instancjami AudioSource
Efekty przetwarzania wstępnego są łączone z trybem przypadku użycia, w którym żądane jest przetwarzanie wstępne. Podczas tworzenia aplikacji na Androida przypadek użycia nazywany jest instancją AudioSource
; i twórcy aplikacji proszą o użycie abstrakcji AudioSource
zamiast rzeczywistego urządzenia audio. Menedżer zasad audio systemu Android mapuje instancję AudioSource
na daną konfigurację ścieżki przechwytywania (w tym urządzenie, wzmocnienie i przetwarzanie wstępne) zgodnie z regułami specyficznymi dla produktu. Następujące źródła są dostępne dla programistów:
-
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 stosowane dla każdej instancji AudioSource
są określone w pliku /vendor/etc/audio_effects.xml
. Aby określić własne domyślne efekty dla każdej instancji AudioSource
, utwórz plik /vendor/etc/audio_effects.xml
i określ efekty przetwarzania wstępnego, które mają zostać włączone. Na przykład zobacz implementację dla Nexusa 10 w device/samsung/manta/audio_effects.xml
. Instancje AudioEffect
nabywają i zwalniają sesję po utworzeniu i zniszczeniu, umożliwiając efektom (takim jak wzmacniacz głośności) utrzymywanie się przez całą sesję.
Poniższy przykład umożliwia wstępne przetwarzanie 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
Strojenie AudioSource
nie ma wyraźnych wymagań dotyczących wzmocnienia dźwięku ani 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 typu „close-talk”: 90 dB SPL odczytuje wartość RMS 2500 (próbki 16-bitowe)
- Poziomuj ścieżki liniowo od -18 dB do +12 dB w stosunku do 90 dB SPL
- THD < 1% (90 dB SPL w zakresie od 100 do 4000 Hz)
- Wymagania dotyczące badań zbliżonych do ultradźwięków (więcej informacji można znaleźć w części Badania zbliżone do 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 środkowoprzepustowych i antyaliasingowych.
- Obsługa
- Efekty/przetwarzanie wstępne są domyślnie wyłączone
Przykłady dostrajania różnych efektów dla różnych źródeł to:
- Tłumik hałasu
- Dostrojony do tłumienia szumu wiatru w
CAMCORDER
- Dostrojony do stacjonarnego tłumika hałasu dla
VOICE_COMMUNICATION
- Dostrojony do tłumienia szumu wiatru w
- Automatyczna kontrola wzmocnienia
- Dostrojony do rozmów z bliskiej odległości przez
VOICE_COMMUNICATION
i główny mikrofon telefonu - Dostrojony do rozmów dalekich w
CAMCORDER
- Dostrojony do rozmów z bliskiej odległości przez
Zasoby
Więcej informacji można znaleźć w następujących zasobach:
- Dokumentacja Androida dla pakietu audiofx
- Dokumentacja systemu Android dotycząca efektu dźwiękowego tłumienia szumów
-
/device/google/crosshatch/audio_effects.xml
dla Pixela 3