Questo tutorial illustra come usare il linguaggio SSML (Speech Synthesis Markup Language) per la sintesi vocale degli indirizzi contenuti in un file di testo. Puoi contrassegnare una stringa di testo con tag SSML per personalizzare l'audio sintetico di Text-to-Speech.
| Testo non crittografato | Rendering SSML di 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> |
Obiettivo
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 dei prezzi di Text-to-Speech.
Prima di iniziare
- Assicurati di avere un progetto Text-to-Speech nella consoleGoogle 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 di Google Cloud su GitHub 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 di esempi Java della piattaforma Google Cloud.
Per scaricare e passare al codice per questo tutorial, esegui i seguenti 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 della piattaforma Google Cloud.
Per scaricare e passare al codice per questo tutorial, esegui i seguenti 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 della piattaforma Google Cloud.
Per scaricare e passare al codice per questo tutorial, esegui i seguenti 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 dipendenze seguenti.
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 credenziali Google Cloud
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 o 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_PATHReplace KEY_PATH with the path of the JSON file that contains your credentials.
Importa le librerie
Questo tutorial utilizza le librerie di sistema e client seguenti.
Java
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, 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 ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, 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 ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, 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 ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Utilizza l'API Text-to-Speech
La funzione seguente accetta una stringa di testo con tag SSML e il nome di un file MP3. La funzione utilizza il testo con tag SSML per generare audio sintetico. La funzione salva l'audio sintetico nel nome file MP3 designato come parametro.
L'intero input SSML può essere letto solo da una singola voce.
Puoi impostare la voce nell'oggetto VoiceSelectionParams.
Java
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, 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 ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, 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 ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, 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 ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Personalizza l'audio sintetico
La funzione seguente accetta il nome di un file di testo e converte i contenuti del file in una stringa di testo con tag SSML.
Java
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, 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 ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, 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 ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Text-to-Speech, consulta Librerie client di Text-to-Speech. Per saperne di più, 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 ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Metti insieme tutti i pezzi
Questo programma utilizza l'input seguente.
123 Street Ln, Small Town, IL 12345 USA 1 Jenny St & Number St, Tutone City, CA 86753 1 Piazza del Fibonacci, 12358 Pisa, Italy
Se passi il testo precedente a text_to_ssml(), viene generato il testo con tag seguente.
<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 il comando seguente nella riga di comando.
$ mvn clean package
Windows
Dalla directory java-docs-samples/texttospeech/cloud-client/, esegui il comando seguente nella riga di comando.
$ mvn clean package
Node.js
Linux o macOS
Nel file hybridGlossaries.js, rimuovi il commento dalle variabili commentate TODO (developer).
Nel comando seguente, sostituisci projectId con il tuo ID progetto Google Cloud .
Dalla directory nodejs-docs-samples/texttospeech, esegui il comando seguente nella riga di comando.
$ node ssmlAddresses.js projectId
Windows
Nel file hybridGlossaries.js, rimuovi il commento dalle variabili commentate TODO (developer).
Nel comando seguente, sostituisci projectId con il tuo ID progetto Google Cloud .
Dalla directory nodejs-docs-samples/texttospeech, esegui il comando seguente nella 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 il comando seguente nella riga di comando.
$ python ssml_addresses.py
Windows
Dalla directory python-docs-samples/texttospeech/snippets, esegui il comando seguente nella 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 la directory resources per verificare che ci sia un file example.mp3.
Node.js
Vai alla directory nodejs-docs-samples/texttospeech/resources/.
Controlla la directory resources per verificare che ci sia un file example.mp3.
Python
Vai a python-docs-samples/texttospeech/snippets/resources.
Controlla la directory resources per verificare che ci sia un file example.mp3.
Ascolta l'audio clip seguente per verificare che il tuo file example.mp3 sia identico.
Risoluzione dei problemi
Se dimentichi di impostare la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS nella riga di comando, viene generato il messaggio di errore:
The Application Default Credentials are not available.
Se passi a
text_to_ssml()il nome di un file inesistente, viene generato il messaggio di errore:IOError: [Errno 2] No such file or directory
Se passi a
ssml_to_audio()un parametro ssml_text che contiene None, viene generato 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 vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, utilizza la consoleGoogle Cloud per eliminare il progetto se non ti serve.
Elimina il progetto
- Nella consoleGoogle Cloud , vai alla pagina Progetti.
- Nell'elenco dei progetti, seleziona quello da eliminare e fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto e fai clic su Chiudi per eliminare il progetto.