Nozioni di base su Cloud Text-to-Speech

Text-to-Speech consente agli sviluppatori di creare una sintesi vocale dal suono naturale come audio riproducibile. Puoi utilizzare i file di dati audio creati con Text-to-Speech per potenziare le tue applicazioni o arricchire contenuti multimediali come video o registrazioni audio (in conformità con i Termini di servizio di Google Cloud Platform, che prevedono anche il rispetto di tutte le leggi applicabili).

Text-to-Speech converte il testo o l'input Speech Synthesis Markup Language (SSML) in dati audio come MP3 o LINEAR16 (la codifica utilizzata nei file WAV).

Questo documento è una guida ai concetti fondamentali sull'utilizzo di Text-to-Speech. Prima di approfondire l'API, consulta le guide rapide.

Esempio di base

Text-to-Speech è ideale per qualsiasi applicazione che riproduce audio di discorsi umani per gli utenti. Consente di convertire stringhe, parole e frasi arbitrarie nella voce di una persona che parla delle stesse cose.

Immagina di avere un'app di assistente vocale che fornisce feedback in linguaggio naturale ai tuoi utenti sotto forma di file audio riproducibili. La tua app potrebbe eseguire un'azione e poi fornire un feedback vocale all'utente.

Ad esempio, la tua app potrebbe voler segnalare di aver aggiunto correttamente un evento al calendario dell'utente. La tua app crea una stringa di risposta per comunicare all'utente che l'operazione è riuscita, ad esempio "Ho aggiunto l'evento al tuo calendario".

Con Text-to-Speech, puoi convertire la stringa di risposta in un discorso umano reale da riprodurre per l'utente, in modo simile all'esempio fornito di seguito.


Esempio 1. File audio generato da Text-to-Speech

Per creare un file audio come l'esempio 1, invia una richiesta a Text-to-Speech come il seguente snippet di codice.

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':'I\'ve added the event to your calendar.'
  },
  'voice':{
    'languageCode':'en-gb',
    'name':'en-GB-Standard-A',
    'ssmlGender':'FEMALE'
  },
  'audioConfig':{
    'audioEncoding':'MP3'
  }
}" "https://texttospeech.googleapis.com/v1/text:synthesize"

Sintesi vocale

Il processo di traduzione dell'input di testo in dati audio è chiamato sintesi e l'output della sintesi è chiamato voce sintetica. Text-to-Speech accetta due tipi di input: testo non elaborato o dati formattati SSML (descritti di seguito). Per creare un nuovo file audio, chiama l'endpoint synthesize dell'API.

Il processo di sintesi vocale genera dati audio non elaborati come stringa con codifica base64. Devi decodificare la stringa codificata in base64 in un file audio prima che un'applicazione possa riprodurlo. La maggior parte delle piattaforme e dei sistemi operativi dispone di strumenti per decodificare il testo base64 in file multimediali riproducibili.

Per saperne di più sulla sintesi, consulta le guide di avvio rapido o la pagina Creazione di file audio vocali.

Voci

Text-to-Speech crea dati audio grezzi di un discorso umano naturale. ovvero crea un audio che sembra una persona che parla. Quando invii una richiesta di sintesi a Text-to-Speech, devi specificare una voce che "pronunci" le parole.

Text-to-Speech offre un'ampia selezione di voci personalizzate che puoi utilizzare. Le voci variano in base alla lingua, al genere e all'accento (per alcune lingue). Ad esempio, puoi creare un audio che imiti il suono di una donna che parla inglese con accento britannico, come nell'esempio 1 riportato sopra. Puoi anche convertire lo stesso testo in una voce diversa, ad esempio quella di un uomo di lingua inglese con accento australiano.


Esempio 2. File audio generato con il relatore en-AU

Per visualizzare l'elenco completo delle voci disponibili, consulta Voci supportate.

Voci WaveNet

Oltre ad altre voci sintetiche tradizionali, Text-to-Speech offre anche voci premium generate con WaveNet. Gli utenti ritengono che le voci generate da Wavenet siano più calde e simili a quelle umane rispetto ad altre voci sintetiche.

La differenza principale rispetto a una voce WaveNet è il modello WaveNet utilizzato per generare la voce. I modelli WaveNet sono stati addestrati utilizzando campioni audio grezzi di persone reali che parlano. Di conseguenza, questi modelli generano una voce sintetica con un'enfasi e un'inflessione più simili a quelle umane su sillabe, fonemi e parole.

Confronta i due campioni seguenti di voce sintetica.


Esempio 3. File audio generato con una voce standard


Esempio 4. File audio generato con una voce WaveNet

Per scoprire di più sui vantaggi delle voci generate da WaveNet, consulta la sezione Voci supportate.

Altre impostazioni di output audio

Oltre alla voce, puoi configurare anche altri aspetti dell'output dei dati audio creato dalla sintesi vocale. La Text-to-Speech supporta la configurazione della velocità del parlato, del tono, del volume e della frequenza di campionamento in hertz.

Per ulteriori informazioni, consulta le Informazioni di riferimento su AudioConfig.

Supporto di Speech Synthesis Markup Language (SSML)

Puoi migliorare la sintesi vocale prodotta da Text-to-Speech contrassegnando il testo utilizzando Speech Synthesis Markup Language (SSML). SSML ti consente di inserire pause, pronunce di acronimi o altri dettagli aggiuntivi nei dati audio creati da Text-to-Speech. Text-to-Speech supporta un sottoinsieme degli elementi SSML disponibili.

Ad esempio, puoi assicurarti che la sintesi vocale pronunci correttamente i numeri ordinali fornendo a Text-to-Speech un input SSML che contrassegna i numeri ordinali come tali.


Esempio 5. File audio generato da input di testo normale


Esempio 6. File audio generato dall'input SSML

Per scoprire di più su come sintetizzare la voce da SSML, vedi Creare file audio vocali