GSP222

Présentation
L'API Text-to-Speech vous permet de créer des fichiers audio de voix humaine générée par machine, aussi appelée voix synthétique. Vous fournissez le contenu sous forme de texte ou de langage de balisage de synthèse vocale (SSML), spécifiez une voix (un "locuteur" unique d'une langue, avec un ton et un accent distinctifs) et configurez la sortie. L'API Text-to-Speech vous renvoie le contenu que vous avez envoyé sous forme de données audio (mots prononcés) avec la voix que vous avez spécifiée.
Dans cet atelier, vous allez utiliser l'API Text-to-Speech pour créer une série de fichiers audio, puis les écouter pour comparer les différences.
Points abordés
Dans cet atelier, vous allez utiliser l'API Text-to-Speech pour effectuer les opérations suivantes :
- Créer une série de fichiers audio
- Écouter et comparer les fichiers audio
- Configurer la sortie audio
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
-
Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
-
Passez les fenêtres suivantes :
- Accédez à la fenêtre d'informations de Cloud Shell.
- Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
- Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Définissez la région de votre projet
Dans Cloud Shell, saisissez la commande suivante pour définir la région dans laquelle exécuter votre projet pour cet atelier :
gcloud config set compute/region {{{project_0.default_region | Region}}}
Tâche 1 : Activer l'API Text-to-Speech
La page de l'API Cloud Text-to-Speech contient des informations, des métriques et plus encore.
Activez l'API :
-
Dans le menu de navigation (
), cliquez sur API et services > Bibliothèque.
-
Saisissez text-to-speech dans la zone Rechercher des API et des services, puis cliquez sur API Cloud Text-to-Speech dans les résultats de recherche.
-
Cliquez sur Activer pour activer l'API Cloud Text-to-Speech.
Patientez quelques secondes jusqu'à ce que l'API soit activée pour le projet.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Activer l'API Text-to-Speech
Tâche 2 : Créer un environnement virtuel
Les environnements virtuels Python permettent d'isoler l'installation d'un package du système.
- Installez l'environnement
virtualenv
:
sudo apt-get install -y virtualenv
- Créez l'environnement virtuel :
python3 -m venv venv
- Activez l'environnement virtuel :
source venv/bin/activate
Tâche 3 : Créer un compte de service
Un compte de service est requis pour authentifier vos appels vers l'API Text-to-Speech.
Créez un compte de service :
- Exécutez la commande suivante dans Cloud Shell :
gcloud iam service-accounts create tts-qwiklab
- Générez une clé pour utiliser ce compte de service :
gcloud iam service-accounts keys create tts-qwiklab.json --iam-account tts-qwiklab@{{{project_0.project_id | Project ID}}}.iam.gserviceaccount.com
- Enfin, définissez la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS
sur l'emplacement de votre fichier de clé :
export GOOGLE_APPLICATION_CREDENTIALS=tts-qwiklab.json
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer un compte de service
Tâche 4 : Obtenir la liste des voix disponibles
L'API Text-to-Speech propose différentes voix et langues que vous pouvez utiliser pour créer des fichiers audio. Vous pouvez utiliser n'importe quelle voix disponible pour lire votre contenu.
Remarque : L'API Text-to-Speech inclut plusieurs voix haut de gamme, appelées voix WaveNet, qui génèrent une voix synthétique plus naturelle. Elles sont également un peu plus chères que les autres voix disponibles. Pour en savoir plus, consultez la page des tarifs de Cloud Text-to-Speech.
- Toujours dans Cloud Shell, exécutez la commande
curl
suivante pour afficher la liste des voix disponibles lorsque vous utilisez l'API Text-to-Speech pour créer une voix synthétique :
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
"https://texttospeech.googleapis.com/v1/voices"
L'API Text-to-Speech renvoie un résultat au format JSON, semblable à ce qui suit :
{
"voices": [
{
"languageCodes": [
"es-ES"
],
"name": "es-ES-Standard-A",
"ssmlGender": "FEMALE",
"naturalSampleRateHertz": 24000
},
{
"languageCodes": [
"ja-JP"
],
"name": "ja-JP-Standard-A",
"ssmlGender": "FEMALE",
"naturalSampleRateHertz": 22050
},
{
"languageCodes": [
"pt-BR"
],
"name": "pt-BR-Standard-A",
"ssmlGender": "FEMALE",
"naturalSampleRateHertz": 24000
},
...
]
}
Dans les résultats de la commande curl
, notez que chaque voix comporte quatre champs :
-
name
: ID de la voix que vous fournissez pour demander cette voix
-
ssmlGender
: le genre de la voix qui doit prononcer le texte, tel que défini dans la recommandation SSML W3
-
naturalSampleRateHertz
: taux d'échantillonnage de la voix
-
languageCodes
: liste des codes de langue associés à cette voix
Notez également que pour certaines langues, vous avez le choix entre plusieurs voix.
- Limitez les résultats renvoyés par l'API à un seul code de langue :
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
"https://texttospeech.googleapis.com/v1/voices?language_code=en"
Tâche 5 : Créer une voix synthétique à partir de texte
Maintenant que vous savez comment obtenir les noms des voix qui prononceront votre texte, il est temps de créer une voix synthétique.
Créez votre requête
Utilisez l'éditeur Cloud Shell pour créer votre requête pour l'API Text-to-Speech dans un fichier texte nommé synthesize-text.json
.
-
Dans Cloud Shell, cliquez sur Ouvrir l'éditeur pour ouvrir l'éditeur Cloud Shell.
-
Dans la barre d'action, cliquez sur Fichier > Nouveau fichier.
-
Dans le champ Sélectionner le type de fichier ou Saisir le nom du fichier, saisissez synthesize-text.json.
-
Cliquez sur OK.
-
Ajoutez le code suivant à synthesize-text.json
:
{
'input':{
'text':'Cloud Text-to-Speech API allows developers to include
natural-sounding, synthetic human speech as playable audio in
their applications. The Text-to-Speech API converts text or
Speech Synthesis Markup Language (SSML) input into audio data
like MP3 or LINEAR16 (the encoding used in WAV files).'
},
'voice':{
'languageCode':'en-gb',
'name':'en-GB-Standard-A',
'ssmlGender':'FEMALE'
},
'audioConfig':{
'audioEncoding':'MP3'
}
}
- Cliquez sur Fichier > Enregistrer pour enregistrer le fichier.
La requête au format JSON fournit trois objets :
-
input
: fournit le texte à convertir en voix synthétique
-
voice
: objet qui spécifie la voix synthétique à utiliser
-
audioConfig
: indique à l'API Text-to-Speech le type d'encodage audio à renvoyer
-
Cliquez sur Ouvrir le terminal pour revenir au terminal.
-
Appelez l'API Text-to-Speech :
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @synthesize-text.json "https://texttospeech.googleapis.com/v1/text:synthesize" \
> synthesize-text.txt
Le résultat de cet appel est enregistré dans un fichier nommé synthesize-text.txt
.
- Cliquez sur Ouvrir l'éditeur et ouvrez le fichier
synthesize-text.txt
. Notez que l'API Text-to-Speech fournit la sortie audio sous forme de texte encodé en base64 attribué au champ audioContent
, comme illustré ci-dessous :
{
"audioContent": "//NExAASGoHwABhGudEACdzqFXfRE4EY3AACkD/zX4ADf/6J/[...]"
}
Convertissez la réponse
Pour convertir la réponse en audio, vous devez sélectionner les données audio contenues dans synthesize-text.txt
et les décoder dans un fichier audio (nous utiliserons un fichier MP3 dans cet atelier). Il existe de nombreuses façons de procéder. Cet atelier de programmation fournit un code Python simple.
-
Dans la barre d'action, cliquez sur Fichier > Nouveau fichier.
-
Dans le champ Sélectionner le type de fichier ou Saisir le nom du fichier, saisissez tts_decode.py.
-
Cliquez sur OK.
-
Saisissez ou copiez le code suivant dans tts_decode.py
:
import argparse
from base64 import decodebytes
import json
"""
Usage:
python tts_decode.py --input "synthesize-text.txt" \
--output "synthesize-text-audio.mp3"
"""
def decode_tts_output(input_file, output_file):
""" Decode output from Cloud Text-to-Speech.
input_file: the response from Cloud Text-to-Speech
output_file: the name of the audio file to create
"""
with open(input_file) as input:
response = json.load(input)
audio_data = response['audioContent']
with open(output_file, "wb") as new_file:
new_file.write(decodebytes(audio_data.encode('utf-8')))
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description="Decode output from Cloud Text-to-Speech",
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('--input',
help='The response from the Text-to-Speech API.',
required=True)
parser.add_argument('--output',
help='The name of the audio file to create',
required=True)
args = parser.parse_args()
decode_tts_output(args.input, args.output)
- Enregistrez
tts_decode.py
.
Créez et exécutez le fichier audio
Pour créer un fichier audio à partir de la réponse fournie par l'API Text-to-Speech :
-
Cliquez sur Ouvrir le terminal pour revenir à Cloud Shell.
-
Créez le fichier audio synthesize-text-audio.mp3
:
python tts_decode.py --input "synthesize-text.txt" --output "synthesize-text-audio.mp3"
-
Cliquez sur Ouvrir l'éditeur pour ouvrir l'éditeur Cloud Shell.
-
Dans le volet de gauche, cliquez sur synthesize-text-audio.mp3
pour ouvrir le fichier.
-
Lancez la lecture pour écouter le fichier. Vous entendez alors la voix synthétique prononcer le texte que vous lui avez fourni.
Tâche 6 : Créer une voix synthétique à partir de SSML
En plus du texte, vous pouvez également fournir des entrées sous forme de langage de balisage de synthèse vocale (SSML) à l'API Text-to-Speech. SSML définit un format XML pour représenter la voix synthétique. En utilisant des entrées SSML, vous pouvez contrôler plus précisément les pauses, l'emphase, la prononciation, la hauteur, la vitesse et d'autres caractéristiques de la sortie vocale synthétique.
Créez votre requête
Commencez par créer votre requête pour l'API Text-to-Speech dans un fichier texte nommé synthesize-ssml.json
.
-
Toujours dans l'éditeur Cloud Shell, dans la barre d'action, cliquez sur Fichier > Nouveau fichier.
-
Dans le champ Sélectionner le type de fichier ou Saisir le nom du fichier, saisissez synthesize-ssml.json.
-
Cliquez sur OK.
-
Saisissez ou copiez le code suivant dans le fichier synthesize-ssml.json
:
{
'input':{
'ssml':'<speak><s>
<emphasis level="moderate">Cloud Text-to-Speech API</emphasis>
allows developers to include natural-sounding
<break strength="x-weak"/>
synthetic human speech as playable audio in their
applications.</s>
<s>The Text-to-Speech API converts text or
<prosody rate="slow">Speech Synthesis Markup Language</prosody>
<say-as interpret-as=\"characters\">SSML</say-as>
input into audio data
like <say-as interpret-as=\"characters\">MP3</say-as> or
<sub alias="linear sixteen">LINEAR16</sub>
<break strength="weak"/>
(the encoding used in
<sub alias="wave">WAV</sub> files).</s></speak>'
},
'voice':{
'languageCode':'en-gb',
'name':'en-GB-Standard-A',
'ssmlGender':'FEMALE'
},
'audioConfig':{
'audioEncoding':'MP3'
}
}
Notez que, cette fois-ci, l'objet input
de la charge utile JSON à envoyer contient des éléments différents :
- Au lieu d'un champ
text
, l'objet input
comporte un champ ssml
.
- Le champ
ssml
contient du contenu au format XML avec l'élément <speak>
comme racine.
Chacun des éléments présents dans cette représentation XML de l'entrée affecte la sortie de la voix synthétique.
Plus précisément, les éléments de cet exemple ont les effets suivants :
-
<s>
contient une phrase.
-
<emphasis>
met l'accent sur le mot ou l'expression qu'il inclut.
-
<break>
insère une pause dans le discours.
-
<prosody>
personnalise la hauteur vocale, la vitesse d'élocution ou le volume du texte inclus, comme spécifié par les attributs rate
, pitch
ou volume
.
-
<say-as>
fournit des indications supplémentaires sur la façon d'interpréter et de prononcer le texte inclus. Par exemple, il indique si une série de nombres doit être prononcée de façon ordinale ou cardinale.
-
<sub>
spécifie une valeur de substitution à prononcer pour le texte inclus.
Remarque : Vous pouvez consulter la liste complète des éléments SSML acceptés par Cloud Text-to-Speech dans la documentation de référence SSML.
-
Cliquez sur Ouvrir le terminal pour ouvrir le terminal Cloud Shell.
-
Appelez l'API Text-to-Speech et enregistrez le résultat dans un fichier nommé synthesize-ssml.txt
:
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @synthesize-ssml.json "https://texttospeech.googleapis.com/v1/text:synthesize" \
> synthesize-ssml.txt
Créez et exécutez le fichier audio
Là encore, vous devez décoder le résultat de l'API Text-to-Speech avant de pouvoir écouter l'audio.
- Cliquez sur Ouvrir le terminal. Exécutez la commande suivante pour générer un fichier audio nommé
synthesize-ssml-audio.mp3
à l'aide de l'utilitaire tts_decode.py
que vous avez créé précédemment :
python tts_decode.py --input "synthesize-ssml.txt" --output "synthesize-ssml-audio.mp3"
-
Cliquez sur Ouvrir l'éditeur.
-
Dans le volet de gauche, cliquez sur synthesize-ssml-audio.mp3
, puis lancez la lecture du fichier audio intégré.
Notez les différences entre la sortie SSML et la sortie du fichier texte : bien que les deux fichiers audio prononcent les mêmes mots, la sortie SSML les prononce un peu différemment, en ajoutant des pauses et en prononçant les abréviations autrement.
Tâche 7 : Configurer la sortie audio et les profils d'appareil
Au-delà du SSML, vous pouvez personnaliser encore davantage la sortie vocale synthétique créée par l'API Text-to-Speech. Vous pouvez spécifier d'autres encodages audio, modifier la hauteur tonale de la sortie audio et même demander que la sortie soit optimisée pour un type de matériel spécifique.
Créez votre requête
Créez votre requête pour l'API Text-to-Speech dans un fichier texte nommé synthesize-with-settings.json
:
-
Dans la barre d'action, cliquez sur Fichier > Nouveau fichier.
-
Dans le champ Sélectionner le type de fichier ou Saisir le nom du fichier, saisissez synthesize-with-settings.json.
-
Cliquez sur OK.
-
Saisissez ou copiez le code suivant dans le fichier synthesize-with-settings.json
:
{
'input':{
'text':'The Text-to-Speech API is ideal for any application
that plays audio of human speech to users. It allows you
to convert arbitrary strings, words, and sentences into
the sound of a person speaking the same things.'
},
'voice':{
'languageCode':'en-us',
'name':'en-GB-Standard-A',
'ssmlGender':'FEMALE'
},
'audioConfig':{
'speakingRate': 1.15,
'pitch': -2,
'audioEncoding':'OGG_OPUS',
'effectsProfileId': ['headphone-class-device']
}
}
- Enregistrez le fichier.
Notez que l'objet audioConfig
contient désormais des champs supplémentaires :
- Le champ
speakingRate
spécifie la vitesse à laquelle le locuteur s'exprime. La valeur 1.0 correspond à la vitesse normale de la voix, 0.5 à la moitié de cette vitesse et 2.0 au double de cette vitesse.
- Le champ
pitch
spécifie la hauteur tonale. La valeur indique le nombre de demi-tons inférieurs (négatif) ou supérieurs (positif) à utiliser pour prononcer les mots.
- Le champ
audioEncoding
spécifie l'encodage audio à utiliser pour les données. Les valeurs acceptées pour ce champ sont LINEAR16
, MP3
et OGG_OPUS
.
- Le champ
effectsProfileId
demande à l'API Text-to-Speech d'optimiser la sortie audio pour un appareil de lecture spécifique. L'API applique alors un profil audio prédéfini à la sortie, ce qui améliore la qualité audio sur la classe d'appareils spécifiée.
Remarque : La fonctionnalité de profils audio est en version bêta. Consultez le guide pour savoir comment l'utiliser dans votre application. Tous les autres paramètres décrits ici sont disponibles pour une utilisation normale dans votre application.
-
Cliquez sur Ouvrir le terminal.
-
Appelez l'API Text-to-Speech :
curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @synthesize-with-settings.json "https://texttospeech.googleapis.com/v1beta1/text:synthesize" \
> synthesize-with-settings.txt
Le résultat de cet appel est enregistré dans un fichier nommé synthesize-with-settings.txt
.
Créez et exécutez le fichier audio
- Exécutez la commande suivante pour générer un fichier audio nommé
synthesize-with-settings-audio.mp3
à partir du résultat renvoyé par l'API Text-to-Speech :
python tts_decode.py --input "synthesize-with-settings.txt" --output "synthesize-with-settings-audio.ogg"
-
Cliquez sur Ouvrir l'éditeur pour ouvrir l'éditeur Cloud Shell.
-
Dans le volet de gauche, cliquez sur synthesize-with-settings-audio.mp3
pour ouvrir le fichier, puis lancez la lecture.
-
Écoutez le fichier audio synthesize-with-settings-audio.mp3
ainsi que les autres fichiers audio que vous avez créés dans cet atelier. Notez que la voix dans ce fichier parle un peu plus vite et plus bas que dans les autres.
Félicitations !
Vous avez appris à créer une voix synthétique à l'aide de l'API Cloud Text-to-Speech. Vous avez découvert ces opérations :
- Lister toutes les voix synthétiques disponibles dans l'API Text-to-Speech
- Créer une requête pour l'API Text-to-Speech et appeler l'API avec curl, en fournissant à la fois du texte et du SSML
- Configurer le paramètre de sortie audio, y compris en spécifiant un profil d'appareil pour la lecture audio
Étapes suivantes et informations supplémentaires
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 5 septembre 2025
Dernier test de l'atelier : 4 novembre 2024
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.