Fehlermeldungen

Hier erfahren Sie, wie Sie einige durch Speech-to-Text verursachte Fehler beheben können. In diesem Thema werden Fehler beschrieben, deren Lösung mehr Schritte erfordert, als in einer Fehlermeldung beschrieben werden können.

"Die Standardanmeldedaten für Anwendungen sind nicht verfügbar."

Sie erhalten diese Meldung:

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 verwendet für die Authentifizierung die Standardanmeldedaten für Anwendungen.

Sie müssen ein Dienstkonto für Ihr Projekt haben, den Schlüssel (die JSON-Datei) für das Dienstkonto in die Entwicklungsumgebung herunterladen und dann als Speicherort dieser JSON-Datei eine Umgebungsvariable mit dem Namen GOOGLE_APPLICATION_CREDENTIALS festlegen.

Darüber hinaus muss die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS in dem Kontext verfügbar sein, in dem Sie die Speech-to-Text API abrufen. Wenn Sie beispielsweise die Variable in einer Terminalsitzung festlegen, Ihren Code jedoch im Debugger Ihrer IDE ausführen, hat der Ausführungskontext Ihres Codes möglicherweise keinen Zugriff auf die Variable. In diesem Fall kann Ihre Anfrage an Speech-to-Text fehlschlagen, weil keine ordnungsgemäße Authentifizierung erfolgt.

In den Kurzanleitungen zu Speech-to-Text und in der Dokumentation Standardanmeldedaten für Anwendungen verwenden finden Sie weitere Informationen dazu, wie Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS festlegen.

"Datei… (auf die die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS zeigt) existiert nicht!"

Sie erhalten diese Meldung:

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

Bestätigen Sie, dass Sie eine gültige Dienstkonto-JSON-Datei an dem in der Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS gespeicherten Ort haben und dass die Variable auf den richtigen Ort verweist.

Zur Diagnose dieses Fehlers öffnen Sie die Dienstkontoschlüsseldatei in dem Ordner, aus dem Sie die Spracherkennungs-API aufrufen möchten.

cat $GOOGLE_APPLICATION_CREDENTIALS

Unzulässig: 403 POST API wurde nicht verwendet oder wurde deaktiviert

Sie erhalten die Meldung:

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. Rufen Sie den in der Fehlermeldung angegebenen Link auf und aktivieren Sie die Speech-to-Text API. Warten Sie einige Minuten und versuchen Sie es dann noch einmal.
  2. Prüfen Sie, ob Sie eine gültige JSON-Datei für den Dienstkontoschlüssel in der Umgebungsvariablen GOOGLE_APPLICATION_CREDENTIALS gespeichert haben. Zur Diagnose dieses Fehlers öffnen Sie die Dienstkontoschlüsseldatei in dem Ordner, aus dem Sie die Spracherkennungs-API aufrufen möchten.
    cat $GOOGLE_APPLICATION_CREDENTIALS
    

"Muss einkanaliges Audio (Mono) verwenden"

Sie erhalten diese Meldung:

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

Ihre Audiodatei enthält mehr als einen Kanal. Sie müssen zum Transkribieren der Audiodatei angeben, dass Ihr Audio über mehrere Kanäle verfügt.

"Muss 16-Bit-Samples für LINEAR_PCM verwenden"

Sie erhalten diese Meldung:

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

Möglicherweise müssen Sie die in RecognitionConfig angegebene Codierung ändern. Informationen zu unterstützten Codierungen in Speech-to-Text finden Sie in der Anleitung zu Codierungen.

"Sync-Eingang zu lang"

Sie erhalten diese Meldung:

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

Die Methode der synchronen Erkennung für Speech-to-Text unterstützt nur die Übertragung von Audiodateien mit einer Länge von bis zu einer Minute. Verwenden Sie für längere Audiodateien stattdessen die asynchrone Erkennung.

"Ungültige Erkennung 'config': falsche Codierung"

Sie erhalten diese Meldung:

Invalid recognition 'config': bad encoding.

Ihre Audiodatei ist möglicherweise nicht korrekt oder mit einem anderen Codec als in der RecognitionConfig angegeben codiert. Prüfen Sie die Audioeingabe und ob das Feld encoding richtig eingestellt ist.

"Größe der Anfragenutzlast überschreitet das Limit"

Wenn Sie eine der folgenden Meldungen erhalten:

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

Sie haben die Größenbeschränkung von 10 MB für einen einzelnen Request mit einer lokalen Datei an die API überschritten. Sie können Ihre Audiodatei in einen Google Cloud Storage-Bucket (GCS) verschieben, um das Limit von 10 MB zu umgehen. Weitere Informationen finden Sie auf der Seite Kontingente und Limits.

"Kontingent überschritten"

Sie erhalten diese Meldung:

RESOURCE_EXHAUSTED: Quota exceeded.

Sie haben das Limit Ihres Minuten- oder Tageskontingents erreicht. Überprüfen Sie die Kontingente und Limits für die Verwendung von Speech-to-Text.

Sie können über die Google Cloud Console eine Erhöhung Ihrer Kontingente beantragen.