La release di Android 10 include i seguenti
requisiti per l'acquisizione con VOICE_COMMUNICATION.
- Le implementazioni devono fornire un cancellatore di eco acustico (AEC) sul percorso di acquisizione quando
si acquisisce con
VOICE_COMMUNICATION. - Se fornisci un AEC, deve essere rilevabile e controllabile tramite l'API SDK's
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:
Associa alle istanze AudioSource
Gli effetti di pre-elaborazione sono associati alla modalità di caso d'uso in cui viene richiesta la pre-elaborazione. Nello sviluppo di app Android, un caso d'uso viene definito un'istanza AudioSource e 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. Le seguenti origini sono esposte agli sviluppatori:
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 a ogni istanza AudioSource sono specificati nel file /vendor/etc/audio_effects.xml. Per specificare i tuoi effetti predefiniti per ogni istanza 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 (ad esempio Loudness Enhancer) di persistere durante la sessione.
Il seguente esempio attiva la pre-elaborazione per le istanze AudioSource VoIP e AudioSource videocamera. Dichiarando la configurazione AudioSource in questo modo, il framework richiede automaticamente l'utilizzo di questi effetti da HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Ottimizzazione dell'origine
L'ottimizzazione di AudioSource non prevede 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 di frequenza piatta (+/- 3 dB) da 100 Hz a 4 kHz
- Configurazione di conversazione ravvicinata: 90 dB SPL legge RMS di 2500 (campioni a 16 bit)
- I livelli tracciano linearmente 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 prossimi (per i test, vedi
Test degli ultrasuoni prossimi):
- Supporto per
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUNDcome definito nella sezione 7.8.3 del CDD. - Supporto per una o entrambe le frequenze di campionamento di 44100 o 48000 senza filtri passa-banda o anti-aliasing.
- Supporto per
- Effetti/pre-elaborazione disattivati per impostazione predefinita
Ecco alcuni esempi di ottimizzazione di diversi effetti per diverse origini:
- Eliminazione dei rumori
- Ottimizzato per l'eliminazione dei rumori del vento per
CAMCORDER - Ottimizzato per l'eliminazione dei rumori stazionari per
VOICE_COMMUNICATION
- Ottimizzato per l'eliminazione dei rumori del vento per
- Controllo automatico del guadagno
- Ottimizzato per la conversazione ravvicinata per
VOICE_COMMUNICATIONe il microfono principale del telefono - Ottimizzato per la conversazione a distanza per
CAMCORDER
- Ottimizzato per la conversazione ravvicinata per
Risorse
Per ulteriori informazioni, consulta le seguenti risorse:
- Documentazione Android per il pacchetto audiofx
- Documentazione Android per l'effetto audio di eliminazione dei rumori
- File
/device/google/crosshatch/audio_effects.xmlper Pixel 3