Řešení potíží se sadou Speech SDK
Tento článek obsahuje informace, které vám pomůžou vyřešit problémy, se kterými se můžete setkat při používání sady Speech SDK.
Ověření se nezdařilo
V závislosti na programovacím prostředí, rozhraní API nebo sadě SDK můžete pozorovat jednu z několika chyb ověřování. Tady je několik ukázkových chyb:
- Nastavili jste klíč prostředku služby Speech a hodnoty oblastí?
- OvěřováníFailure
- HTTP 403 Zakázáno nebo HTTP 401 Neautorizováno. Připojení žádosti o Připojení bez platné
Ocp-Apim-Subscription-Key
neboAuthorization
hlavičky jsou odmítnuty se stavem 403 nebo 401. - ValueError: Nelze sestavit SpeechConfig s danými argumenty (nebo variantou této zprávy). Tato chyba se může zobrazit například při spuštění některého z rychlých startů sady Speech SDK pro Python bez nastavení proměnných prostředí. Může se také zobrazit, když nastavíte proměnné prostředí na něco neplatného, jako je váš klíč nebo oblast.
- Výjimka s kódem chyby: 0x5. Tato chyba odepření přístupu se může zobrazit, například když spustíte některou z rychlých startů sady Speech SDK pro C# bez nastavení proměnných prostředí.
Tipy pro řešení potíží s ověřováním podle směrného plánu najdete v tématu Ověření klíče prostředku a ověření autorizačního tokenu. Další informace o potvrzení přihlašovacích údajů najdete v tématu Získání klíčů pro váš prostředek.
Ověření klíče prostředku
Spuštěním jednoho z následujících příkazů můžete ověřit, že máte platný klíč prostředku.
Poznámka:
Nahraďte YOUR_RESOURCE_KEY
a YOUR_REGION
zadejte vlastní klíč prostředku a přidruženou oblast.
$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
Pokud jste zadali platný klíč prostředku, vrátí příkaz autorizační token, jinak se vrátí chyba.
Ověření autorizačního tokenu
Pokud k ověřování používáte autorizační token, může se zobrazit chyba ověřování, protože:
- Autorizační token je neplatný.
- Platnost autorizačního tokenu vypršela.
Pokud k ověřování použijete autorizační token, spusťte jeden z následujících příkazů a ověřte, že autorizační token je stále platný. Tokeny jsou platné po dobu 10 minut.
Poznámka:
Nahraďte YOUR_AUDIO_FILE
cestou k předem zaznamenaným zvukovým souboru. Nahraďte YOUR_ACCESS_TOKEN
autorizačním tokenem vráceným v předchozím kroku. Nahraďte YOUR_REGION
správnou oblastí.
$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
Pokud jste zadali platný autorizační token, vrátí příkaz přepis zvukového souboru, jinak se vrátí chyba.
InitialSilenceTimeout přes RecognitionStatus
K tomuto problému obvykle dochází při rozpoznávání jedné promluvy jedním snímkem. Chybu lze například vrátit za následujících okolností:
- Zvuk začíná dlouhým úsekem ticha. V takovém případě služba zastaví rozpoznávání po několika sekundách a vrátí
InitialSilenceTimeout
. - Zvuk používá nepodporovaný formát kodeku, který způsobí, že zvuková data budou považována za ticho.
Je v pořádku mít ticho na začátku zvuku, ale pouze když používáte nepřetržité rozpoznávání.
SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND
Tato chyba se může vrátit, například při instalaci více verzí Pythonu nebo pokud nepoužíváte podporovanou verzi Pythonu. Můžete zkusit použít jiný interpret Pythonu nebo odinstalovat všechny verze Pythonu a znovu nainstalovat nejnovější verzi Pythonu a sadu Speech SDK.
Chybný požadavek HTTP 400
K této chybě obvykle dochází v případě, že text požadavku obsahuje neplatná zvuková data. Podporuje se pouze formát WAV. Zkontrolujte také hlavičky požadavku a ujistěte se, že jste zadali správné hodnoty pro hlavičky Content-Type
a Content-Length
.
Vypršení časového limitu požadavku HTTP 408
Nejpravděpodobnější příčinou této chyby je, že se do služby neodesílají žádná zvuková data. K této chybě může dojít také v případě problémů se sítí.
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro