Questo tutorial illustra come trascrivere la traccia audio da un file video utilizzando Speech-to-Text.
I file audio possono provenire da diverse fonti. I dati audio possono provenire da un telefono (come i messaggi vocali) o dalla colonna sonora inclusa in un file video.
Speech-to-Text può utilizzare uno dei vari modelli di machine learning per trascrivere il tuo file audio, in modo che corrisponda al meglio alla sorgente originale dell'audio. Puoi ottenere risultati migliori dalla trascrizione del parlato specificando la fonte dell'audio originale. Ciò consente a Speech-to-Text di elaborare i file audio utilizzando un modello di machine learning addestrato per dati simili al file audio.
Obiettivi
- Invia una richiesta di trascrizione di audio di un file video a Speech-to-Text.
Costi
Questo tutorial utilizza i seguenti componenti fatturabili di Google Cloud:
- Speech-to-Text
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il Calcolatore prezzi.
Prima di iniziare
Questo tutorial prevede diversi prerequisiti:
- Hai configurato un progetto Speech-to-Text in Google Cloud Console.
- Hai configurato l'ambiente utilizzando Credenziali predefinite dell'applicazione in Google Cloud Console.
- Hai configurato l'ambiente di sviluppo per il linguaggio di programmazione scelto.
- Hai installato la libreria client di Google Cloud per il linguaggio di programmazione scelto.
Prepara i dati audio
Prima di poter trascrivere l'audio da un video, devi estrarre i dati dal file video. Dopo aver estratto i dati audio, devi archiviarli in un bucket Cloud Storage o convertirli nella codifica base64.
Estrazione dei dati audio
Puoi utilizzare qualsiasi strumento di conversione file che gestisca i file audio e video, ad esempio FFmpeg.
Utilizza lo snippet di codice riportato di seguito per convertire un file video in un file audio
utilizzando ffmpeg
.
ffmpeg -i video-input-file audio-output-file
Archiviare o convertire i dati audio
Puoi trascrivere un file audio archiviato sulla tua macchina locale o in un bucket Cloud Storage.
Utilizza il seguente comando per caricare il file audio in un bucket Cloud Storage esistente utilizzando lo strumento gsutil
.
gsutil cp audio-output-file storage-bucket-uri
Se utilizzi un file locale e prevedi di inviare una richiesta utilizzando lo strumento curl
dalla riga di comando, devi prima convertire il file audio in dati con codifica base64.
Utilizza il comando seguente per convertire un file audio in un file di testo.
base64 audio-output-file -w 0 > audio-data-text
Invia una richiesta
Utilizza il codice seguente per inviare una richiesta di trascrizione a Speech-to-Text.
Richiesta file locale
Protocollo
Per informazioni dettagliate, consulta l'endpoint API di speech:recognize
.
Per eseguire il riconoscimento vocale sincrono, effettua una richiesta POST
e fornisci il corpo della richiesta appropriato. Di seguito è riportato un esempio di richiesta POST
tramite
curl
. L'esempio utilizza il token di accesso per un account di servizio configurato per il progetto
tramite l'interfaccia a riga di comando di Google Cloud. Per istruzioni sull'installazione dell'interfaccia a riga di comando gcloud,
sulla configurazione di un progetto con un account di servizio e sull'ottenimento di un token di accesso,
consulta la guida rapida.
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "sampleRateHertz": 16000, "languageCode": "en-US", "model": "video" }, "audio": { "uri": "gs://cloud-samples-tests/speech/Google_Gnome.wav" } }'
Consulta la documentazione di riferimento di RecognitionConfig
per
ulteriori informazioni sulla configurazione del corpo della richiesta.
Se la richiesta ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON:
{ "results": [ { "alternatives": [ { "transcript": "OK Google stream stranger things from Netflix to my TV okay stranger things from Netflix playing on TV from the people that brought you Google home comes the next evolution of the smart home and it's just outside your window me Google know hi how can I help okay no what's the weather like outside the weather outside is sunny and 76 degrees he's right okay no turn on the hose I'm holding sure okay no I'm can I eat this lemon tree leaf yes what about this Daisy yes but I wouldn't recommend it but I could eat it okay Nomad milk to my shopping list I'm sorry that sounds like an indoor request I keep doing that sorry you do keep doing that okay no is this compost really we're all compost if you think about it pretty much everything is made up of organic matter and will return", "confidence": 0.9251011 } ] } ] }
Go
Java
Node.js
Python
Lingue aggiuntive
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di Speech-to-Text per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento Speech-to-Text per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento Speech-to-Text per Ruby.
Richiesta file da remoto
Java
Node.js
Python
Lingue aggiuntive
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di Speech-to-Text per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento Speech-to-Text per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento Speech-to-Text per Ruby.
Esegui la pulizia
Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione è eliminare il progetto che hai creato per il tutorial.
Per eliminare il progetto:
- In Cloud Console, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto da eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.
Elimina istanze
Per eliminare un'istanza di Compute Engine:
- In Cloud Console, vai alla pagina Istanze VM.
- Seleziona la casella di controllo l'istanza che vuoi eliminare.
- Per eliminare l'istanza, fai clic su Altre azioni, quindi su Elimina e segui le istruzioni.
Elimina regole firewall per la rete predefinita
Per eliminare una regola firewall:
- In the Cloud console, go to the Firewall page.
- Select the checkbox for the firewall rule that you want to delete.
- To delete the firewall rule, click Delete.
Passaggi successivi
- Scopri come ricevere timestamp per l'audio.
- Identifica i diversi altoparlanti in un file audio.
Provalo
Se non hai mai utilizzato Google Cloud, crea un account per valutare le prestazioni di Speech-to-Text in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova Speech-to-Text gratuitamente