Problembehandlung für das Speech SDK
Dieser Artikel enthält Informationen zur Lösung von Problemen, die bei Verwendung des Spracherkennungs-SDK auftreten können.
Fehler bei der Authentifizierung.
Je nach Programmierumgebung, API oder SDK kann es zu verschiedenen Authentifizierungsfehlern kommen. Hier sehen Sie ein paar Beispiele für Fehler:
- Haben Sie den Sprachressourcenschlüssel und die Regionswerte festgelegt?
- AuthenticationFailure
- „HTTP 403 Verboten“ oder „HTTP 401 Nicht autorisiert“ Verbindungsanforderungen ohne gültigen
Ocp-Apim-Subscription-Key
oderAuthorization
-Header werden mit dem Status 403 oder 401 abgelehnt. - ValueError: SpeechConfig kann nicht mit den angegebenen Argumenten erstellt werden (oder eine Variation dieser Meldung). Dieser Fehler kann beispielsweise auftreten, wenn Sie eine der Schnellstartanleitungen des Speech SDK für Python ausführen, ohne Umgebungsvariablen festzulegen. Möglicherweise wird er auch angezeigt, wenn Sie die Umgebungsvariablen auf einen ungültigen Wert festlegen, z. B. Ihren Schlüssel oder Ihre Region.
- Ausnahme mit einem Fehlercode: 0x5. Der Fehler „Zugriff verweigert“ kann beispielsweise beobachtet werden, wenn Sie eine der Schnellstartanleitungen des Speech SDK für C# ausführen, ohne Umgebungsvariablen festzulegen.
Tipps zur Problembehandlung bei der Baselineauthentifizierung finden Sie unter Überprüfen Ihres Ressourcenschlüssels und Überprüfen eines Autorisierungstokens. Weitere Informationen zum Überprüfen von Nachweisen finden Sie unter Abrufen der Schlüssel für die Ressource.
Überprüfen Ihres Ressourcenschlüssels
Sie können überprüfen, ob Sie über einen gültigen Ressourcenschlüssel verfügen, indem Sie einen der unten aufgeführten Befehle ausführen.
Hinweis
Ersetzen Sie YOUR_RESOURCE_KEY
und YOUR_REGION
durch den eigenen Ressourcenschlüssel bzw. die zugehörige Region.
$FetchTokenHeader = @{
'Content-type'='application/x-www-form-urlencoded'
'Content-Length'= '0'
'Ocp-Apim-Subscription-Key' = 'YOUR_RESOURCE_KEY'
}
$OAuthToken = Invoke-RestMethod -Method POST -Uri https://YOUR_REGION.api.cognitive.microsoft.com/sts/v1.0/issueToken -Headers $FetchTokenHeader
$OAuthToken
Wenn Sie einen gültigen Ressourcenschlüssel eingegeben haben, gibt der Befehl ein Autorisierungstoken zurück, andernfalls wird ein Fehler zurückgegeben.
Überprüfen eines Autorisierungstokens
Wenn Sie ein Authentifizierungstoken für die Authentifizierung verwenden, wird möglicherweise aus folgendem Grund ein Authentifizierungsfehler angezeigt:
- Das Autorisierungstoken ist ungültig.
- Das Autorisierungstoken ist abgelaufen.
Wenn Sie ein Autorisierungstoken für die Authentifizierung verwenden, führen Sie einen der folgenden Befehle aus, um sicherzustellen, dass das Autorisierungstoken noch gültig ist. Token sind 10 Minuten lang gültig.
Hinweis
Ersetzen Sie YOUR_AUDIO_FILE
durch den Pfad Ihrer aufgezeichneten Audiodatei. Ersetzen Sie YOUR_ACCESS_TOKEN
durch das im vorherigen Schritt zurückgegebene Autorisierungstoken. Ersetzen Sie YOUR_REGION
durch die richtige Region.
$SpeechServiceURI =
'https://YOUR_REGION.stt.speech.microsoft.com/speech/recognition/interactive/cognitiveservices/v1?language=en-US'
# $OAuthToken is the authorization token returned by the token service.
$RecoRequestHeader = @{
'Authorization' = 'Bearer '+ $OAuthToken
'Transfer-Encoding' = 'chunked'
'Content-type' = 'audio/wav; codec=audio/pcm; samplerate=16000'
}
# Read audio into byte array.
$audioBytes = [System.IO.File]::ReadAllBytes("YOUR_AUDIO_FILE")
$RecoResponse = Invoke-RestMethod -Method POST -Uri $SpeechServiceURI -Headers $RecoRequestHeader -Body $audioBytes
# Show the result.
$RecoResponse
Wenn Sie ein gültiges Authentifizierungstoken eingegeben haben, gibt der Befehl das Transkript Ihrer Audiodatei zurück, andernfalls wird ein Fehler zurückgegeben.
InitialSilenceTimeout über RecognitionStatus
Dieses Problem wird normalerweise bei der Einzelerkennung einer einzelnen Äußerung beobachtet. Der Fehler kann beispielsweise unter den folgenden Umständen zurückgegeben werden:
- Zu Beginn einer Audiodatei ist es über einen längeren Zeitraum still. In diesem Fall beendet der Dienst die Erkennung nach einigen Sekunden und gibt
InitialSilenceTimeout
zurück. - Die Audiodatei verwendet ein nicht unterstütztes Codec-Format, wodurch die Audiodaten als Stille behandelt werden.
Es ist in Ordnung, wenn es zu Beginn einer Audiodatei längere Zeit still ist, aber nur, wenn Sie kontinuierliche Erkennung verwenden.
SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND
Dieser Fehler kann beispielsweise zurückgegeben werden, wenn mehrere Versionen von Python installiert sind oder wenn Sie keine unterstützte Version von Python verwenden. Sie können versuchen, einen anderen Python-Interpreter zu verwenden oder alle Python-Versionen zu deinstallieren und die neueste Version von Python und des Speech SDK erneut zu installieren.
HTTP 400 Ungültige Anforderung
Dieser Fehler tritt gewöhnlich auf, wenn der Anforderungstext ungültige Audiodaten enthält. Nur das WAV-Format wird unterstützt. Prüfen Sie auch die Anforderungsheader, um sicherzustellen, dass geeignete Werte für Content-Type
und Content-Length
angegeben sind.
HTTP 408 Anforderungstimeout
Der Fehler tritt wahrscheinlich auf, weil keine Audiodaten an den Dienst gesendet werden. Auch Netzwerkprobleme können diesen Fehler verursachen.