Media Translation API

L’API de traduction de média permet de générer des traductions audio dynamiques, en temps réel, et à grande échelle.

Les traductions sont fournies en streaming avec une faible latence. Les contenus audio sont internationalisés rapidement et simplement puis intégrés directement afin de favoriser l’engagement temps réel des utilisateurs.

Il est possible de créer des flux de traduction de contenu audio en provenance d’un microphone ou de fichiers audio pré-enregistrés.

Comment la traduction de médias ?

La génération de flux (streaming) de traduction de contenu se fait à travers un flux gRPC bi-directionnel.

La première requête émise contient uniquement des informations de configuration. Elle permet notamment de préciser:

Les requêtes suivantes envoyées sur le même flux seront constituées de trames consécutives d’octets audio bruts. L’encodage des données audio doit être conforme au protocole Proto3.

Une série de réponses de traduction est retournée au fil des échanges bi-directionnels, contenant principalement: Le texte de traduction Le statut intermédiaire ou final des résultats de traduction, qui évoluent au fur et à mesure des données transmises à l’API. Un événement indiquant si un énoncé a été déterminé comme terminé, ce qui signifie que l’utilisateur doit arrêter d’envoyer des requêtes, tout en attendant les réponses de traduction restantes.

Bonnes pratiques d’utilisation de la traduction de médias

Pour obtenir des résultats optimaux, il est nécessaire de capturer l’audio avec une fréquence d’échantillonnage de 16 000 Hz ou plus. Il est déconseillé de ré-échantillonner, il vaut mieux définir la fréquence d’échantillonnage dans la requête de configuration afin qu’elle corresponde à la fréquence d’échantillonnage native de la source audio.

Il est également recommandé d’utiliser des codec sans perte, type FLAC ou LINEAR16, pour améliorer la précision de la reconnaissance de la parole. LINEAR16 est recommandé pour obtenir une meilleure latence des flux de réponse.

Les modèles de traduction Premium améliorés sont plus efficaces que les autres pour les fichiers audio bruyants ou avec de l’écho.

Pour des requêtes courtes il sera intéressant de définir single_utterance à true dans la requête de configuration car le service arrêtera automatiquement la traduction en cas de long silence ou de pause. Cela optimise également la reconnaissance des énoncés courts et minimise également la latence.

Des trames audio de 100 millisecondes constituent un bon compromis entre latence et efficacité.

Bien évidemment, il faut fournir les fichiers audio les plus propres possibles, enregistrés avec des microphones de qualité et bien positionnés, sans clipping audio. Tout traitement de réduction du bruit doit être désactivé car cela risque de réduire la prédiction de la reconnaissance. Le service est conçu pour gérer les fichiers audios bruités.

Références