Megosztás a következőn keresztül:


A Speech SDK hibáinak elhárítása

Ez a cikk a Speech SDK használatakor felmerülő problémák megoldásához nyújt segítséget.

A hitelesítés nem sikerült

A programozási környezettől, AZ API-tól vagy az SDK-tól függően számos hitelesítési hiba egyikét észlelheti. Íme néhány példahiba:

  • Beállította a beszéderőforrás-kulcsot és a régió értékeit?
  • AuthenticationFailure
  • HTTP 403 Tiltott vagy HTTP 401 Jogosulatlan. Az érvényes Ocp-Apim-Subscription-Key vagy Authorization fejléc nélküli kapcsolatkéréseket a rendszer 403 vagy 401 állapottal utasítja el.
  • ValueError: a SpeechConfig nem állítható össze a megadott argumentumokkal (vagy az üzenet egy változatával). Ez a hiba például akkor figyelhető meg, ha a Pythonhoz készült Speech SDK egyik rövid útmutatóját futtatja érvényes hitelesítő adatok megadása nélkül.
  • Kivétel hibakóddal: 0x5. Ez a hozzáférés-megtagadási hiba például akkor figyelhető meg, ha érvényes hitelesítő adatok megadása nélkül futtatja a Speech SDK for C# rövid útmutatóit.

Az alapkonfigurációs hitelesítési hibaelhárítási tippekért tekintse meg az erőforráskulcs érvényesítését és az engedélyezési jogkivonat érvényesítését.

Az erőforráskulcs érvényesítése

Az alábbi parancsok egyikének futtatásával ellenőrizheti, hogy rendelkezik-e érvényes erőforráskulcskal.

Feljegyzés

Cserélje le YOUR_RESOURCE_KEY a YOUR_REGION saját erőforráskulcsát és a hozzá tartozó régiót.

$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

Ha érvényes erőforráskulcsot adott meg, a parancs egy engedélyezési jogkivonatot ad vissza, ellenkező esetben a rendszer hibát ad vissza.

Engedélyezési jogkivonat érvényesítése

Ha hitelesítési jogkivonatot használ a hitelesítéshez, hitelesítési hiba jelenhet meg, mert:

  • Az engedélyezési token érvénytelen
  • Az engedélyezési token lejárt

Ha hitelesítési jogkivonatot használ, futtassa az alábbi parancsok egyikét annak ellenőrzéséhez, hogy az engedélyezési jogkivonat továbbra is érvényes-e. A jogkivonatok 10 percig érvényesek.

Feljegyzés

Cserélje le YOUR_AUDIO_FILE az előre felvett hangfájl elérési útjára. Cserélje le YOUR_ACCESS_TOKEN az előző lépésben visszaadott engedélyezési jogkivonatra. Cserélje le YOUR_REGION a megfelelő régióra.

$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

Ha érvényes engedélyezési jogkivonatot adott meg, a parancs visszaadja a hangfájl átiratát, ellenkező esetben a rendszer hibát ad vissza.

InitialSilenceTimeout via RecognitionStatus

Ez a probléma általában egyetlen kimondott szöveg egyetlen lövéses felismerése esetén jelentkezik. A hiba például a következő körülmények között adható vissza:

  • A hang hosszas csenddel kezdődik. Ebben az esetben a szolgáltatás néhány másodperc után leállítja a felismerést, és visszaadja.InitialSilenceTimeout
  • A hang nem támogatott kodekformátumot használ, ami miatt a hangadatok csendként lesznek kezelve.

Nem baj, ha a hang elején csend van, de csak akkor, ha folyamatos felismerést használ.

SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND

Ez a hiba például akkor adható vissza, ha a Python több verziója is telepítve van, vagy ha nem a Python támogatott verzióját használja. Megpróbálhat másik Python-értelmezőt használni, vagy eltávolíthatja az összes Python-verziót, és újra telepítheti a Python és a Speech SDK legújabb verzióját.

HTTP 400 – Hibás kérelem

Ez a hiba általában akkor fordul elő, ha a kérelemtörzs érvénytelen hangadatot tartalmaz. Csak a WAV-formátum támogatott. Emellett ellenőrizze a kérelem fejléceit, hogy biztosan megfelelő értékeket adott-e meg a következők esetében: Content-Type és Content-Length.

HTTP 408 kérelem időtúllépése

A hiba valószínűleg azért lép fel, mert a szolgáltatás nem kap hangadatokat. Ezt a hibát hálózati problémák is okozhatják.

Következő lépések