Pecahkan masalah Speech SDK

Artikel ini memberikan informasi untuk membantu memecahkan masalah yang mungkin Anda alami saat menggunakan Speech SDK.

Autentikasi gagal

Anda mungkin mengamati salah satu dari beberapa kesalahan autentikasi, tergantung pada lingkungan pemrograman, API, atau SDK. Berikut adalah beberapa contoh kesalahan:

  • Apakah Anda mengatur kunci sumber daya ucapan dan nilai wilayah?
  • AuthenticationFailure
  • HTTP 403 Terlarang atau HTTP 401 Tidak Sah. Permintaan koneksi tanpa valid Ocp-Apim-Subscription-Key atau Authorization header ditolak dengan status 403 atau 401.
  • ValueError: tidak dapat membuat SpeechConfig dengan argumen yang diberikan (atau variasi pesan ini). Kesalahan ini dapat diamati, misalnya, ketika Anda menjalankan salah satu mulai cepat Speech SDK for Python tanpa mengatur variabel lingkungan. Anda mungkin juga melihatnya saat mengatur variabel lingkungan ke sesuatu yang tidak valid seperti kunci atau wilayah Anda.
  • Pengecualian dengan kode kesalahan: 0x5. Kesalahan akses yang ditolak ini dapat diamati, misalnya, ketika Anda menjalankan salah satu mulai cepat Speech SDK for C# tanpa mengatur variabel lingkungan.

Untuk tips pemecahan masalah autentikasi dasar, lihat memvalidasi kunci sumber daya Anda dan memvalidasi token otorisasi. Untuk informasi selengkapnya tentang mengonfirmasi kredensial, lihat mendapatkan kunci untuk sumber daya Anda.

Memvalidasi kunci sumber daya Anda

Anda dapat memverifikasi bahwa Anda memiliki kunci sumber daya yang valid dengan menjalankan salah satu perintah berikut.

Catatan

Ganti YOUR_RESOURCE_KEY dan YOUR_REGION dengan kunci sumber daya Anda sendiri dan wilayah terkait.

$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

Jika Anda memasukkan kunci sumber daya yang valid, perintah mengembalikan token otorisasi, jika tidak, kesalahan akan dikembalikan.

Validasi token otorisasi

Jika Anda menggunakan token otorisasi untuk autentikasi, Anda mungkin melihat kesalahan autentikasi karena:

  • Token otorisasi tidak valid
  • Token otorisasi kedaluwarsa

Jika Anda menggunakan token otorisasi untuk autentikasi, jalankan salah satu perintah berikut untuk memverifikasi bahwa token otorisasi masih valid. Token berlaku selama 10 menit.

Catatan

Ganti YOUR_AUDIO_FILE dengan jalur ke file audio yang telah direkam sebelumnya. Ganti YOUR_ACCESS_TOKEN dengan token otorisasi yang dikembalikan pada langkah sebelumnya. Ganti YOUR_REGION dengan wilayah yang benar.

$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

Jika Anda memasukkan token otorisasi yang valid, perintah mengembalikan transkripsi untuk file audio Anda, jika tidak, kesalahan akan dikembalikan.

InitialSilenceTimeout melalui RecognitionStatus

Masalah ini biasanya diamati dengan pengenalan satu kali ungkapan. Misalnya, kesalahan dapat dikembalikan dalam keadaan berikut:

  • Audio dimulai dengan peregangan keheningan yang panjang. Dalam hal ini, layanan menghentikan pengakuan setelah beberapa detik dan kembaliInitialSilenceTimeout.
  • Audio menggunakan format codec yang tidak didukung, yang menyebabkan data audio diperlakukan sebagai keheningan.

Tidak apa-apa untuk memiliki keheningan di awal audio, tetapi hanya ketika Anda menggunakan pengenalan berkelanjutan.

SPXERR_AUDIO_SYS_LIBRARY_NOT_FOUND

Kesalahan ini dapat dikembalikan, misalnya, ketika beberapa versi Python diinstal, atau jika Anda tidak menggunakan versi Python yang didukung. Anda dapat mencoba menggunakan penerjemah python yang berbeda atau menghapus instalan semua versi python dan menginstal ulang versi terbaru python dan Speech SDK.

HTTP 400 Permintaan Buruk

Kesalahan ini biasanya terjadi ketika badan permintaan berisi data audio yang tidak valid. Hanya format WAV yang didukung. Juga, periksa header permintaan untuk memastikan Anda menentukan nilai yang sesuai untuk Content-Type dan Content-Length.

Batas Waktu Permintaan HTTP 408

Kemungkinan besar terjadinya kesalahan adalah karena tidak ada data audio yang dikirim ke layanan. Masalah jaringan juga dapat menyebabkan kesalahan ini.

Langkah berikutnya