La version Android 10 inclut les exigences suivantes pour la capture avec VOICE_COMMUNICATION
.
- Les implémentations doivent fournir un annuleur d'é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
AcousticEchoCanceler
de l’API SDK.
La plate-forme Android fournit des effets audio sur les appareils pris en charge dans le package audiofx
, auquel les développeurs peuvent accéder. Par exemple, le Nexus 10 prend en charge les effets de prétraitement suivants :
Associer avec des instances AudioSource
Les effets du 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
; et les développeurs d'applications demandent à utiliser l'abstraction AudioSource
au lieu du périphérique matériel audio réel. Le gestionnaire de politiques audio Android mappe une instance AudioSource
à une configuration de chemin de capture donnée (y compris le périphérique, le gain et le prétraitement) selon des règles spécifiques au produit. Les sources suivantes sont exposé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 un exemple, consultez l'implémentation pour le 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, permettant aux effets (tels que Loudness Enhancer) 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 au HAL.
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
Réglage des sources
Le réglage AudioSource
n'a pas d'exigences explicites sur le gain audio ou le traitement audio, à l'exception de la reconnaissance vocale ( VOICE_RECOGNITION
). Les exigences en matière de reconnaissance vocale comprennent :
- Réponse en fréquence plate (+/- 3 dB) de 100 Hz à 4 kHz
- Configuration de conversation rapprochée : 90 dB SPL lit RMS de 2 500 (échantillons 16 bits)
- Le niveau suit linéairement de -18 dB à +12 dB par rapport à 90 dB SPL
- THD < 1 % (90 dB SPL dans la plage de 100 à 4 000 Hz)
- Exigences relatives aux ultrasons proches (pour les tests, voir Tests par ultrasons proches ) :
- Prise en charge de
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
tel que défini dans la section 7.8.3 du CDD. - Prise en charge de l'un ou des deux taux d'échantillonnage de 44 100 ou 48 000 sans filtre passe-bande ni filtre anticrénelage.
- Prise en charge de
- Effets/prétraitement désactivés par défaut
Voici des exemples de réglage de différents effets pour différentes sources :
- Suppresseur de bruit
- Adapté au suppresseur de bruit du vent pour
CAMCORDER
- Adapté au suppresseur de bruit stationnaire pour
VOICE_COMMUNICATION
- Adapté au suppresseur de bruit du vent pour
- Contrôle automatique du gain
- Conçu pour une conversation rapprochée pour
VOICE_COMMUNICATION
et le micro principal du téléphone - Adapté pour les conversations lointaines pour
CAMCORDER
- Conçu pour une conversation rapprochée pour
Ressources
Pour plus d’informations, reportez-vous aux ressources suivantes :
- Documentation Android pour le package audiofx
- Documentation Android pour l'effet audio Suppression du bruit
- Fichier
/device/google/crosshatch/audio_effects.xml
pour le Pixel 3