Bonnes pratiques

Ce document contient des recommandations sur la façon de fournir des données vocales à l'API Speech-to-Text. Ces instructions visent à améliorer l'efficacité et la précision du service, ainsi qu'à obtenir des temps de réponse raisonnables. L'utilisation de l'API Speech-to-Text est optimale lorsque les données envoyées au service sont conformes aux paramètres décrits dans ce document.

Si vous suivez ces instructions et que vous n'obtenez pas les résultats escomptés de l'API, consultez la page Assistance et dépannage.

Pour des résultats optimaux… Dans la mesure du possible, évitez…
Enregistrez le contenu audio avec un taux d'échantillonnage de 16 000 Hz ou plus. Les taux d'échantillonnage inférieurs, qui peuvent réduire la précision. Cela étant dit, évitez aussi de ré-échantillonner le contenu audio. Par exemple, le taux natif en téléphonie est généralement de 8 000 Hz, et c'est ce taux qui doit être envoyé au service.
Ayez recours à un codec sans perte tel que FLAC ou LINEAR16 recommandé pour enregistrer et transmettre un contenu audio. Les codecs mp3, mp4, m4a, mu-law, a-law, ou autres codecs avec perte pendant l'enregistrement ou la transmission, qui peuvent réduire la précision. Si l'encodage actuel de votre contenu audio n'est pas compatible avec l'API, transcodez-le vers le codec sans perte FLAC ou LINEAR16. Si votre application doit utiliser un codec avec pertes afin de préserver la bande passante, nous vous recommandons les codecs AMR_WB ou OGG_OPUS, dans cet ordre de préférence.
Le programme de reconnaissance est conçu pour ignorer les voix et bruits de fond, sans suppression supplémentaire de bruit. Toutefois, pour obtenir des résultats optimaux, placez le micro le plus près possible de l'utilisateur, notamment en cas de bruits de fond. Les bruits de fond et échos excessifs qui peuvent réduire la précision, en particulier si un codec avec perte est aussi utilisé.
Si vous enregistrez du contenu audio auprès de plusieurs personnes et que vous utilisez un canal distinct pour chacune d'elle, envoyez chaque canal séparément pour obtenir les meilleurs résultats de reconnaissance possible. Toutefois, si tous les locuteurs sont enregistrés sur un seul et même canal, envoyez l'enregistrement tel quel. Que plusieurs personnes ne parlent en même temps ou à des volumes différents, car cela pourrait être interprété comme un bruit de fond et être ignoré.
Utilisez des mots et expressions clés pour ajouter des noms et des termes au vocabulaire, et pour améliorer la précision de mots et d'expressions spécifiques. Les termes et noms propres hors vocabulaire, qui ne seront pas reconnus malgré le vocabulaire très riche du programme de reconnaissance.

Taux d'échantillonnage

Si possible, définissez le taux d'échantillonnage de la source audio sur 16 000 Hz.

Pour les codecs sans en-tête, utilisez le paramètre explicit_decoding_config dans RecognitionConfig pour définir sample_rate_hertz en fonction du taux d'échantillonnage natif de la source audio (au lieu de ré-échantillonner le contenu).

Pour les codecs avec un en-tête, utilisez le paramètre auto_decoding_config dans RecognitionConfig pour choisir automatiquement le taux d'échantillonnage approprié.

Taille de trame

La reconnaissance en streaming reconnaît le contenu audio en direct tel qu'il est enregistré par un micro ou une autre source audio. Le flux audio est divisé en trames et envoyé dans des messages StreamingRecognizeRequest consécutifs. Toutes les tailles de trames sont acceptables. Les trames plus grandes sont plus efficaces, mais ajoutent de la latence. Une taille de trame de 100 millisecondes est recommandée, car elle constitue un bon compromis entre latence et efficacité.

Prétraitement du flux 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 la personne qui parle, en particulier en cas de bruits 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é.
  • Écoutez un échantillon du contenu audio. Celui-ci doit être clair, sans distorsion ni bruit inattendu.

Configurer la requête

Prenez soin de décrire avec précision les données audio envoyées avec votre requête à l'API Speech-to-Text. Si la configuration RecognitionConfig de votre requête spécifie les paramètres sampleRateHertz et encoding corrects, et que vous utilisez un outil de reconnaissance avec le bons paramètres language_codes et model, la transcription et la facturation de votre requête seront plus précises.

Étapes suivantes