Text-to-Speech ti consente di convertire parole e frasi in dati audio codificati in base64 di una voce umana naturale. Puoi quindi convertire i dati audio in un file audio riproducibile, ad esempio un MP3, decodificando i dati in base64. L'API Text-to-Speech accetta l'input come testo non elaborato o Speech Synthesis Markup Language (SSML).
Questo documento descrive come creare un file audio da un input di testo o SSML utilizzando Text-to-Speech. Puoi anche consultare l'articolo Nozioni di base su Text-to-Speech se non hai familiarità con concetti come la sintesi vocale o SSML.
Questi esempi richiedono che Google Cloud CLI sia installato e inizializzato. Per informazioni sulla configurazione di gcloud CLI, consulta Eseguire l'autenticazione per Text-to-Speech.
Converti il testo in audio con voce sintetizzata
I seguenti esempi di codice mostrano come convertire una stringa in dati audio.
Puoi configurare l'output della sintesi vocale in vari modi, ad esempio selezionando una voce unica o modulando l'output in base a tono, volume, velocità del parlato e frequenza di campionamento.
Protocollo
Per informazioni dettagliate, consulta l'endpoint API text:synthesize.
Per sintetizzare l'audio dal testo, invia una richiesta POST HTTP all'endpoint
text:synthesize. Nel corpo della richiesta POST, specifica il tipo di voce da sintetizzare nella sezione di configurazione voice, il testo da sintetizzare nel campo text della sezione input e il tipo di audio da creare nella sezione audioConfig.
Il seguente snippet di codice invia una richiesta di sintesi all'endpoint
text:synthesize e salva i risultati in un file
denominato synthesize-text.txt. Sostituisci PROJECT_ID con l'ID progetto.
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':'Android is a mobile operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets.' }, 'voice':{ 'languageCode':'en-gb', 'name':'en-GB-Standard-A', 'ssmlGender':'FEMALE' }, 'audioConfig':{ 'audioEncoding':'MP3' } }" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-text.txt
L'API Text-to-Speech restituisce l'audio sintetizzato come dati con codifica in base64 contenuti nell'output JSON. L'output JSON nel file synthesize-text.txt è simile allo snippet di codice riportato di seguito.
{
"audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.."
}
Per decodificare i risultati dell'API Text-to-Speech come file audio MP3, esegui il comando seguente dalla stessa directory del file synthesize-text.txt.
cat synthesize-text.txt | grep 'audioContent' | \ sed 's|audioContent| |' | tr -d '\n ":{},' > tmp.txt && \ base64 tmp.txt --decode > synthesize-text-audio.mp3 && \ rm tmp.txt
Go
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 Go.
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.
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.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Text-to-Speech per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Text-to-Speech per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Text-to-Speech per Ruby.
Converti SSML in audio con voce sintetizzata
L'utilizzo di SSML nella richiesta di sintesi audio può produrre un audio più simile al parlato umano naturale. Nello specifico, SSML offre un controllo più preciso su come l'output audio rappresenta le pause nel parlato o su come l'audio pronuncia date, orari, acronimi e abbreviazioni.
Per maggiori dettagli sugli elementi SSML supportati dall'API Text-to-Speech, consulta il riferimento SSML.
Protocollo
Per informazioni dettagliate, consulta l'endpoint API text:synthesize.
Per sintetizzare l'audio dal SSML, invia una richiesta POST HTTP all'endpoint
text:synthesize. Nel corpo della richiesta POST, specifica il tipo di voce da sintetizzare nella sezione di configurazione voice, l'SSML da sintetizzare nel campo ssml della sezione input e il tipo di audio da creare nella sezione audioConfig.
Il seguente snippet di codice invia una richiesta di sintesi all'endpoint
text:synthesize e salva i risultati in un file
denominato synthesize-ssml.txt. Sostituisci PROJECT_ID con l'ID progetto.
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':{ 'ssml':'<speak>The <say-as interpret-as=\"characters\">SSML</say-as> standard is defined by the <sub alias=\"World Wide Web Consortium\">W3C</sub>.</speak>' }, 'voice':{ 'languageCode':'en-us', 'name':'en-US-Standard-B', 'ssmlGender':'MALE' }, 'audioConfig':{ 'audioEncoding':'MP3' } }" "https://texttospeech.googleapis.com/v1/text:synthesize" > synthesize-ssml.txt
L'API Text-to-Speech restituisce l'audio sintetizzato come dati con codifica in base64 contenuti nell'output JSON. L'output JSON nel file synthesize-ssml.txt è simile allo snippet di codice riportato di seguito.
{
"audioContent": "//NExAASCCIIAAhEAGAAEMW4kAYPnwwIKw/BBTpwTvB+IAxIfghUfW.."
}
Per decodificare i risultati dell'API Text-to-Speech come file audio MP3, esegui il comando seguente dalla stessa directory del file synthesize-ssml.txt.
cat synthesize-ssml.txt | grep 'audioContent' | \ sed 's|audioContent| |' | tr -d '\n ":{},' > tmp.txt && \ base64 tmp.txt --decode > synthesize-ssml-audio.mp3 && \ rm tmp.txt
Go
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 Go.
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.
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.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Text-to-Speech per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Text-to-Speech per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Text-to-Speech per Ruby.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di Text-to-Speech in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei workload.
Prova Text-to-Speech gratis