Crea audio in formato lungo
Questo documento descrive la procedura di sintesi dell'audio in formato lungo. La sintesi di audio di lunga durata sintetizza in modo asincrono fino a 1 milione di byte di input. Per saperne di più sui concetti fondamentali di Text-to-Speech, leggi Nozioni di base di Text-to-Speech.
Prima di iniziare
Prima di poter inviare una richiesta all'API Text-to-Speech, devi aver completato le azioni seguenti. Per informazioni dettagliate, consulta la pagina Prima di iniziare.
- Abilita Text-to-Speech in un progetto Google Cloud .
- Assicurati che la fatturazione sia abilitata per Text-to-Speech.
- Assicurati di disporre dei seguenti ruoli IAM (Identity and Access Management) nel bucket Google Cloud di output.
- Storage Object Creator
- Storage Object Viewer
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Sintetizza audio lunghi dal testo tramite la riga di comando
Puoi convertire il testo in audio in formato lungo effettuando una richiesta HTTP POST all'endpoint https://texttospeech.googleapis.com/v1beta1/projects/{$project_number}/locations/global:synthesizeLongAudio.
Nel corpo del comando POST, specifica i seguenti campi.
• voice: il tipo di voce da sintetizzare.
• input.text: il testo da sintetizzare.
• audioConfig: il tipo di audio da creare.
• output_gcs_uri: il percorso di output Google Cloud nel formato "gs://bucket_name/file_name.wav".
• parent: l'elemento padre nel formato "projects/{YOUR_PROJECT_NUMBER}/locations/{YOUR_PROJECT_LOCATION}".
L'input può contenere fino a 1 MB di caratteri. Il limite esatto può variare a seconda dei diversi input.
Crea un bucket di archiviazione Google Cloud nel progetto utilizzato per eseguire la sintesi. Assicurati che il service account utilizzato per eseguire la sintesi abbia accesso in lettura e scrittura al bucket di output Google Cloud .
Esegui la richiesta REST dalla riga di comando per sintetizzare l'audio dal testo utilizzando Text-to-Speech. Il comando utilizza il comando
gcloud auth application-default print-access-tokenper recuperare un token di autorizzazione per la richiesta.Metodo HTTP e URL:
POST https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global:synthesizeLongAudio
Corpo JSON della richiesta:
{ "parent": "projects/12345/locations/global", "audio_config":{ "audio_encoding":"LINEAR16" }, "input":{ "text":"hello" }, "voice":{ "language_code":"en-us", "name":"en-us-Standard-A" }, "output_gcs_uri": "gs://bucket_name/file_name.wav" }Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 0, "startTime": "2022-12-20T00:46:56.296191037Z", "lastUpdateTime": "2022-12-20T00:46:56.296191037Z" }, "done": false }L'output JSON per il comando REST contiene il nome dell'operazione a lunga esecuzione nel campo
name. Esegui la richiesta REST dalla riga di comando per eseguire query sullo stato dell'operazione a lunga esecuzione.Assicurati che il service account che esegue l'operazione GET provenga dallo stesso progetto utilizzato per la sintesi.
Metodo HTTP e URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations/23456
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/12345/locations/global/operations/23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 100 }, "done": true }Esegui una query sull'elenco di tutte le operazioni in esecuzione in un determinato progetto, quindi esegui la richiesta REST.
Assicurati che il service account che esegue l'operazione LIST provenga dallo stesso progetto utilizzato per la sintesi.
Metodo HTTP e URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "operations": [ { "name": "12345", "done": false }, { "name": "23456", "done": false } ], "nextPageToken": "" }Una volta completata correttamente l'operazione a lunga esecuzione, trova il file audio di output nell'URI del bucket specificato nel campo
output_gcs_uri. Se l'operazione non è stata completata correttamente, individua l'errore eseguendo una query mediante il comando GET REST, correggi l'errore ed esegui di nuovo la chiamata RPC.
Sintetizza audio lunghi dal testo mediante le librerie client
Segui queste istruzioni per sintetizzare audio lunghi.
Installa la libreria client
Python
Prima di installare la libreria, assicurati di aver preparato l'ambiente per lo sviluppo Python.
pip install --upgrade google-cloud-texttospeech
Crea dati audio
Puoi utilizzare Text-to-Speech per creare un file audio lungo di parlato umano sintetico. Utilizza il seguente codice per creare un file audio lungo nel bucket Google Cloud .
Python
Prima di eseguire l'esempio, assicurati di aver preparato l'ambiente per lo sviluppo Python.
Esegui la pulizia
Per evitare addebiti non necessari di Google Cloud , utilizzaGoogle Cloud console per eliminare il progetto se non ti serve.
Passaggi successivi
- Scopri di più su Cloud Text-to-Speech leggendo le nozioni di base.
- Consulta l'elenco delle voci disponibili che puoi utilizzare per la sintesi vocale.