Wersja Androida 10 zawiera te wymagania dotyczące rejestrowania za pomocą VOICE_COMMUNICATION
:
- Implementacje powinny udostępniać akustyczną redukcję echa (AEC) na ścieżce przechwytywania w przypadku przechwytywania za pomocą
VOICE_COMMUNICATION
. - Jeśli udostępniasz interfejs AEC, musi on być możliwy do znalezienia i sterowania za pomocą interfejsu API pakietu SDK.
AcousticEchoCanceler
Platforma Android udostępnia efekty dźwiękowe na obsługiwanych urządzeniach w pakiecie
audiofx
, który jest dostępny dla deweloperów.
Na przykład Nexus 10 obsługuje te efekty wstępnej obróbki:
Parowanie z obiektowi AudioSource
Efekty wstępnej obróbki są powiązane z trybem zastosowania, w którym jest wymagana wstępna obróbka. W przypadku tworzenia aplikacji na Androida przypadek użycia jest określany jako instancja AudioSource
, a deweloperzy aplikacji proszą o używanie abstrakcji AudioSource
zamiast rzeczywistego urządzenia z układem audio. Menedżer zasad dotyczących dźwięku na urządzeniach z Androidem mapuje instancję AudioSource
na określoną konfigurację ścieżki przechwytywania (obejmującą urządzenie, uzyskanie i wstępne przetwarzanie) zgodnie z regułami dotyczącymi danej usługi. Deweloperzy mają dostęp do tych ź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 wstępnego przetwarzania stosowane do 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, które efekty przetwarzania wstępnego mają być włączone. Przykładem jest implementacja na Nexusie 10 w device/samsung/manta/audio_effects.xml
.
AudioEffect
instancje uzyskują i zwalniają sesję podczas tworzenia i usuwania, co umożliwia efektom (np. wzmacniacz głośności) utrzymywanie się przez całą sesję.
W tym przykładzie włączamy przetwarzanie wstępne dla instancji VoIPAudioSource
i KameraAudioSource
. Dzięki zadeklarowaniu konfiguracji AudioSource
w taki sposób framework automatycznie prosi o użycie tych efektów w HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Dostrajanie źródła
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:
- Płaska charakterystyka częstotliwości (+/- 3 dB) w zakresie 100 Hz–4 kHz
- Konfiguracja mówienia w odległości wyciągniętej ręki: 90 dB SPL odczytuje RMS 2500 (próbki 16-bitowe)
- Poziom zmienia się liniowo od -18 dB do +12 dB w stosunku do 90 dB SPL
- THD < 1% (90 dB SPL w zakresie 100–4000 Hz)
- Wymagania dotyczące testów z użyciem dźwięku o zbliżonej częstotliwości do ultradźwięków (informacje o testach znajdziesz w sekcji Testy z użyciem dźwięku o zbliżonej częstotliwości do ultradźwięków):
- Obsługa
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
zgodnie z definicją w sekcji 7.8.3 dokumentu CDD. - Obsługa jednej lub obu częstotliwości próbkowania 44 100 lub 48 000 bez filtrów przepustowości i antyaliasingu.
- Obsługa
- Efekty i przetwarzanie wstępne są domyślnie wyłączone
Przykłady dostosowywania różnych efektów do różnych źródeł:
- Redukcja szumów
- Dostrojono pod kątem tłumienia szumu wiatru na urządzeniu
CAMCORDER
- Dostrojono pod kątem nieruchomego tłumienia szumów na urządzeniu
VOICE_COMMUNICATION
- Dostrojono pod kątem tłumienia szumu wiatru na urządzeniu
- Automatyczna kontrola wzmocnienia
- Dostrojone do mikrofonu
VOICE_COMMUNICATION
i głównego mikrofonu telefonu - Dostrojone do dalekiej rozmowy przez
CAMCORDER
- Dostrojone do mikrofonu
Materiały
Więcej informacji znajdziesz w tych materiałach:
- Dokumentacja pakietu audiofx na Androida
- Dokumentacja Androida na temat efektu audio wyciszania szumów
- Plik
/device/google/crosshatch/audio_effects.xml
dla Pixela 3