Concepts de base de Cloud Text-to-Speech

Text-to-Speech permet aux développeurs de créer une voix humaine synthétique aux sonorités naturelles en tant que contenu audio lisible. Vous pouvez utiliser les fichiers de données audio que vous avez créés à l'aide de Text-to-Speech pour alimenter des applications ou enrichir des contenus multimédias tels que des vidéos ou des enregistrements audio (en conformité avec les conditions d'utilisation de Google Cloud Platform et les lois en vigueur).

Text-to-Speech convertit une entrée au format texte ou dans le langage de balisage de synthèse vocale (SSML, Speech Synthesis Markup Language) en données audio au format MP3 ou LINEAR16 (encodage utilisé dans les fichiers WAV).

Ce document est un guide présentant les concepts fondamentaux de l'utilisation de Text-to-Speech. Avant de vous plonger dans l'API elle-même, consultez les guides de démarrage rapide.

Exemple de base

Text-to-Speech est idéal pour les applications qui diffusent aux utilisateurs du contenu audio sous la forme d'une voix humaine. Il permet de convertir des chaînes, des mots et des phrases arbitraires en une voix humaine donnant les mêmes informations.

Imaginez que vous ayez une application d'assistance vocale qui fournit aux utilisateurs des commentaires en langage naturel sous forme de fichiers audio lisibles. L'application peut effectuer une action, puis restituer à l'utilisateur les commentaires sous la forme d'une voix humaine.

Par exemple, l'application souhaite indiquer qu'elle a correctement ajouté un événement à l'agenda de l'utilisateur. Elle crée une chaîne de réponse pour signaler le succès de l'opération à l'utilisateur, par exemple : "I've added the event to your calendar" (J'ai bien ajouté l'événement à votre agenda).

Avec Text-to-Speech, vous pouvez convertir cette chaîne de réponse en voix humaine réelle afin de la restituer à l'utilisateur, comme dans l'exemple ci-dessous.


Exemple 1. Fichier audio généré à partir de Text-to-Speech

Pour créer un fichier audio comme dans l'exemple 1, vous devez envoyer à Text-to-Speech une requête semblable à l'extrait de code ci-après.

curl -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "x-goog-user-project: <var>PROJECT_ID</var>" -H "Content-Type: application/json; charset=utf-8" --data "{
  'input':{
    'text':'I\'ve added the event to your calendar.'
  },
  'voice':{
    'languageCode':'en-gb',
    'name':'en-GB-Standard-A',
    'ssmlGender':'FEMALE'
  },
  'audioConfig':{
    'audioEncoding':'MP3'
  }
}" "https://texttospeech.googleapis.com/v1/text:synthesize"

Synthèse vocale

Le processus de conversion de l'entrée textuelle en données audio est appelé synthèse, et la sortie de la synthèse est appelée voix synthétique. Text-to-Speech accepte deux types d'entrées : du texte brut ou des données au format SSML (décrites ci-dessous). Pour créer un fichier audio, vous appelez le point de terminaison synthesize de l'API.

Le processus de synthèse vocale génère des données audio brutes sous la forme d'une chaîne encodée en base64. Vous devez décoder cette chaîne en fichier audio pour qu'une application puisse la lire. La plupart des plates-formes et des systèmes d'exploitation disposent d'outils permettant de décoder le texte base64 en fichiers multimédias lisibles.

Pour en savoir plus sur la synthèse, consultez les guides de démarrage rapide ou la page Créer des fichiers audio vocaux.

Voix

Text-to-Speech crée des données audio brutes de voix humaines naturelles. Cela veut dire que cette API génère des contenus audio qui font penser qu'une personne parle. Lorsque vous envoyez une requête de synthèse à Text-to-Speech, vous devez spécifier une voix qui "prononce" les mots.

Text-to-Speech met à votre disposition une large sélection de voix personnalisées. Celles-ci diffèrent selon la langue, le genre et l'accent (pour certaines langues). Par exemple, vous pouvez créer des contenus audio reproduisant la voix d'une femme anglophone s'exprimant avec un accent britannique, comme dans l'exemple 1 ci-dessus. Vous pouvez également convertir le même texte dans une voix différente, par exemple celle d'un homme parlant anglais avec un accent australien.


Exemple 2. Fichier audio généré avec un locuteur en-AU

Pour voir la liste complète des voix proposées, consultez la page Voix disponibles.

Voix WaveNet

En plus des voix synthétiques traditionnelles, Text-to-Speech fournit également des voix haut de gamme générées par WaveNet. Les utilisateurs trouvent que ces voix sont plus chaleureuses et sonnent plus humaines que les autres voix synthétiques.

La principale différence réside dans le modèle WaveNet utilisé pour générer la voix WaveNet. Les modèles WaveNet ont été entraînés à l'aide d'échantillons audio bruts de vraies personnes. Par conséquent, ces modèles génèrent une voix synthétique avec une emphase et une inflexion plus humaines sur les syllabes, les phonèmes et les mots.

Comparez les deux exemples de voix synthétique suivants.


Exemple 3. Fichier audio généré avec une voix standard


Exemple 4. Fichier audio généré avec une voix WaveNet

Pour en savoir plus sur les avantages des voix générées par WaveNet, consultez la page Types de voix.

Autres paramètres de sortie audio

Outre la voix, vous pouvez également configurer d'autres aspects de la sortie de données audio créée par la synthèse vocale. Text-to-Speech vous permet de configurer la vitesse d'élocution, la hauteur de la voix, le volume et le taux d'échantillonnage en hertz.

Pour en savoir plus, consultez la documentation de référence AudioConfig.

Compatibilité du langage de balisage de synthèse vocale (SSML)

Vous pouvez améliorer la voix synthétique produite par Text-to-Speech en marquant le texte à l'aide du langage de balisage de synthèse vocale (SSML). Le langage SSML vous permet d'insérer des pauses, des prononciations d'acronymes ou d'autres détails supplémentaires dans les données audio créées par Text-to-Speech. Text-to-Speech accepte un sous-ensemble des éléments SSML disponibles.

Par exemple, vous pouvez faire en sorte que la voix synthétique prononce correctement les nombres ordinaux en fournissant à Text-to-Speech une entrée SSML qui marque les nombres ordinaux comme tels.


Exemple 5. Fichier audio généré à partir d'une entrée de texte brut


Exemple 6. Fichier audio généré à partir d'une entrée SSML

Pour en savoir plus sur la synthèse de la voix à partir d'entrées SSML, consultez la page Créer des fichiers audio vocaux.