Questo tutorial illustra come usare il Speech Synthesis Markup Language (SSML) per pronunciare un file di testo di indirizzi. Puoi eseguire il markup di una stringa di testo con tag SSML per personalizzare l'audio sintetico da Text-to-Speech.
Testo normale | Rendering SSML del testo non crittografato |
---|---|
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> |
Scopo
Invia una richiesta di sintesi vocale a Text-to-Speech utilizzando SSML e le librerie client di Text-to-Speech.
Costi
Per informazioni sui costi, consulta la pagina Prezzi di Text-to-Speech.
Prima di iniziare
- Assicurati di avere un progetto di sintesi vocale nella console Google Cloud.
- Questo tutorial ti consente di utilizzare Java, Node.js o Python. Se prevedi di utilizzare Java, scarica e installa Maven. Se prevedi di utilizzare Node.js, scarica npm.
Scarica gli esempi di codice
Per scaricare gli esempi di codice, clona gli esempi GitHub di Google Cloud per il linguaggio di programmazione che intendi utilizzare.
Java
Questo tutorial utilizza il codice nella directory texttospeech/cloud-client/src/main/java/com/example/texttospeech/
del repository Java di esempio della piattaforma Google Cloud.
Per scaricare e accedere al codice di questo tutorial, esegui questi comandi dal terminale.
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
Questo tutorial utilizza il codice nella directory texttospeech
del repository di esempi Node.js di Google Cloud.
Per scaricare e accedere al codice di questo tutorial, esegui questi comandi dal terminale.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git cd texttospeech/
Python
Questo tutorial utilizza il codice nella directory texttospeech/snippets
del repository di esempi Python di Google Cloud Platform.
Per scaricare e accedere al codice di questo tutorial, esegui questi comandi dal terminale.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git cd samples/snippets
installa la libreria client
Questo tutorial utilizza la libreria client di Text-to-Speech.
Java
Questo tutorial utilizza le seguenti dipendenze.
Node.js
Dal terminale, esegui il comando seguente.
npm install @google-cloud/text-to-speech
Python
Dal terminale, esegui il comando seguente.
pip install --upgrade google-cloud-texttospeech
Configura le tue credenziali Google Cloud Platform
Fornisci le credenziali di autenticazione al codice dell'applicazione impostando la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS
. Questa variabile si applica solo alla sessione di shell attuale. Se vuoi che la variabile venga applicata a future sessioni shell, impostala nel file di avvio della shell, ad esempio nel file ~/.bashrc
o ~/.profile
.
Linux o macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Sostituisci KEY_PATH
con il percorso del file JSON che contiene le tue credenziali.
Ad esempio:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
Per PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH
"
Sostituisci KEY_PATH
con il percorso del file JSON che contiene le tue credenziali.
Ad esempio:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
Per il prompt dei comandi:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH
Sostituisci KEY_PATH
con il percorso del file JSON che contiene le tue credenziali.
Importa librerie
Questo tutorial utilizza le seguenti librerie client e di sistema.
Java
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta l'articolo Librerie client di Text-to-Speech. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Text-to-Speech Java.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta l'articolo Librerie client di Text-to-Speech. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Text-to-Speech Node.js.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta l'articolo Librerie client di Text-to-Speech. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Text-to-Speech Python.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Utilizzare l'API Text-to-Speech
La seguente funzione prende una stringa di testo con tag SSML e il nome di un file MP3. La funzione utilizza il testo codificato con SSML per generare audio sintetico. La funzione salva l'audio sintetico nel nome file MP3 indicato come parametro.
L'intero input SSML può essere letto da una sola voce.
Puoi impostare la voce nell'oggetto VoiceSelectionParams
.
Java
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta l'articolo Librerie client di Text-to-Speech. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Text-to-Speech Java.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta l'articolo Librerie client di Text-to-Speech. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Text-to-Speech Node.js.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta l'articolo Librerie client di Text-to-Speech. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Text-to-Speech Python.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Personalizza l'audio sintetico
La seguente funzione prende il nome di un file di testo e lo converte in una stringa di testo codificata con SSML.
Java
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta l'articolo Librerie client di Text-to-Speech. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Text-to-Speech Java.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta l'articolo Librerie client di Text-to-Speech. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Text-to-Speech Node.js.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta l'articolo Librerie client di Text-to-Speech. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Text-to-Speech Python.
Per eseguire l'autenticazione in Text-to-Speech, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Organizzazione dei risultati in corso...
Questo programma utilizza il seguente input.
123 Street Ln, Small Town, IL 12345 USA 1 Jenny St & Number St, Tutone City, CA 86753 1 Piazza del Fibonacci, 12358 Pisa, Italy
Il passaggio del testo sopra indicato a text_to_ssml()
genera il seguente testo taggato.
<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>
Esegui il codice
Per generare un file audio di sintesi vocale, esegui il codice seguente dalla riga di comando.
Java
Linux o MacOS
Dalla directory java-docs-samples/texttospeech/cloud-client/
, esegui questo comando sulla riga di comando.
$ mvn clean package
Windows
Dalla directory java-docs-samples/texttospeech/cloud-client/
, esegui questo comando sulla riga di comando.
$ mvn clean package
Node.js
Linux o MacOS
Nel file hybridGlossaries.js
, rimuovi il commento dalle variabili
rilasciate TODO (developer)
.
Nel comando seguente, sostituisci projectId con il tuo ID progetto Google Cloud.
Dalla directory nodejs-docs-samples/texttospeech
, esegui questo comando sulla riga di comando.
$ node ssmlAddresses.js projectId
Windows
Nel file hybridGlossaries.js
, rimuovi il commento dalle variabili
rilasciate TODO (developer)
.
Nel comando seguente, sostituisci projectId con il tuo ID progetto Google Cloud.
Dalla directory nodejs-docs-samples/texttospeech
, esegui questo comando sulla riga di comando.
$env: C:/Node.js/node.exe C: ssmlAddresses.js projectId
Python
Linux o MacOS
Dalla directory python-docs-samples/texttospeech/snippets
, esegui questo comando sulla riga di comando.
$ python ssml_addresses.py
Windows
Dalla directory python-docs-samples/texttospeech/snippets
, esegui questo comando sulla riga di comando.
$env: C:/Python3/python.exe C: ssml_addresses.py
Controlla l'output
Questo programma genera un file audio example.mp3 di sintesi vocale.
Java
Vai alla directory java-docs-samples/texttospeech/cloud-client/resources/
.
Controlla se nella directory resources
è presente un file example.mp3.
Node.js
Vai alla directory nodejs-docs-samples/texttospeech/resources/
.
Controlla se nella directory resources
è presente un file example.mp3.
Python
Accedi a python-docs-samples/texttospeech/snippets/resources
.
Controlla se nella directory resources
è presente un file example.mp3.
Ascolta il seguente clip audio per verificare che il file example.mp3 abbia lo stesso suono.
Risolvere i problemi
Se dimentichi di impostare la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS nella riga di comando, viene generato un messaggio di errore:
The Application Default Credentials are not available.
Passando a
text_to_ssml()
il nome di un file inesistente, viene generato il messaggio di errore:IOError: [Errno 2] No such file or directory
Il passaggio a
ssml_to_audio()
di un parametro ssml_text contenente None genera il messaggio di errore:InvalidArgument: 400 Invalid input type. Type has to be text or SSML
Assicurati di eseguire il codice dalla directory corretta.
Passaggi successivi
- Esplora altri tag SSML.
- Scopri come utilizzare SSML con Translation e Vision
Esegui la pulizia
Per evitare che al tuo account Google Cloud Platform vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, usa la console Google Cloud per eliminare il progetto se non ti serve.
Elimina il progetto
- Nella console Google Cloud, vai alla pagina Progetti.
- Nell'elenco dei progetti, seleziona quello che vuoi eliminare e fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto e fai clic su Arresta per eliminare il progetto.