Configurer les effets de prétraitement

La version d'Android 10 inclut les éléments suivants : exigences pour la capture avec VOICE_COMMUNICATION.

  • Les implémentations doivent fournir un annulant d'écho acoustique (AEC) sur le chemin de capture lorsque capturez avec VOICE_COMMUNICATION.
  • Si vous fournissez une AEC, elle doit être visible et contrôlable via les API AcousticEchoCanceler

La plate-forme Android fournit des effets audio sur les appareils compatibles dans les <ph type="x-smartling-placeholder"></ph> audiofx, auquel les développeurs peuvent accéder. Par exemple, la Nexus 10 accepte 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 un prétraitement est demandé. Dans le développement d'applications Android, un cas d'utilisation en tant qu'instance AudioSource. et les développeurs d'applications demandent d'utiliser AudioSource au lieu du matériel audio réel appareil. Le gestionnaire de règles audio Android mappe une instance AudioSource sur un une configuration donnée du chemin de capture (y compris l'appareil, le gain et le prétraitement) en fonction aux règles spécifiques aux produits. 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

Effets de prétraitement par défaut appliqués à chaque instance AudioSource sont spécifiés dans le fichier /vendor/etc/audio_effects.xml. À spécifiez vos propres effets par défaut pour chaque instance AudioSource, créez un /vendor/etc/audio_effects.xml et spécifiez le de prétraitement pour les activer. Pour consulter un exemple, reportez-vous à l'implémentation la Nexus 10 de device/samsung/manta/audio_effects.xml. Les instances AudioEffect acquièrent et libèrent une session lorsqu'elles sont créées et détruites. activer la persistance des effets (tels que l'outil d'amélioration du volume) tout au long du session.

L'exemple suivant active le prétraitement pour la VoIP Instances AudioSource et AudioSource du caméscope. 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 de la source

Le réglage de AudioSource n'a pas d'exigences explicites pour l'audio ou traitement audio, à l'exception de la reconnaissance vocale (VOICE_RECOGNITION). Conditions requises pour la reconnaissance vocale:

  • 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 sur une plage de 100 à 4 000 Hz)
  • Exigences relatives aux ultrasons (pour les tests, voir Ultrasons proches Tests): <ph type="x-smartling-placeholder">
      </ph>
    • Compatibilité avec SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND, tel que défini dans la section 7.8.3 du CDD.
    • Prise en charge d'un taux d'échantillonnage de 44 100 ou 48 000, ou les deux, sans passer de bande passante ou d'anticrénelage.
  • Effets/prétraitement désactivés par défaut

Voici quelques exemples de réglage d'effets différents pour différentes sources:

  • Suppresseur de bruit <ph type="x-smartling-placeholder">
      </ph>
    • Réglage pour le filtre de bruit du vent de CAMCORDER
    • Réglé pour le suppression du bruit fixe sur VOICE_COMMUNICATION
  • Contrôle automatique du gain <ph type="x-smartling-placeholder">
      </ph>
    • Réglage pour la discussion rapprochée pour VOICE_COMMUNICATION et le téléphone principal micro
    • Réglage pour la conversation de loin de CAMCORDER

Ressources

Pour en savoir plus, consultez les ressources suivantes: