La version Android 10 inclut les exigences suivantes
pour la capture avec VOICE_COMMUNICATION.
- Les implémentations doivent fournir un dispositif d'annulation de l'écho acoustique (AEC) sur le chemin de capture lors de la capture avec
VOICE_COMMUNICATION. - Si vous fournissez un AEC, il doit être détectable et contrôlable via l'API SDK's
AcousticEchoCanceler.
La plate-forme Android fournit des effets audio sur les appareils compatibles dans le
audiofx package, 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 du véritable appareil matériel audio. L'Android Audio Policy Manager mappe une instance AudioSource à 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 exposées aux développeurs :
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
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 lorsqu'elles sont créées et détruites, ce qui permet aux effets (tels que l'amplificateur de volume) 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>
Optimisation de la source
L'optimisation AudioSource n'a pas d'exigences explicites concernant le gain audio ou le traitement audio, à l'exception de la reconnaissance vocale (VOICE_RECOGNITION). Les exigences pour la reconnaissance vocale incluent les éléments suivants :
- Réponse en fréquence plate (+/- 3 dB) de 100 Hz à 4 kHz
- Configuration de conversation rapprochée : 90 dB SPL lit une valeur RMS de 2 500 (échantillons de 16 bits)
- Niveau de suivi linéaire de -18 dB à +12 dB par rapport à 90 dB SPL
- THD < 1% (90 dB SPL dans la plage de 100 à 4 000 Hz)
- Exigences concernant les ultrasons proches (pour les tests, consultez
Tests d'ultrasons proches) :
- Prise en charge de
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUNDcomme défini dans la section 7.8.3 du CDD. - Prise en charge d'une ou des deux fréquences d'échantillonnage de 44 100 ou 48 000 sans filtres passe-bande ni filtres anti-repliement.
- Prise en charge de
- Effets/prétraitement désactivés par défaut
Voici des exemples d'optimisation de différents effets pour différentes sources :
- Suppresseur de bruit
- Optimisé pour le suppresseur de bruit du vent pour
CAMCORDER - Optimisé pour le suppresseur de bruit stationnaire pour
VOICE_COMMUNICATION
- Optimisé pour le suppresseur de bruit du vent pour
- Contrôle de gain automatique
- Optimisé pour la conversation rapprochée pour
VOICE_COMMUNICATIONet le micro principal du téléphone - Optimisé pour la conversation à distance pour
CAMCORDER
- Optimisé pour la conversation rapprochée pour
Ressources
Pour en savoir plus, consultez les ressources suivantes :
- Documentation Android pour le package audiofx
- Documentation Android pour l'effet audio de suppression du bruit
- Fichier
/device/google/crosshatch/audio_effects.xmlpour le Pixel 3