Ce tutoriel explique comment utiliser le langage de balisage de synthèse vocale (SSML) pour énoncer un fichier texte d'adresses. Vous pouvez baliser une chaîne de texte avec des tags SSML afin de personnaliser le son synthétique à partir de Text-to-Speech.
Texte brut | Affichage SSML du texte brut |
---|---|
123 Street Ln |
<speak>123 Street Ln</speak> |
1 Number St |
<speak>1 Number St</speak> |
1 Piazza del Fibonacci |
<speak>1 Piazza del Fibonacci</speak> |
Objectif
Envoyer une requête de voix synthétique à Text-to-Speech à l'aide de SSML et des bibliothèques clientes de Text-to-Speech
Coûts
Reportez-vous à la page des tarifs de Text-to-Speech pour obtenir des informations sur les coûts.
Avant de commencer
- Assurez-vous de disposer d'un projet Text-to-Speech dans la console Google Cloud.
- Ce tutoriel vous permet d'utiliser Java, Node.js ou Python. Si vous comptez utiliser Java, téléchargez et installez Maven. Si vous comptez utiliser Node.js, téléchargez npm.
Télécharger les exemples de code
Pour télécharger les exemples de code, clonez les exemples GitHub Google Cloud associés au langage de programmation que vous souhaitez utiliser.
Java
Ce tutoriel utilise du code figurant dans le répertoire texttospeech/cloud-client/src/main/java/com/example/texttospeech/
du dépôt d'exemples Java Google Cloud Platform.
Pour télécharger le code pour ce tutoriel et y accéder, exécutez les commandes suivantes depuis le terminal.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git cd java-docs-samples/texttospeech/cloud-client/src/main/java/com/example/texttospeech/
Node.js
Ce tutoriel utilise du code figurant dans le répertoire texttospeech
du dépôt d'exemples Node.js de Google Cloud Platform.
Pour télécharger le code pour ce tutoriel et y accéder, exécutez les commandes suivantes depuis le terminal.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git cd texttospeech/
Python
Ce tutoriel utilise du code figurant dans le répertoire texttospeech/snippets
du dépôt d'exemples Python Google Cloud Platform.
Pour télécharger le code pour ce tutoriel et y accéder, exécutez les commandes suivantes depuis le terminal.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git cd samples/snippets
Installer la bibliothèque cliente
Ce tutoriel utilise la bibliothèque cliente de Text-to-Speech.
Java
Ce tutoriel utilise les dépendances suivantes.
Node.js
Depuis le terminal, exécutez la commande ci-dessous.
npm install @google-cloud/text-to-speech
Python
Depuis le terminal, exécutez la commande ci-dessous.
pip install --upgrade google-cloud-texttospeech
Configurer vos identifiants Google Cloud Platform
Provide authentication credentials to your application code by setting the
environment variable GOOGLE_APPLICATION_CREDENTIALS
. This
variable applies only to your current shell session. If you want the variable
to apply to future shell sessions, set the variable in your shell startup file,
for example in the ~/.bashrc
or ~/.profile
file.
Linux ou macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
For example:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
For PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
For command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
Replace KEY_PATH
with the path of the JSON file that contains your credentials.
Importer des bibliothèques
Ce tutoriel utilise les systèmes et bibliothèques clientes indiqués ci-dessous.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Text-to-Speech, consultez la page Bibliothèques clientes Text-to-Speech. Pour en savoir plus, consultez la documentation de référence de l'API Text-to-Speech en langage Java.
Pour vous authentifier auprès de Text-to-Speech, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Text-to-Speech, consultez la page Bibliothèques clientes Text-to-Speech. Pour en savoir plus, consultez la documentation de référence de l'API Text-to-Speech en langage Node.js.
Pour vous authentifier auprès de Text-to-Speech, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Text-to-Speech, consultez la page Bibliothèques clientes Text-to-Speech. Pour en savoir plus, consultez la documentation de référence de l'API Text-to-Speech en langage Python.
Pour vous authentifier auprès de Text-to-Speech, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Utiliser l'API Text-to-Speech
La fonction suivante récupère une chaîne de texte taguée à l'aide de SSML, ainsi que le nom d'un fichier MP3. La fonction utilise le texte tagué à l'aide de SSML pour générer un son synthétique. La fonction enregistre le son synthétique au format MP3 en utilisant le nom de fichier désigné en tant que paramètre.
L'intégralité de l'entrée SSML ne peut être lue que par une seule voix.
Vous pouvez définir la voix dans l'objet VoiceSelectionParams
.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Text-to-Speech, consultez la page Bibliothèques clientes Text-to-Speech. Pour en savoir plus, consultez la documentation de référence de l'API Text-to-Speech en langage Java.
Pour vous authentifier auprès de Text-to-Speech, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Text-to-Speech, consultez la page Bibliothèques clientes Text-to-Speech. Pour en savoir plus, consultez la documentation de référence de l'API Text-to-Speech en langage Node.js.
Pour vous authentifier auprès de Text-to-Speech, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Text-to-Speech, consultez la page Bibliothèques clientes Text-to-Speech. Pour en savoir plus, consultez la documentation de référence de l'API Text-to-Speech en langage Python.
Pour vous authentifier auprès de Text-to-Speech, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Personnaliser le son synthétique
La fonction suivante accepte en entrée le nom d'un fichier texte et convertit le contenu du fichier en une chaîne de texte taguée par le biais de SSML.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Text-to-Speech, consultez la page Bibliothèques clientes Text-to-Speech. Pour en savoir plus, consultez la documentation de référence de l'API Text-to-Speech en langage Java.
Pour vous authentifier auprès de Text-to-Speech, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Text-to-Speech, consultez la page Bibliothèques clientes Text-to-Speech. Pour en savoir plus, consultez la documentation de référence de l'API Text-to-Speech en langage Node.js.
Pour vous authentifier auprès de Text-to-Speech, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Text-to-Speech, consultez la page Bibliothèques clientes Text-to-Speech. Pour en savoir plus, consultez la documentation de référence de l'API Text-to-Speech en langage Python.
Pour vous authentifier auprès de Text-to-Speech, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Regrouper tous les éléments
Ce programme utilise l'entrée suivante.
123 Street Ln, Small Town, IL 12345 USA 1 Jenny St & Number St, Tutone City, CA 86753 1 Piazza del Fibonacci, 12358 Pisa, Italy
Le transfert du texte ci-dessus vers text_to_ssml()
génère le texte tagué suivant.
<speak>123 Street Ln, Small Town, IL 12345 USA <break time="2s"/>1 Jenny St & Number St, Tutone City, CA 86753 <break time="2s"/>1 Piazza del Fibonacci, 12358 Pisa, Italy <break time="2s"/></speak>
Exécuter le code
Pour générer un fichier audio de voix synthétique, exécutez le code suivant à partir de la ligne de commande.
Java
Linux ou MacOS
Dans le répertoire java-docs-samples/texttospeech/cloud-client/
, exécutez la commande suivante sur la ligne de commande.
$ mvn clean package
Windows
Dans le répertoire java-docs-samples/texttospeech/cloud-client/
, exécutez la commande suivante sur la ligne de commande.
$ mvn clean package
Node.js
Linux ou MacOS
Dans le fichier hybridGlossaries.js
, annulez la mise en commentaire sur les variables TODO (developer)
commentées.
Dans la commande suivante, remplacez projectId par votre ID de projet Google Cloud.
Dans le répertoire nodejs-docs-samples/texttospeech
, exécutez la commande suivante sur la ligne de commande.
$ node ssmlAddresses.js projectId
Windows
Dans le fichier hybridGlossaries.js
, annulez la mise en commentaire sur les variables TODO (developer)
commentées.
Dans la commande suivante, remplacez projectId par votre ID de projet Google Cloud.
Dans le répertoire nodejs-docs-samples/texttospeech
, exécutez la commande suivante sur la ligne de commande.
$env: C:/Node.js/node.exe C: ssmlAddresses.js projectId
Python
Linux ou MacOS
Dans le répertoire python-docs-samples/texttospeech/snippets
, exécutez la commande suivante sur la ligne de commande.
$ python ssml_addresses.py
Windows
Dans le répertoire python-docs-samples/texttospeech/snippets
, exécutez la commande suivante sur la ligne de commande.
$env: C:/Python3/python.exe C: ssml_addresses.py
Vérifier le résultat
Ce programme génère un fichier audio de voix synthétique nommé example.mp3.
Java
Accédez au répertoire java-docs-samples/texttospeech/cloud-client/resources/
.
Recherchez un fichier example.mp3 dans le répertoire resources
.
Node.js
Accédez au répertoire nodejs-docs-samples/texttospeech/resources/
.
Recherchez un fichier example.mp3 dans le répertoire resources
.
Python
Accédez à python-docs-samples/texttospeech/snippets/resources
.
Recherchez un fichier example.mp3 dans le répertoire resources
.
Écoutez le clip audio suivant pour vérifier que votre fichier example.mp3 est ressemblant.
Résoudre les problèmes
Si vous oubliez de définir la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS sur la ligne de commande, le message d'erreur suivant s'affiche :
The Application Default Credentials are not available.
Si vous transmettez le nom d'un fichier inexistant à
text_to_ssml()
, le message d'erreur suivant s'affiche :IOError: [Errno 2] No such file or directory
Si vous transmettez à
ssml_to_audio()
un paramètre ssml_text contenant la valeur None, le message d'erreur suivant s'affiche :InvalidArgument: 400 Invalid input type. Type has to be text or SSML
Vérifiez que vous exécutez le code à partir du répertoire approprié.
Étape suivante
- Découvrez d'autres tags SSML.
- Découvrez comment utiliser SSML avec les API Translation et Vision.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte Google Cloud Platform, supprimez votre projet à l'aide de Google Cloud Console une fois que vous n'en avez plus besoin.
Supprimer votre projet
- Dans Google Cloud Console, accédez à la page Projets.
- Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimer.
- Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour le supprimer.