Bonnes pratiques pour l'audio

Cette page contient des recommandations sur la manière de fournir des données vocales à l'API Assistant Google. Ces instructions visent à améliorer l'efficacité et la précision du service, ainsi qu'à obtenir des temps de réponse raisonnables.

Prétraitement du contenu audio

Il est préférable de fournir un contenu audio aussi propre que possible en utilisant un micro de bonne qualité et bien positionné. Cependant, le fait d'appliquer un traitement de signal de réduction de bruit au contenu audio avant de l'envoyer au service réduit généralement la précision de la reconnaissance. Le service est en effet conçu pour gérer les contenus audio bruyants.

Pour des résultats optimaux, procédez comme suit :

  • Placez le micro le plus près possible de l'utilisateur, en particulier en cas de bruit de fond.
  • Évitez les découpages audio.
  • N'utilisez pas le contrôle automatique du gain (CAG).
  • Tout traitement de réduction du bruit doit être désactivé.

Dans l'idéal:

  • Le niveau audio doit être calibré de sorte que le signal d'entrée ne soit pas coupé et que les niveaux audio de voix maximales atteignent environ -20 à -10 dBFS.
  • L'appareil doit présenter des caractéristiques d'amplitude par rapport à la fréquence approximativement "plates" (+- 3 dB de 100 Hz à 8 000 Hz).
  • La distorsion harmonique totale doit être inférieure à 1% entre 100 et 8 000 Hz à un niveau d'entrée de 90 dB SPL.

Taux d'échantillonnage

Si possible, définissez le taux d'échantillonnage de la source audio sur 16 000 Hz. Sinon, définissez sample_rate_hertz pour qu'il corresponde au taux d'échantillonnage natif de la source audio (au lieu de ré-échantillonner le contenu).

Taille de trame

L'Assistant Google reconnaît le son en direct tel qu'il est enregistré par un micro. Le flux audio doit être divisé en trames et envoyé dans des messages AssistRequest consécutifs. Toutes les tailles de trames sont acceptables. Les trames plus grandes sont plus efficaces, mais elles augmentent la latence. Une taille de trame de 100 millisecondes est recommandée, car elle constitue un bon compromis entre latence et efficacité.