Crea audio nel formato lungo
Questo documento ti guida nella procedura di sintesi di audio nel formato lungo. La sintesi audio lunga sintetizza in modo asincrono fino a 1 milione di byte in ingresso. Per scoprire di più sui concetti fondamentali di Text-to-Speech, leggi le 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. Consulta la pagina Prima di iniziare per maggiori dettagli.
- 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 GCS di output.
- Storage Object Creator
- Storage Object Viewer
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Sintetizza l'audio lungo dal testo tramite la riga di comando
Puoi convertire testo nel formato lungo in audio effettuando una richiesta POST HTTP 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 del file di output GCS nel formato "gs://bucket_name/file_name.wav".
• parent
: il publisher principale nel formato "projects/{YOUR PROJECT NUMBER}/locations/{YOUR PROJECT LOCATION}".
L'input può contenere fino a 1 MB di caratteri e il limite esatto può variare a seconda dell'input.
Crea un bucket Google Cloud Storage all'interno del progetto che verrà utilizzato per eseguire la sintesi. Assicurati che l'account di servizio utilizzato per eseguire la sintesi disponga dell'accesso in lettura/scrittura al bucket GCS di output.
Esegui la richiesta REST riportata di seguito alla riga di comando per sintetizzare l'audio dal testo utilizzando Text-to-Speech. Il comando utilizza il comando
gcloud auth application-default print-access-token
per recuperare un token di autorizzazione per la richiesta.Assicurati che l'account di servizio che esegue l'operazione GET abbia il ruolo Editor di Text-to-Speech.
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 delle seguenti 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 lunga nel campo
name
. Esegui la richiesta REST riportata di seguito alla riga di comando per eseguire una query sullo stato dell'operazione a lunga esecuzione.Assicurati che l'account di servizio 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 delle seguenti 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 ed esegui la richiesta REST di seguito.
Assicurati che l'account di servizio che esegue l'operazione LIST appartenga allo 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 delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "operations": [ { "name": "12345", "done": false }, { "name": "23456", "done": false } ], "nextPageToken": "" }
Una volta completata 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, individua l'errore eseguendo una query con il comando GET REST, correggi l'errore ed invia nuovamente la RPC.
Sintetizza l'audio lungo dal testo utilizzando le librerie client
installa la libreria client
Python
Prima di installare la libreria, assicurati di aver preparato il tuo ambiente per lo sviluppo in Python.
pip install --upgrade google-cloud-texttospeech
Crea dati audio
Puoi usare Text-to-Speech per creare un lungo file audio di voce sintetica umana. Usa il codice seguente per creare un file audio lungo nel bucket GCS.
Python
Prima di eseguire l'esempio, assicurati di aver preparato il tuo ambiente per lo sviluppo in Python.
Esegui la pulizia
Per evitare addebiti inutili per Google Cloud Platform, utilizza la console Google Cloud per eliminare il progetto se non ti serve.
Passaggi successivi
- Scopri di più su Cloud Text-to-Speech leggendo le nozioni di base.
- Controlla l'elenco delle voci disponibili che puoi utilizzare per la sintesi vocale.