L'API Cloud Speech ti consente di eseguire la trascrizione della voce in testo dai file audio in oltre 80 lingue.
In questo lab registreremo un file audio e lo invieremo all'API Cloud Speech per la trascrizione.
Obiettivi didattici
- Creazione di una richiesta API Speech e chiamata all'API con curl
- Chiamata all'API Speech con file audio in lingue diverse
Che cosa ti serve
Come utilizzerai questo tutorial?
Come valuteresti la tua esperienza con Google Cloud Platform?
Configurazione dell'ambiente autonoma
Se non hai ancora un Account Google (Gmail o Google Apps), devi crearne uno. Accedi alla console di Google Cloud (console.cloud.google.com) e crea un nuovo progetto:
Ricorda l'ID progetto, un nome univoco per tutti i progetti Google Cloud (il nome riportato sopra è già stato utilizzato e non funzionerà per te, mi dispiace). In questo codelab verrà chiamato PROJECT_ID
.
Successivamente, dovrai abilitare la fatturazione nella console Cloud per utilizzare le risorse Google Cloud.
L'esecuzione di questo codelab non dovrebbe costarti più di qualche dollaro, ma potrebbe essere più cara se decidi di utilizzare più risorse o se le lasci in esecuzione (vedi la sezione "Pulizia" alla fine di questo documento).
I nuovi utenti di Google Cloud Platform possono beneficiare di una prova senza costi di 300$.
Fai clic sull'icona del menu nella parte superiore sinistra dello schermo.
Seleziona la dashboard API e servizi dal menu a discesa.
Fai clic su Abilita API e servizi.
Cerca "speech" nella casella di ricerca. Fai clic su API Google Cloud Speech:
Fai clic su Abilita per abilitare l'API Cloud Speech:
Attendi qualche secondo affinché venga attivato. Una volta attivata, vedrai questo:
Google Cloud Shell è un ambiente a riga di comando in esecuzione nel cloud. Questa macchina virtuale basata su Debian viene caricata con tutti gli strumenti di sviluppo di cui avrai bisogno (gcloud
, bq
, git
e altri) e mette a tua disposizione una home directory permanente di 5 GB. Utilizzeremo Cloud Shell per creare la nostra richiesta all'API Speech.
Per iniziare a utilizzare Cloud Shell, fai clic sull'icona "Attiva Google Cloud Shell" nell'angolo in alto a destra della barra dell'intestazione.
All'interno di un nuovo frame nella parte inferiore della console si apre una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Attendi finché non viene visualizzato il prompt user@project:~$
Poiché utilizzerai curl
per inviare una richiesta all'API Speech, devi generare una chiave API che dovrai passare nell'URL della richiesta. Per creare una chiave API, vai alla sezione API e servizi > Credenziali della dashboard del tuo progetto:
Quindi fai clic su Crea credenziali:
Seleziona Chiave API dal menu a discesa:
Ora copia la chiave che hai appena generato e seleziona Chiudi (non limitare la chiave).
Ora che hai una chiave API, salvala come variabile di ambiente per evitare di doverne inserirne il valore in ogni richiesta. Puoi farlo in Cloud Shell. Assicurati di sostituire <your_api_key>
con la chiave che hai appena copiato.
export API_KEY=<YOUR_API_KEY>
Puoi creare la tua richiesta all'API Speech in un file request.json
. Per creare e modificare questo file, puoi utilizzare uno dei tuoi editor a riga di comando preferiti (nano, vim, emacs) o utilizzare l'editor web integrato in Cloud Shell:
Crea il file nella tua home directory per poterlo consultare facilmente e aggiungi quanto segue al tuo file request.json
:
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "en-US"
},
"audio": {
"uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
}
}
Il corpo della richiesta ha un oggetto config
e un oggetto audio
. In config
, indichiamo all'API Speech come elaborare la richiesta. Il parametro encoding
indica all'API quale tipo di codifica audio stai utilizzando per il file audio che stai inviando all'API. FLAC
è il tipo di codifica per i file RAW (per ulteriori dettagli, consulta la documentazione per il tipo di codifica). Esistono altri parametri che puoi aggiungere all'oggetto config
, ma encoding
è l'unico obbligatorio. Se non viene specificato nella richiesta, languageCode
verrà utilizzato per impostazione predefinita in inglese.
Nell'oggetto audio
, puoi trasmettere all'API l'URI del nostro file audio in Cloud Storage o l'audio codificato in base64 come stringa. In questo caso utilizzavamo gli URL di Cloud Storage. Il prossimo passaggio è l'API Speech.
Ora puoi passare all'API Speech il corpo della richiesta, insieme alla variabile di ambiente della chiave API salvata in precedenza, con il seguente comando curl
(tutto in un'unica riga di comando):
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json "https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"
La risposta restituita da questo comando curl
dovrebbe avere un aspetto simile al seguente:
{
"results": [
{
"alternatives": [
{
"transcript": "how old is the Brooklyn Bridge",
"confidence": 0.98267895
}
]
}
]
}
Il valore transcript
restituirà la trascrizione del testo del file audio eseguita dall'API Speech e il valore confidence
indica in che misura l'API è sicura di aver trascritto l'audio in modo accurato.
Noterai che abbiamo chiamato il metodo recognize
nella nostra richiesta riportata sopra. L'API Speech supporta la trascrizione sincrona e asincrona della conversione della voce in testo. In questo esempio abbiamo inviato un file audio completo, ma puoi usare anche il metodo longrunningrecognize
per eseguire una trascrizione della voce in testo in streaming mentre l'utente sta ancora parlando.
Sei multilingue? L'API Speech supporta la trascrizione della conversione della voce in testo in oltre 100 lingue. Puoi modificare il parametro languageCode
in request.json
. Puoi trovare un elenco delle lingue supportate qui.
Proviamo un file audio francese (ascoltalo qui se vuoi un'anteprima). Modifica request.json come descritto di seguito:
request.json
{
"config": {
"encoding":"FLAC",
"languageCode": "fr"
},
"audio": {
"uri":"gs://speech-language-samples/fr-sample.flac"
}
}
Dovresti vedere la seguente risposta:
{
"results": [
{
"alternatives": [
{
"transcript": "maître corbeau sur un arbre perché tenait en son bec un fromage",
"confidence": 0.9710122
}
]
}
]
}
Questa è una frase tratta da un famoso racconto per bambini francese. Se hai dei file audio in un'altra lingua, puoi provare ad aggiungerli a Cloud Storage e modificare il parametro languageCode
nella richiesta.
Hai imparato a eseguire la trascrizione della conversione della voce in testo con l'API Speech. In questo esempio hai trasmesso all'API l'URI Google Cloud Storage del tuo file audio. In alternativa, puoi trasmettere una stringa codificata in base64 dei tuoi contenuti audio.
Argomenti trattati
- Trasmettere all'API Speech un URI Google Cloud Storage di un file audio
- Creazione di una richiesta API Speech e chiamata all'API con curl
- Chiamata all'API Speech con file audio in lingue diverse
Passaggi successivi
- Dai un'occhiata ai tutorial sull'API Speech nella documentazione.
- Prova l'API Vision e l'API Natural Language.