La release di Android 10 include i seguenti
requisiti per l'acquisizione con VOICE_COMMUNICATION
.
- Le implementazioni devono fornire un sistema di cancellazione dell'eco acustico (AEC) sul percorso di acquisizione quando
l'acquisizione viene eseguita con
VOICE_COMMUNICATION
. - Se fornisci un AEC, deve essere rilevabile e controllabile tramite le API SDK
AcousticEchoCanceler
.
La piattaforma Android fornisce effetti audio sui dispositivi supportati nel pacchetto
audiofx
, a cui gli sviluppatori possono accedere.
Ad esempio, Nexus 10 supporta i seguenti effetti di pre-elaborazione:
Accoppia con le istanze AudioSource
Gli effetti di pre-elaborazione sono associati alla modalità del caso d'uso in cui
viene richiesta la pre-elaborazione. Nello sviluppo di app per Android, un caso d'uso viene definito
istanza AudioSource
; gli sviluppatori di app richiedono di utilizzare
l'astrazione AudioSource
anziché il dispositivo
hardware audio effettivo. Android Audio Policy Manager mappa un'istanza AudioSource
a una
determinata configurazione del percorso di acquisizione (inclusi dispositivo, guadagno e pre-elaborazione) in base
a regole specifiche del prodotto. Gli sviluppatori possono accedere alle seguenti fonti:
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
Gli effetti di preelaborazione predefiniti applicati per ogni istanza AudioSource
sono specificati nel file /vendor/etc/audio_effects.xml
. Per
specificare i tuoi effetti predefiniti per ogni istanza di AudioSource
, crea un
file /vendor/etc/audio_effects.xml
e specifica gli
effetti di pre-elaborazione da attivare. Per un esempio, consulta l'implementazione per
Nexus 10 in device/samsung/manta/audio_effects.xml
.
Le istanze AudioEffect
acquisiscono e rilasciano una sessione quando vengono create ed eliminate, consentendo agli effetti (come l'ottimizzazione del volume) di persistere per tutta la sessione.
L'esempio seguente abilita la preelaborazione per le istanze VoIP
AudioSource
e videocamera AudioSource
. Se dichiari
la configurazione AudioSource
in questo modo, il framework
richiede automaticamente l'utilizzo di questi effetti dall'HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Ottimizzazione delle fonti
La regolazione di AudioSource
non ha requisiti espliciti per il guadagno audio o l'elaborazione audio, ad eccezione del riconoscimento vocale (VOICE_RECOGNITION
). I requisiti per il riconoscimento vocale includono:
- Risposta in frequenza piatta (+/- 3 dB) da 100 Hz a 4 kHz
- Configurazione per la comunicazione ravvicinata: 90 dB SPL legge RMS di 2500 (campioni a 16 bit)
- Il livello varia in modo lineare da -18 dB a +12 dB rispetto a 90 dB SPL
- THD < 1% (90 dB SPL nell'intervallo da 100 a 4000 Hz)
- Requisiti per gli ultrasuoni vicini (per i test, vedi
Test sugli ultrasuoni
vicini):
- Supporto per
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
come definito nella sezione 7.8.3 della CDD. - Supporto di una o entrambe le frequenze di campionamento 44100 o 48000 senza filtri passa banda o antialiasing.
- Supporto per
- Effetti/pre-elaborazione disattivati per impostazione predefinita
Ecco alcuni esempi di regolazione di diversi effetti per fonti diverse:
- Eliminazione dei rumori
- Ottimizzato per il soppressore del rumore del vento per
CAMCORDER
- Ottimizzato per il soppressore del rumore statico per
VOICE_COMMUNICATION
- Ottimizzato per il soppressore del rumore del vento per
- Controllo automatico del guadagno
- Ottimizzato per la conversazione ravvicinata per
VOICE_COMMUNICATION
e il microfono principale dello smartphone - Ottimizzato per la conversazione a distanza per
CAMCORDER
- Ottimizzato per la conversazione ravvicinata per
Risorse
Per maggiori informazioni, consulta le seguenti risorse:
- Documentazione Android per il pacchetto audiofx
- Documentazione Android per l'effetto audio di soppressione del rumore
- File
/device/google/crosshatch/audio_effects.xml
per Pixel 3