Questo documento è una guida alle nozioni di base sull'utilizzo di Speech-to-Text. Questa guida concettuale illustra i tipi di richieste che puoi effettuare a Speech-to-Text, come creare queste richieste e come a gestire le sue risposte. Consigliamo a tutti gli utenti di Speech-to-Text leggi questa guida e uno dei tutorial associati prima di approfondire l'API stessa.
Richieste di riconoscimento Speech-to-Text
Speech-to-Text prevede tre metodi principali per eseguire il riconoscimento vocale. Si tratta di elencate di seguito:
Il riconoscimento sincrono (REST e gRPC) invia i dati audio all'API Speech-to-Text, esegue il riconoscimento sui dati e restituisce i risultati dopo tutto l'audio è stata elaborata. Le richieste di riconoscimento sincrone sono limitate all'audio con una durata massima di 1 minuto.
Il riconoscimento asincrono (REST e gRPC) invia i dati audio all'API Speech-to-Text e avvia un'operazione a lunga esecuzione. Utilizzando questa operazione, puoi con un sondaggio periodico per ottenere i risultati del riconoscimento. Utilizza richieste asincrone per dati audio di qualsiasi durata fino a 480 minuti.
Il riconoscimento in streaming (solo gRPC) esegue il riconoscimento sui dati audio forniti all'interno di un flusso bidirezionale gRPC. Le richieste di flusso sono progettate per scopi di riconoscimento in tempo reale, come acquisire l'audio in diretta da un microfono. Il riconoscimento streaming offre risultati provvisori durante l'acquisizione dell'audio, che consentono la visualizzazione del risultato. ad esempio, mentre un utente sta ancora parlando.
Le richieste contengono parametri di configurazione e dati audio. Riconoscimento delle richieste possono facoltativamente contenere un riconoscimento, una e riutilizzabile per il riconoscimento.
Metadati audio
Per la maggior parte dei file audio, l'API Speech-to-Text può dedurre automaticamente i metadati audio. Speech-to-Text analizza l'intestazione del file e la decodifica in base tali informazioni. Consulta la pagina Codifica per sapere quali tipi di file vengono supportati.
Per i file audio senza intestazione, l'API Speech-to-Text consente di specificare i metadati audio esplicitamente nella configurazione del riconoscimento. Consulta la pagina Codifica per ulteriori informazioni i dettagli.
Se hai la possibilità di scegliere quando codifichi il materiale di origine, acquisisci l'audio usando una di campionamento a 16000 Hz. Valori inferiori a questo valore potrebbero compromettere il riconoscimento vocale precisione e livelli più alti non influiscono in modo significativo sul riconoscimento vocale qualità.
Tuttavia, se i dati audio sono già stati registrati su un campione esistente diversa da 16000 Hz, non ricampionare l'audio a 16000 Hz. Più legacy l'audio della telefonia, ad esempio, utilizza frequenze di campionamento di 8000 Hz, che potrebbero fornire la precisione dei risultati. Se devi utilizzare audio di questo tipo, fornisci l'audio all'API Speech-to-Text alla sua frequenza di campionamento nativa.
Linguaggi
Il motore di riconoscimento di Speech-to-Text supporta una varietà di lingue e
dialetti. Sei tu a specificare la lingua (e il dialetto nazionale o regionale) del tuo
audio nel campo languageCode
della configurazione della richiesta, utilizzando un
Identificatore BCP-47.
Un elenco completo delle lingue supportate per ogni funzionalità è disponibile nella pagina Lingue supportate.
Funzionalità di riconoscimento
L'API Speech-to-Text offre funzionalità di riconoscimento aggiuntive, ad esempio punteggiatura automatica e confidenza a livello di parola. Sono abilitate nel riconoscimento configurazione nelle richieste. Guarda il codice campione fornito nei link precedenti e la pagina languages per scoprire la disponibilità di queste funzionalità.
Selezione del modello
Speech-to-Text può utilizzare uno dei numerosi modelli models per trascrivere il tuo file audio. Google ha addestrato questi modelli di riconoscimento vocale per sorgenti e tipi di audio specifici. Consulta le documentazione sulla selezione del modello per scoprire di più modelli disponibili e come selezionarne uno nelle tue richieste.
Contenuti audio incorporati
L'audio incorporato è incluso nella richiesta di riconoscimento vocale durante la trasmissione di un
Parametro content
all'interno del campo audio_source
della richiesta. Per audio incorporato
fornito come contenuto all'interno di una richiesta gRPC, l'audio deve essere compatibile
Proto3
serializzati e forniti come dati binari. Per l'audio incorporato fornito come
contenuti in una richiesta REST, l'audio deve essere compatibile con JSON
la serializzazione e la codifica Base64. Consulta
[Codifica Base64 dell’audio][codifica base64] per ulteriori informazioni.
Quando crei una richiesta utilizzando
libreria client di Google Cloud,
di solito scriverai questi dati binari (o con codifica Base64)
direttamente nel campo content
.
Trasmetti l'audio a cui fa riferimento un URI
Più in genere, passerai un parametro uri
all'interno della richiesta dell'API Speech-to-Text
Campo audio_source
, che punta a un file audio (in formato binario, non in base64)
che si trovano in Cloud Storage, nel seguente formato:
gs://bucket-name/path/to/audio/file
Speech-to-Text utilizza un account di servizio per accedere ai file in Cloud Storage. Per impostazione predefinita, l'account di servizio ha accesso ai file Cloud Storage nello stesso progetto.
L'indirizzo email dell'account di servizio è il seguente:
service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com
Per trascrivere i file Cloud Storage in un altro progetto, puoi fornire l'agente di servizio Speech-to-Text nell'altro progetto:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com \
--role=roles/speech.serviceAgent
Ulteriori informazioni sul criterio IAM del progetto sono disponibili all'indirizzo Gestire l'accesso a progetti, cartelle e organizzazioni.
Puoi anche concedere all'account di servizio un accesso più granulare assegnandogli per uno specifico bucket Cloud Storage:
gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com:admin \
gs://BUCKET_NAME
Ulteriori informazioni sulla gestione dell'accesso a Cloud Storage sono disponibili all'indirizzo Creare e gestire elenchi di controllo dell'accesso disponibile nella documentazione di Cloud Storage.
Risposte dell'API Speech-to-Text
Una volta elaborato l'audio, l'API Speech-to-Text restituisce i risultati della trascrizione in
SpeechRecognitionResult
messaggi per
richieste sincrone e batch
StreamingRecognitionResult
messaggi per
richieste di flussi di dati. Nelle richieste sincrone e in batch, la risposta RPC contiene
un elenco di risultati. L'elenco degli audio riconosciuti viene visualizzato in
ordine. Per le risposte dinamiche, vengono visualizzati tutti i risultati contrassegnati come is_final
in ordine contiguo.
Seleziona alternative
Ciascun risultato all'interno di una risposta al riconoscimento sincrona con successo può contenere
uno o più alternatives
(se max_alternatives
è maggiore di 1
). Se Speech-to-Text determina che un'alternativa
ha un numero sufficiente di
valore di confidenza, questa alternativa è inclusa
la risposta. La prima alternativa nella risposta è sempre la migliore
(molto probabilmente) alternativa.
L'impostazione di max_alternatives
su un valore superiore a 1
non implica né garantisce
che verranno restituite più alternative. In generale, più di una
un'alternativa è più appropriata per offrire opzioni in tempo reale agli utenti
risultati tramite una richiesta di riconoscimento dello streaming.
Gestione delle trascrizioni
Ogni alternativa fornita nella risposta conterrà un transcript
contenente il testo riconosciuto. Quando vengono fornite alternative sequenziali,
devi concatenare le trascrizioni.
Valori di confidenza
Il valore di confidence
è una stima compresa tra 0,0 e 1,0. Viene calcolata
aggregando la "probabilità" assegnati a ogni parola
audio. Un numero più alto indica una maggiore probabilità stimata che
le singole parole sono state riconosciute correttamente. Questo campo è in genere
fornito solo per l'ipotesi superiore e solo per i risultati in cui
is_final=true
. Ad esempio, puoi utilizzare il valore confidence
per decidere se mostrare all'utente risultati alternativi o se
conferma da parte dell'utente.
Tuttavia, tieni presente che il modello determina il "migliore" risultato con la posizione più alta
in base a più indicatori rispetto al solo punteggio di confidence
(come il contesto della frase).
Per questo motivo, si verificano casi sporadici in cui il risultato principale
con il punteggio di confidenza più alto. Se non hai richiesto più alternative
risultati, il singolo "migliore" il risultato restituito può avere un valore di affidabilità più basso
del previsto. Ciò può accadere, ad esempio, nei casi in cui le parole rare
in uso. A una parola usata raramente può essere assegnata una bassa "probabilità" valore
anche se viene riconosciuto correttamente. Se il modello determina che la parola rara
l'opzione più probabile in base al contesto, il risultato viene restituito
se il valore confidence
del risultato è inferiore a quello delle opzioni alternative.
Passaggi successivi
- Utilizza le librerie client per trascrivere audio usando il tuo il tuo linguaggio di programmazione preferito.
- Esercitati a trascrivere file audio brevi.
- Scopri come trascrivere l'audio in streaming.
- Scopri come trascrivere file audio lunghi.