Dela via


Felsöka Speech SDK

Den här artikeln innehåller information som hjälper dig att lösa problem som kan uppstå när du använder Speech SDK.

Autentiseringen misslyckades

Du kan se ett av flera autentiseringsfel, beroende på programmeringsmiljön, API:et eller SDK:n. Här följer några exempelfel:

  • Har du angett talresursnyckeln och regionvärdena?
  • AuthenticationFailure
  • HTTP 403 Förbjudet eller HTTP 401 Obehörigt. Anslut ionsbegäranden utan ett giltigt Ocp-Apim-Subscription-Key eller Authorization sidhuvud avvisas med statusen 403 eller 401.
  • ValueError: kan inte konstruera SpeechConfig med de angivna argumenten (eller en variant av det här meddelandet). Det här felet kan till exempel observeras när du kör en av snabbstarterna för Speech SDK för Python utan att ange miljövariabler. Du kan också se det när du anger miljövariablerna till något ogiltigt, till exempel din nyckel eller region.
  • Undantag med en felkod: 0x5. Det här felet om nekad åtkomst kan observeras, till exempel när du kör en av snabbstarterna speech SDK för C# utan att ange miljövariabler.

Felsökningstips för baslinjeautentisering finns i verifiera resursnyckeln och verifiera en auktoriseringstoken. Mer information om hur du bekräftar autentiseringsuppgifter finns i hämta nycklarna för din resurs.

Verifiera resursnyckeln

Du kan kontrollera att du har en giltig resursnyckel genom att köra något av följande kommandon.

Kommentar

Ersätt YOUR_RESOURCE_KEY och YOUR_REGION med din egen resursnyckel och tillhörande 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

Om du har angett en giltig resursnyckel returnerar kommandot en auktoriseringstoken, annars returneras ett fel.

Verifiera en auktoriseringstoken

Om du använder en auktoriseringstoken för autentisering kan det uppstå ett autentiseringsfel eftersom:

  • Auktoriseringstoken är ogiltig
  • Auktoriseringstoken har upphört att gälla

Om du använder en auktoriseringstoken för autentisering kör du något av följande kommandon för att kontrollera att auktoriseringstoken fortfarande är giltig. Token är giltiga i 10 minuter.

Kommentar

Ersätt YOUR_AUDIO_FILE med sökvägen till din förinspelade ljudfil. Ersätt YOUR_ACCESS_TOKEN med auktoriseringstoken som returnerades i föregående steg. Ersätt YOUR_REGION med rätt 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

Om du har angett en giltig auktoriseringstoken returnerar kommandot transkriptionen för ljudfilen, annars returneras ett fel.

InitialSilenceTimeout via RecognitionStatus

Det här problemet brukar observeras med enstaka igenkänning av ett enda yttrande. Felet kan till exempel returneras under följande omständigheter:

  • Ljudet börjar med en lång tystnadssträcka. I så fall stoppar tjänsten igenkänningen efter några sekunder och returnerar InitialSilenceTimeout.
  • Ljudet använder ett codec-format som inte stöds, vilket gör att ljuddata behandlas som tystnad.

Det är OK att ha tystnad i början av ljudet, men bara när du använder kontinuerlig igenkänning.

SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND

Det här felet kan returneras, till exempel när flera versioner av Python är installerade eller om du inte använder en version av Python som stöds. Du kan prova att använda en annan Python-tolk eller avinstallera alla Python-versioner och installera om den senaste versionen av Python och Speech SDK.

HTTP 400 Felaktig begäran

Det här felet uppstår vanligtvis när begärandetexten innehåller ogiltiga ljuddata. Endast WAV-formatet stöds. Kontrollera också begärandehuvuden för att se till att du anger lämpliga värden för Content-Type och Content-Length.

Tidsgräns för HTTP 408-begäran

Felet beror troligen på att inga ljuddata skickas till tjänsten. Nätverksproblem kan också orsaka det här felet.

Nästa steg