Sdílet prostřednictvím


Ř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 nebo Authorization 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