Messages d'erreur

Découvrez comment remédier à certaines erreurs générées par Speech-to-Text. Cette rubrique traite des erreurs dont la résolution nécessite un nombre d'étapes ne pouvant pas être indiqué facilement dans un message d'erreur.

"Les identifiants par défaut de l'application ne sont pas disponibles"

Si vous recevez ce message :

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 utilise les identifiants par défaut de l'application pour l'authentification.

Vous devez disposer d'un compte de service pour votre projet, télécharger la clé (fichier JSON) de votre compte de service dans votre environnement de développement, puis définir l'emplacement de ce fichier JSON sur une variable d'environnement nommée GOOGLE_APPLICATION_CREDENTIALS.

En outre, la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS doit être disponible dans le contexte d'appel de l'API Speech-to-Text. Par exemple, si vous définissez la variable à partir d'une session de terminal, mais exécutez le code dans le débogueur de votre IDE, le contexte d'exécution du code peut ne pas avoir accès à la variable. Dans ce cas, la requête à Speech-to-Text pourrait échouer faute d'authentification appropriée.

Pour plus d'informations sur la définition de la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS, consultez les guides de démarrage rapide de Speech-to-Text ou la documentation concernant l'utilisation des identifiants par défaut de l'application.

"Le fichier … (indiqué par la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS) n'existe pas."

Si vous recevez ce message :

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"
  }
}

Vérifiez que vous disposez d'un fichier JSON de clé de compte de service valide à l'emplacement stocké dans la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS et que cette dernière pointe vers l'emplacement approprié.

Pour diagnostiquer cette erreur, essayez d'ouvrir le fichier de clé du compte de service depuis le dossier à partir duquel vous tentez d'appeler l'API Speech-to-Text.

cat $GOOGLE_APPLICATION_CREDENTIALS

"Interdit: 403 La méthode POST de l'API n'est pas utilisée ou est désactivée"

Si vous recevez ce message :

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. Utilisez le lien indiqué dans le message d'erreur et activez l'API Speech-to-Text. Patientez quelques minutes, puis réessayez.
  2. Vérifiez que vous disposez d'un fichier JSON de clé de compte de service valide stocké dans la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS. Pour diagnostiquer cette erreur, essayez d'ouvrir le fichier de clé du compte de service depuis le dossier à partir duquel vous tentez d'appeler l'API Speech-to-Text.
    cat $GOOGLE_APPLICATION_CREDENTIALS
    

"L'audio doit être à canal unique (mono)"

Si vous recevez ce message :

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

Votre fichier audio contient plusieurs canaux. Pour transcrire ce fichier audio, vous devez déclarer que l'audio comporte plusieurs canaux.

"Des échantillons 16 bits doivent être utilisés pour la fonction LINEAR_PCM"

Si vous recevez ce message :

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

Vous devrez peut-être modifier l'encodage que vous avez spécifié dans RecognitionConfig. Pour en savoir plus sur les encodages compatibles avec Speech-to-Text, consultez le guide des encodages.

"Entrée de synchronisation trop longue"

Si vous recevez ce message :

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

La méthode de reconnaissance synchrone pour Speech-to-Text n'accepte que la transcription de données audio d'une durée maximale d'une minute. Pour des données audio de plus longue durée, utilisez plutôt la reconnaissance asynchrone.

"Valeur 'config' de reconnaissance non valide : mauvais encodage"

Si vous recevez ce message :

Invalid recognition 'config': bad encoding.

Vos données audio ne sont peut-être pas encodées correctement, ou avec un codec différent de celui que vous avez indiqué dans RecognitionConfig. Vérifiez l'entrée audio et assurez-vous d'avoir correctement défini le champ encoding.

"La taille de la charge utile de la requête dépasse la limite"

Si vous recevez l'un des messages suivants :

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

Vous avez dépassé la taille de 10 Mo pour une seule requête envoyée à l'API à l'aide d'un fichier local. Vous pouvez déplacer votre fichier audio vers un bucket Google Cloud Storage (GCS) pour éviter la limite de 10 Mo. Pour en savoir plus, consultez la section Quotas et limites.

"Quota dépassé"

Si vous recevez ce message :

RESOURCE_EXHAUSTED: Quota exceeded.

Vous avez atteint votre limite de quota par minute ou par jour. Vérifiez les quotas et limites d'utilisation de Speech-to-Text.

Vous pouvez demander une augmentation de vos quotas depuis Google Cloud Console.