Trascrivi i file audio con la funzione ML.TRANSCRIBE
Questo tutorial mostra come trascrivere file audio, come chiamate al servizio clienti, podcast o riunioni registrate, per estrarre il testo per analisi downstream, ricerca di parole chiave o analisi del sentiment.
Utilizzerai la funzione ML.TRANSCRIBE con un modello remoto per trascrivere i file audio archiviati in una tabella di oggetti.
Località supportate
Devi creare il modello remoto utilizzato in questa procedura in una delle seguenti località:
asia-northeast1asia-south1asia-southeast1australia-southeast1eueurope-west1europe-west2europe-west3europe-west4northamerica-northeast1usus-central1us-east1us-east4us-west1
Devi eseguire la funzione ML.TRANSCRIBE nella stessa regione del modello remoto.
Ruoli obbligatori
Per creare un modello remoto e trascrivere file audio, devi disporre dei seguenti ruoli Identity and Access Management (IAM) a livello di progetto:
- Crea un riconoscimento vocale: Cloud Speech Editor
(
roles/speech.editor) - Creare e utilizzare set di dati, tabelle e modelli BigQuery:
BigQuery Data Editor (
roles/bigquery.dataEditor) Crea, delega e utilizza le connessioni BigQuery: BigQuery Connections Admin (
roles/bigquery.connectionsAdmin)Se non hai configurato una connessione predefinita, puoi crearne e impostarne una durante l'esecuzione dell'istruzione
CREATE MODEL. Per farlo, devi disporre del ruolo Amministratore BigQuery (roles/bigquery.admin) nel tuo progetto. Per saperne di più, consulta Configura la connessione predefinita.Concedi le autorizzazioni al account di servizio della connessione: Project IAM Admin (
roles/resourcemanager.projectIamAdmin)Creare job BigQuery: BigQuery Job User (
roles/bigquery.jobUser)
Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire le attività descritte in questo documento. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
- Crea un set di dati:
bigquery.datasets.create - Crea, delega e utilizza una connessione:
bigquery.connections.* - Imposta le autorizzazioni del account di servizio:
resourcemanager.projects.getIamPolicyeresourcemanager.projects.setIamPolicy - Crea un modello ed esegui l'inferenza:
bigquery.jobs.createbigquery.models.createbigquery.models.getDatabigquery.models.updateDatabigquery.models.updateMetadata
- Crea una tabella di oggetti:
bigquery.tables.createebigquery.tables.update - Crea un riconoscimento vocale:
speech.recognizers.createspeech.recognizers.getspeech.recognizers.recognizespeech.recognizers.update
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery, BigQuery Connection API, and Speech-to-Text APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigQuery, BigQuery Connection API, and Speech-to-Text APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto, utilizza il Calcolatore prezzi.
Crea un riconoscimento
Speech-to-Text supporta risorse chiamate riconoscitori. I riconoscitori rappresentano configurazioni di riconoscimento archiviate e riutilizzabili. Puoi creare un riconoscitore per raggruppare logicamente le trascrizioni o il traffico per la tua applicazione.
La creazione di un riconoscimento vocale è facoltativa. Se scegli di creare un riconoscimento vocale, prendi nota dell'ID progetto, della località e dell'ID riconoscimento del riconoscimento da utilizzare nell'istruzione CREATE MODEL, come descritto in SPEECH_RECOGNIZER.
Se scegli di non creare un riconoscimento vocale, devi specificare un valore per l'argomento recognition_config della funzione ML.TRANSCRIBE.
Puoi utilizzare solo il modello di trascrizione chirp nel riconoscimento vocale o il valore recognition_config che fornisci.
Crea un set di dati
Crea un set di dati BigQuery per contenere le tue risorse:
Console
Nella console Google Cloud , vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro sinistro per aprirlo.
Nel riquadro Explorer, fai clic sul nome del progetto.
Fai clic su Visualizza azioni > Crea set di dati.
Nella pagina Crea set di dati, segui questi passaggi:
In ID set di dati, digita un nome per il set di dati.
Per Tipo di località, seleziona Regione o Multi-regione.
- Se hai selezionato Regione, seleziona una località dall'elenco Regione.
- Se hai selezionato Multiregione, seleziona Stati Uniti o Europa dall'elenco Multiregione.
Fai clic su Crea set di dati.
bq
Crea una connessione
Crea una connessione alle risorse Cloud e ottieni il account di servizio della connessione. Crea la connessione nella stessa località del set di dati creato nel passaggio precedente.
Puoi saltare questo passaggio se hai configurato una connessione predefinita o se hai il ruolo Amministratore BigQuery.
Seleziona una delle seguenti opzioni:Console
Vai alla pagina BigQuery.
Nel riquadro a sinistra, fai clic su Explorer:

Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro sinistro per aprirlo.
Nel riquadro Explorer, espandi il nome del progetto, quindi fai clic su Connessioni.
Nella pagina Connessioni, fai clic su Crea connessione.
In Tipo di connessione, scegli Modelli remoti di Vertex AI, funzioni remote, BigLake e Spanner (risorsa Cloud).
Nel campo ID connessione, inserisci un nome per la connessione.
In Tipo di località, seleziona una località per la connessione. La connessione deve essere collocata insieme alle altre risorse, ad esempio i set di dati.
Fai clic su Crea connessione.
Fai clic su Vai alla connessione.
Nel riquadro Informazioni sulla connessione, copia l'ID account di servizio da utilizzare in un passaggio successivo.
SQL
Utilizza l'istruzione CREATE CONNECTION:
Nella console Google Cloud , vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
CREATE CONNECTION [IF NOT EXISTS] `CONNECTION_NAME` OPTIONS ( connection_type = "CLOUD_RESOURCE", friendly_name = "FRIENDLY_NAME", description = "DESCRIPTION" );
Sostituisci quanto segue:
-
CONNECTION_NAME: il nome della connessione nel formatoPROJECT_ID.LOCATION.CONNECTION_ID,LOCATION.CONNECTION_IDoCONNECTION_ID. Se il progetto o la località vengono omessi, vengono dedotti dal progetto e dalla località in cui viene eseguita l'istruzione. -
FRIENDLY_NAME(facoltativo): un nome descrittivo per la connessione. -
DESCRIPTION(facoltativo): una descrizione della connessione.
-
Fai clic su Esegui.
Per saperne di più su come eseguire le query, consulta Esegui una query interattiva.
bq
In un ambiente a riga di comando, crea una connessione:
bq mk --connection --location=REGION --project_id=PROJECT_ID \ --connection_type=CLOUD_RESOURCE CONNECTION_ID
Il parametro
--project_idsostituisce il progetto predefinito.Sostituisci quanto segue:
REGION: la tua regione di connessionePROJECT_ID: il tuo ID progetto Google CloudCONNECTION_ID: un ID per la tua connessione
Quando crei una risorsa di connessione, BigQuery crea un account di servizio di sistema univoco e lo associa alla connessione.
Risoluzione dei problemi: se ricevi il seguente errore di connessione, aggiorna Google Cloud SDK:
Flags parsing error: flag --connection_type=CLOUD_RESOURCE: value should be one of...
Recupera e copia l'ID del account di servizio da utilizzare in un passaggio successivo:
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
L'output è simile al seguente:
name properties 1234.REGION.CONNECTION_ID {"serviceAccountId": "connection-1234-9u56h9@gcp-sa-bigquery-condel.iam.gserviceaccount.com"}
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Python.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Node.js.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di BigQuery per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
Terraform
Utilizza la risorsa google_bigquery_connection.
Per eseguire l'autenticazione in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, vedi Configura l'autenticazione per le librerie client.
L'esempio seguente crea una connessione alle risorse Cloud denominata
my_cloud_resource_connection nella regione US:
Per applicare la configurazione Terraform in un progetto Google Cloud , completa i passaggi descritti nelle sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.
Prepara la directory
Ogni file di configurazione Terraform deve avere la propria directory (chiamata anche modulo principale).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione
.tf, ad esempiomain.tf. In questo tutorial, il file è denominatomain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice campione nel file
main.tfappena creato.Facoltativamente, copia il codice da GitHub. Questa opzione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
- Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
terraform init
Facoltativamente, per utilizzare l'ultima versione del provider Google, includi l'opzione
-upgrade:terraform init -upgrade
Applica le modifiche
-
Esamina la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione Terraform eseguendo il comando seguente e inserendo
yesal prompt:terraform apply
Attendi che Terraform visualizzi il messaggio "Apply complete!".
- Apri il tuo progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.
Concedi l'accesso al service account
Seleziona una delle seguenti opzioni:
Console
Vai alla pagina IAM e amministrazione.
Fai clic su Concedi l'accesso.
Viene visualizzata la finestra di dialogo Aggiungi entità.
Nel campo Nuove entità, inserisci l'ID del account di servizio che hai copiato in precedenza.
Fai clic sul campo Seleziona un ruolo e poi digita
Cloud Speech Clientin Filtro.Fai clic su Aggiungi un altro ruolo.
Nel campo Seleziona un ruolo, seleziona Cloud Storage e poi Visualizzatore oggetti Storage.
Fai clic su Salva.
gcloud
Utilizza il
comando gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/speech.client' --condition=None gcloud projects add-iam-policy-binding 'PROJECT_NUMBER' --member='serviceAccount:MEMBER' --role='roles/storage.objectViewer' --condition=None
Sostituisci quanto segue:
PROJECT_NUMBER: il numero del progetto.MEMBER: l'ID del account di servizio che hai copiato in precedenza.
La mancata concessione dell'autorizzazione genera un errore Permission denied.
Crea una tabella di oggetti
Crea una tabella di oggetti su un insieme di file audio in Cloud Storage. I file audio nella tabella degli oggetti devono essere di un tipo supportato.
Il bucket Cloud Storage utilizzato dalla tabella esterna deve trovarsi nello stesso progetto in cui prevedi di creare il modello e chiamare la funzione ML.TRANSCRIBE. Se vuoi chiamare la funzione ML.TRANSCRIBE in un progetto diverso da quello che contiene il bucket Cloud Storage utilizzato dalla tabella degli oggetti, devi concedere il ruolo Storage Admin a livello di bucket al account di servizio service-A@gcp-sa-aiplatform.iam.gserviceaccount.com.
crea un modello
Crea un modello remoto con un REMOTE_SERVICE_TYPE di CLOUD_AI_SPEECH_TO_TEXT_V2:
CREATE OR REPLACE MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME` REMOTE WITH CONNECTION {`PROJECT_ID.REGION.CONNECTION_ID`} OPTIONS ( REMOTE_SERVICE_TYPE = 'CLOUD_AI_SPEECH_TO_TEXT_V2', SPEECH_RECOGNIZER = 'projects/PROJECT_NUMBER/locations/LOCATION/recognizers/RECOGNIZER_ID' );
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.DATASET_ID: l'ID del set di dati che conterrà il modello.MODEL_NAME: il nome del modello.REGION: la regione utilizzata dalla connessione.CONNECTION_ID: l'ID connessione, ad esempiomyconnection.Quando visualizzi i dettagli della connessione nella console Google Cloud , l'ID connessione è il valore nell'ultima sezione dell'ID connessione completo mostrato in ID connessione, ad esempio
projects/myproject/locations/connection_location/connections/myconnection.PROJECT_NUMBER: il numero del progetto che contiene il riconoscimento vocale. Puoi trovare questo valore nella scheda Informazioni sul progetto nella pagina Dashboard della console Google Cloud .LOCATION: la località utilizzata dal riconoscimento vocale. Puoi trovare questo valore nel campo Località della pagina Elenco dei riconoscitori della console Google Cloud .RECOGNIZER_ID: l'ID del riconoscimento vocale. Puoi trovare questo valore nel campo ID della pagina Elenco dei riconoscitori della console Google Cloud .Questa opzione non è obbligatoria. Se non specifichi un valore, viene utilizzato un riconoscimento predefinito. In questo caso, devi specificare un valore per il parametro
recognition_configdella funzioneML.TRANSCRIBEper fornire una configurazione per il riconoscimento predefinito.Puoi utilizzare solo il modello di trascrizione
chirpnel valorerecognition_configche fornisci.
Trascrivi i file audio
Trascrivi i file audio con la funzione ML.TRANSCRIBE:
SELECT * FROM ML.TRANSCRIBE( MODEL `PROJECT_ID.DATASET_ID.MODEL_NAME`, TABLE `PROJECT_ID.DATASET_ID.OBJECT_TABLE_NAME`, RECOGNITION_CONFIG => ( JSON 'recognition_config') );
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.DATASET_ID: l'ID del set di dati che contiene il modello.MODEL_NAME: il nome del modello.OBJECT_TABLE_NAME: il nome della tabella degli oggetti che contiene gli URI dei file audio da elaborare.recognition_config: una risorsaRecognitionConfigin formato JSON.Se è stato specificato un riconoscitore per il modello remoto utilizzando l'opzione
SPEECH_RECOGNIZER, non puoi specificare un valorerecognition_config.Se non è stato specificato alcun riconoscitore per il modello remoto utilizzando l'opzione
SPEECH_RECOGNIZER, devi specificare un valorerecognition_config. Questo valore viene utilizzato per fornire una configurazione per il riconoscimento predefinito.Puoi utilizzare solo il modello di trascrizione
chirpnel valorerecognition_configche fornisci.
Esempi
Esempio 1
L'esempio seguente trascrive i file audio rappresentati dalla tabella audio senza eseguire l'override della configurazione predefinita del riconoscimento:
SELECT * FROM ML.TRANSCRIBE( MODEL `myproject.mydataset.transcribe_model`, TABLE `myproject.mydataset.audio` );
L'esempio seguente trascrive i file audio rappresentati dalla tabella audio e fornisce una configurazione per lo strumento di riconoscimento predefinito:
SELECT * FROM ML.TRANSCRIBE( MODEL `myproject.mydataset.transcribe_model`, TABLE `myproject.mydataset.audio`, recognition_config => ( JSON '{"language_codes": ["en-US" ],"model": "chirp","auto_decoding_config": {}}') );
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
Console
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.
gcloud
Elimina un progetto Google Cloud :
gcloud projects delete PROJECT_ID
Elimina singole risorse
Se prevedi di conservare il progetto utilizzato per questo tutorial, puoi evitare ulteriori addebiti eliminando le singole risorse che hai creato:
Elimina il set di dati: l'eliminazione del set di dati rimuove anche il modello remoto e la tabella di oggetti che hai creato al suo interno.
- Nella console Google Cloud , vai alla pagina BigQuery.
- Nel riquadro Explorer, espandi il progetto e seleziona il set di dati che hai creato.
- Fai clic su Visualizza azioni, quindi su Elimina.
- Nella finestra di dialogo, digita
deletee fai clic su Elimina.
Elimina la connessione:
- Nel riquadro Explorer, espandi il nome del progetto e fai clic su Connessioni.
- Fai clic sull'icona Visualizza azioni accanto alla connessione che hai creato e seleziona Elimina.
- Nella finestra di dialogo, fai clic su Elimina per confermare.
Elimina il riconoscimento vocale di Speech-to-Text (se creato):
- Vai alla pagina dei riconoscitori Speech-to-Text.
- Seleziona la casella accanto al riconoscimento che hai creato e fai clic su Elimina.
Passaggi successivi
- Per saperne di più sull'inferenza del modello in BigQuery ML, consulta Panoramica dell'inferenza del modello.
- Per saperne di più sull'utilizzo delle API Cloud AI per eseguire attività AI, consulta Panoramica delle applicazioni AI.
- Per saperne di più sulle istruzioni e sulle funzioni SQL supportate per i modelli di AI generativa, consulta User journey end-to-end per i modelli di AI generativa.