La version d'Android 10 inclut les exigences suivantes pour la capture avec VOICE_COMMUNICATION
.
- Les implémentations doivent fournir un système d'annulation de l'écho acoustique (AEC) sur le chemin de capture lors de la capture avec
VOICE_COMMUNICATION
. - Si vous fournissez une AEC, elle doit être visible et contrôlable via le
AcousticEchoCanceler
de l'API du SDK.
La plate-forme Android fournit des effets audio sur les appareils compatibles dans le package
audiofx
, auquel les développeurs peuvent accéder.
Par exemple, le Nexus 10 est compatible avec les effets de prétraitement suivants:
Associer à des instances AudioSource
Les effets de prétraitement sont associés au mode de cas d'utilisation dans lequel le prétraitement est demandé. Dans le développement d'applications Android, un cas d'utilisation est appelé instance AudioSource
. Les développeurs d'applications demandent à utiliser l'abstraction AudioSource
au lieu de l'appareil matériel audio réel. Le Gestionnaire de règles audio Android mappe une instance AudioSource
sur une configuration de chemin de capture donnée (y compris l'appareil, le gain et le prétraitement) conformément aux règles spécifiques au produit. Les sources suivantes sont présentées aux développeurs:
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
Les effets de prétraitement par défaut appliqués à chaque instance AudioSource
sont spécifiés dans le fichier /vendor/etc/audio_effects.xml
. Pour spécifier vos propres effets par défaut pour chaque instance AudioSource
, créez un fichier /vendor/etc/audio_effects.xml
et spécifiez les effets de prétraitement à activer. Pour obtenir un exemple, consultez l'implémentation du Nexus 10 dans device/samsung/manta/audio_effects.xml
.
Les instances AudioEffect
acquièrent et libèrent une session lors de leur création et de leur destruction, ce qui permet aux effets (tels que l'amplificateur de la clarté du son) de persister tout au long de la session.
L'exemple suivant active le prétraitement pour les instances VoIP AudioSource
et Camcorder AudioSource
. En déclarant la configuration AudioSource
de cette manière, le framework demande automatiquement l'utilisation de ces effets à partir du HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Ajustement de la source
Le réglage AudioSource
n'impose pas d'exigences explicites sur le gain audio ni le traitement audio, à l'exception de la reconnaissance vocale (VOICE_RECOGNITION
). Les exigences concernant la reconnaissance vocale incluent les éléments suivants:
- Réponse en fréquence plate (+/- 3 dB) de 100 Hz à 4 kHz
- Configuration de la conversation fermée: 90 dB SPL lit des RMS de 2 500 (échantillons 16 bits)
- "Level" suit de manière linéaire de -18 dB à +12 dB par rapport à 90 dB SPL
- THD < 1% (90 dB SPL dans la plage de fréquences de 100 à 4 000 Hz)
- Exigences concernant la quasi-échographie (pour les tests, consultez la section Tests de quasi-échographie) :
- Prise en charge de
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
comme défini dans la section 7.8.3 du CDD. - Prise en charge d'un taux d'échantillonnage de 44 100 ou de 48 000, ou les deux, sans filtres passe-bande ou anticrénelage.
- Prise en charge de
- Effets/prétraitement désactivés par défaut
Voici quelques exemples d'ajustement de différents effets pour différentes sources:
- Suppresseur de bruit
- Réglage du suppresseur de bruit du vent pour
CAMCORDER
- Réglage pour le filtre de bruit fixe pour
VOICE_COMMUNICATION
- Réglage du suppresseur de bruit du vent pour
- Contrôle de gain automatique
- Optimisé pour la conversation en mode mains libres pour le
VOICE_COMMUNICATION
et le micro principal du téléphone - Optimisé pour la conversation à distance pour
CAMCORDER
- Optimisé pour la conversation en mode mains libres pour le
Ressources
Pour en savoir plus, consultez les ressources suivantes:
- Documentation Android pour le package audiofx
- Documentation Android sur l'effet audio de suppression du bruit
- Fichier
/device/google/crosshatch/audio_effects.xml
pour le Pixel 3