La release 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 l'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
un'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 origini:
android.media.MediaRecorder.AudioSource.CAMCORDERandroid.media.MediaRecorder.AudioSource.VOICE_COMMUNICATIONandroid.media.MediaRecorder.AudioSource.VOICE_CALLandroid.media.MediaRecorder.AudioSource.VOICE_DOWNLINKandroid.media.MediaRecorder.AudioSource.VOICE_UPLINKandroid.media.MediaRecorder.AudioSource.VOICE_RECOGNITIONandroid.media.MediaRecorder.AudioSource.MICandroid.media.MediaRecorder.AudioSource.DEFAULT
Gli effetti di pre-elaborazione 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 preelaborazione da attivare. Per un esempio, vedi 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.
Il seguente esempio 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 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_ULTRASOUNDcome definito nella sezione 7.8.3 del 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 diverse fonti:
- 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_COMMUNICATIONe il microfono principale dello smartphone - Ottimizzato per la conversazione a distanza per
CAMCORDER
- Ottimizzato per la conversazione ravvicinata per
Risorse
Per saperne di più, 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.xmlper Pixel 3