Messaggi di errore

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Scopri come risolvere alcuni errori generati da Speech-to-Text. Questo argomento tratta degli errori le cui risoluzioni richiedono più passaggi rispetto a quelli che possono essere descritti facilmente in un messaggio di errore.

"Le credenziali predefinite dell'applicazione non sono disponibili"

Se ricevi questo messaggio:

The Application Default Credentials are not available. They are
available if running in Google Compute Engine. Otherwise, the
environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined
pointing to a file defining the credentials.
See https://developers.google.com/accounts/docs/application-default-credentials
for more information.

Speech-to-Text utilizza le credenziali predefinite delle applicazioni per l'autenticazione.

Devi avere un account di servizio per il tuo progetto, scaricare la chiave (file JSON) per il tuo account di servizio nel tuo ambiente di sviluppo, quindi impostare la posizione di tale file JSON su una variabile di ambiente denominata GOOGLE_APPLICATION_CREDENTIALS.

Inoltre, la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS deve essere disponibile nel contesto chiamato l'API Speech-to-Text. Ad esempio, se imposti la variabile da una sessione del terminale, ma esegui il codice nel debugger del tuo IDE, il contesto di esecuzione del codice potrebbe non avere accesso alla variabile. In tale circostanza, la richiesta a Speech-to-Text potrebbe non riuscire per mancanza di autenticazione corretta.

Per ulteriori informazioni su come impostare le GOOGLE_APPLICATION_CREDENTIALS variabili di ambiente, consulta le guide Speech-to-Text o la documentazione su utilizzando le credenziali predefinite dell'applicazione.

"File ... (indicato dalla variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS) non esiste!"

Se ricevi questo messaggio:

ERROR: (gcloud.auth.application-default.print-access-token) File /path/to/key.json
(pointed by GOOGLE_APPLICATION_CREDENTIALS environment variable) does not exist!
{
  "error": {
    "code": 403,
    "message": "The request is missing a valid API key.",
    "status": "PERMISSION_DENIED"
  }
}

Verifica di avere un file JSON della chiave dell'account di servizio valido nella località archiviata nella variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS e che la variabile rimandi al luogo corretto.

Per diagnosticare questo errore, prova ad aprire il file della chiave dell'account di servizio dalla cartella da cui stai tentando di chiamare l'API Speech-to-Text.

cat $GOOGLE_APPLICATION_CREDENTIALS

Non consentito: l'API POST 403 non è stata utilizzata o è disabilitata

Se ricevi il messaggio:

Forbidden: 403 POST Speech-to-Text API has not been used in
project # before or it is disabled.
Enable it by visitng [url] then retry.
If you enabled this API recently, wait a few minutes for the action to
propagate to our systems and retry.

  1. Visita il link specificato nel messaggio di errore e attiva l'API Speech-to-Text. Attendi qualche minuto e riprova.
  2. Verifica di avere un file JSON della chiave dell'account di servizio valido archiviato nella variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS. Per diagnosticare questo errore, prova ad aprire il file della chiave dell'account di servizio dalla cartella da cui stai tentando di chiamare l'API Speech-to-Text.
    cat $GOOGLE_APPLICATION_CREDENTIALS
    

"È necessario utilizzare l'audio a canale singolo (mono)".

Se ricevi questo messaggio:

Must use single channel (mono) audio, but WAV header indicates 2
channels.

Il file audio contiene più canali. Per trascrivere questo file audio, devi dichiarare che l'audio ha più canali.

"Devi utilizzare campioni a 16 bit per LINEAR_PCM"

Se ricevi questo messaggio:

INVALID_ARGUMENT: Must use 16 bit samples for LINEAR_PCM, but the WAV
header indicates 8 bits per sample

Potresti dover modificare la codifica che hai specificato in RecognitionConfig. Per informazioni sulle codifiche supportate in Speech-to-Text, consulta la guida relativa alla codifica.

"Sync input troppo lungo"

Se ricevi questo messaggio:

Sync input too long. For audio longer than 1 min use
LongRunningRecognize with a 'uri' parameter.

Il metodo di riconoscimento sincrono di Speech-to-Text supporta solo la trascrizione di dati audio di massimo 1 minuto. Per dati audio più lunghi, utilizza invece il riconoscimento asincrono.

"Invalid riconoscimenti 'config': codifica errata"

Se ricevi questo messaggio:

Invalid recognition 'config': bad encoding.

I dati audio potrebbero non essere codificati correttamente o essere codificati con un codec diverso da quello che hai dichiarato nella RecognitionConfig. Controlla l'input audio e assicurati di aver impostato correttamente il campo encoding.

"Il carico di richieste supera le dimensioni"

Se ricevi uno di questi messaggi:

Request payload size exceeds the limit.
Inline audio exceeds duration limit. Please use a GCS URI.

Hai superato il limite di 10 MB per una singola richiesta inviata all'API utilizzando un file locale. Puoi spostare il tuo file audio in un bucket di Google Cloud Storage (GCS) per evitare il limite di 10 MB. Per ulteriori informazioni, consulta la pagina relativa a quote e limiti.

"Quota superata"

Se ricevi questo messaggio:

RESOURCE_EXHAUSTED: Quota exceeded.

Hai raggiunto il limite della tua quota al minuto o giornaliera. Esamina le quote e i limiti per l'utilizzo di Speech-to-Text.

Puoi richiedere un aumento delle quote da Google Cloud Console.