Layanan pengenalan kalimat pendek mengenali ucapan berdurasi hingga 60 detik. Layanan ini cocok untuk skenario seperti percakapan chat, kontrol perintah suara, pencarian suara dalam aplikasi, dan input ucapan.
Fitur
Mendukung file audio mono 16-bit yang dikodekan dengan pulse-code modulation (PCM).
Mendukung laju pengambilan sampel audio 8.000 Hz dan 16.000 Hz.
Mengenali ucapan berdurasi hingga 60 detik.
Memungkinkan Anda menentukan item konfigurasi berikut terkait tanggapan layanan:
Apakah akan mengembalikan hasil antara
Apakah akan menambahkan tanda baca selama post-processing
Apakah akan mengonversi angka Tiongkok menjadi angka Arab
Memungkinkan Anda memilih model linguistik untuk mengenali ucapan dalam berbagai bahasa saat mengelola proyek di Konsol Intelligent Speech Interaction. Untuk informasi selengkapnya, lihat Mengelola proyek.
Bahasa dan model dialek yang didukung saat ini meliputi Vietnam, Thailand, Turki, Rusia, Portugis, Malaysia, Italia, Kazakh, Indonesia, Hindi, Jerman, Prancis, Filipina, Arab, Jepang, Korea, Inggris, Mandarin Tiongkok, dan Kanton.
Titik akhir
Jenis akses | Deskripsi | URL |
Akses eksternal dari Internet | Titik akhir ini memungkinkan Anda mengakses layanan pengenalan kalimat pendek dari host mana pun melalui Internet. Secara default, URL akses Internet sudah tertanam dalam SDK. | wss://nls-gateway-ap-southeast-1.aliyuncs.com/ws/v1 |
1. Otentikasi klien
Untuk membuat koneksi WebSocket dengan server, klien harus menggunakan token untuk otentikasi. Untuk informasi selengkapnya tentang cara mendapatkan token, lihat Mendapatkan token.
2. Mulai dan konfirmasi pengenalan
Klien mengirim permintaan untuk memulai pengenalan kalimat pendek ke server. Server mengonfirmasi bahwa permintaan tersebut valid.
Anda harus mengatur parameter permintaan agar klien dapat mengirim permintaan layanan. Parameter permintaan dapat diatur dengan menggunakan metode set dari objek SpeechRecognizer dalam SDK. Tabel berikut menjelaskan parameter permintaan tersebut.
Parameter | Tipe | Wajib | Deskripsi |
appkey | String | Ya | Appkey proyek Anda yang dibuat di Konsol Interaksi Suara Cerdas. |
format | String | Tidak | Format pengkodean audio. Nilai default: PCM. Layanan pengenalan kalimat pendek mendukung file audio mono 16-bit yang dikodekan dengan PCM. |
sample_rate | Integer | Tidak | Laju pengambilan sampel audio. Satuan: Hz. Nilai default: 16000. Setelah mengatur parameter ini, Anda harus menentukan model atau skenario yang sesuai dengan laju pengambilan sampel audio tersebut untuk proyek Anda di Konsol Interaksi Suara Cerdas. |
enable_intermediate_result | Boolean | Tidak | Menentukan apakah akan mengembalikan hasil antara. Nilai default: False. |
enable_punctuation_prediction | Boolean | Tidak | Menentukan apakah akan menambahkan tanda baca selama post-processing. Nilai default: False. |
enable_inverse_text_normalization | Boolean | Tidak | Menentukan apakah akan mengaktifkan normalisasi teks terbalik (ITN) selama post-processing. Nilai yang valid: True dan False. Nilai default: False. Jika Anda mengatur parameter ini ke True, angka Tiongkok akan dikonversi menjadi angka Arab. |
customization_id | String | Tidak | ID model linguistik kustom. |
vocabulary_id | String | Tidak | ID kosakata hotword kustom. |
enable_voice_detection | Boolean | Tidak | Menentukan apakah akan mengaktifkan deteksi suara. Nilai default: False. |
max_start_silence | Integer | Tidak | Durasi maksimum keheningan awal. Satuan: milidetik. Nilai yang valid: (0, 60000]. Parameter ini hanya berlaku jika parameter enable_voice_detection diatur ke True. Jika durasi aktual keheningan awal melebihi nilai parameter ini, server akan mengirim event TaskFailed untuk mengakhiri tugas pengenalan. |
max_end_silence | Integer | Tidak | Durasi maksimum keheningan akhir. Satuan: milidetik. Nilai yang valid: 200 hingga 2000. Parameter ini hanya berlaku jika parameter enable_voice_detection diatur ke True. Jika durasi aktual keheningan akhir melebihi nilai parameter ini, server akan mengirim pesan RecognitionCompleted untuk menyelesaikan tugas pengenalan. Selanjutnya, ucapan berikutnya tidak akan diproses lagi. |
3. Kirim dan kenali data audio
Klien secara siklik mengirim data audio ke server dan terus-menerus menerima hasil pengenalan dari server.
Jika parameter enable_intermediate_result diatur ke True, server mengirim beberapa pesan RecognitionResultChanged untuk mengembalikan hasil antara. Misalnya, server mengembalikan hasil antara berikut:
Weather Weather in BeijingServer mengembalikan tanggapan berikut:
{ "header": { "namespace": "SpeechRecognizer", "name": "RecognitionResultChanged", "status": 20000000, "message_id": "e06d2b5d50ca40d5a50d4215c7c8****", "task_id": "4c3502c7a5ce4ac3bdc488749ce4****", "status_text": "Gateway:SUCCESS:Success." }, "payload": { "result": "Weather in Beijing" } }Tabel berikut menjelaskan parameter dalam objek header.
Parameter
Tipe
Deskripsi
namespace
String
Namespace pesan.
name
String
Nama pesan. Pesan RecognitionResultChanged menunjukkan bahwa hasil antara telah diperoleh.
status
Integer
Kode status. Menunjukkan apakah permintaan berhasil. Untuk informasi selengkapnya, lihat bagian "Kode status layanan" dalam topik ini.
status_text
String
Pesan status.
task_id
String
Pengenal unik global (GUID) tugas pengenalan. Catat nilai parameter ini untuk memudahkan pemecahan masalah.
message_id
String
ID pesan.
Tabel berikut menjelaskan parameter result dalam objek payload.
Parameter
Tipe
Deskripsi
result
String
Hasil antara dari tugas pengenalan.
CatatanHasil antara terbaru mungkin berbeda dari hasil akhir. Gunakan hasil yang terdapat dalam pesan RecognitionCompleted sebagai hasil akhir.
Jika parameter enable_intermediate_result diatur ke False, server tidak mengembalikan pesan apa pun pada langkah ini.
4. Hentikan dan selesaikan pengenalan
Klien mengirim permintaan untuk menghentikan pengenalan kalimat pendek ke server. Server mengembalikan hasil pengenalan akhir. Misalnya, server mengembalikan hasil pengenalan akhir berikut:
{
"header": {
"namespace": "SpeechRecognizer",
"name": "RecognitionCompleted",
"status": 20000000,
"message_id": "10490c992aef44eaa4246614838f****",
"task_id": "4c3502c7a5ce4ac3bdc488749ce4****",
"status_text": "Gateway:SUCCESS:Success."
},
"payload": {
"result": "Weather in Beijing."
}
}Tabel berikut menjelaskan parameter dalam objek header.
Parameter | Tipe | Deskripsi |
namespace | String | Namespace pesan. |
name | String | Nama pesan. Pesan RecognitionCompleted menunjukkan bahwa tugas pengenalan telah selesai. |
status | Integer | Kode status. Menunjukkan apakah permintaan berhasil. Untuk informasi selengkapnya, lihat bagian "Kode status layanan" dalam topik ini. |
status_text | String | Pesan status. |
task_id | String | GUID tugas pengenalan. Catat nilai parameter ini untuk memudahkan pemecahan masalah. |
message_id | String | ID pesan, yang dihasilkan secara otomatis oleh SDK. |
Tabel berikut menjelaskan parameter result dalam objek payload.
Parameter | Tipe | Deskripsi |
result | String | Hasil pengenalan akhir. |
Kode status layanan
Setiap pesan tanggapan berisi bidang status yang menunjukkan kode status layanan. Tabel berikut menjelaskan kode kesalahan umum, kode kesalahan gerbang, dan kode kesalahan konfigurasi.
Kode kesalahan umum
Kode kesalahan
Deskripsi
Solusi
40000001
Pesan kesalahan yang dikembalikan karena klien gagal dalam otentikasi.
Periksa apakah token yang digunakan oleh klien benar dan valid.
40000002
Pesan kesalahan yang dikembalikan karena permintaan tidak valid.
Periksa apakah permintaan yang dikirim oleh klien memenuhi persyaratan.
403
Pesan kesalahan yang dikembalikan karena token kedaluwarsa atau permintaan berisi parameter yang tidak valid.
Periksa apakah token yang digunakan oleh klien valid.
Periksa apakah nilai parameter valid.
40000004
Pesan kesalahan yang dikembalikan karena status idle klien melebihi batas waktu.
Periksa apakah klien tidak mengirim data ke server dalam waktu lama, misalnya 10 detik.
40000005
Pesan kesalahan yang dikembalikan karena jumlah permintaan melebihi batas atas.
Periksa apakah jumlah koneksi bersamaan atau permintaan per detik (QPS) melebihi batas atas. Jika jumlah koneksi bersamaan melebihi batas atas, kami menyarankan Anda meningkatkan Intelligent Speech Interaction dari edisi uji coba ke Edisi Komersial. Jika Anda telah meningkatkan layanan ke Edisi Komersial, kami menyarankan Anda membeli lebih banyak sumber daya untuk mendukung konkurensi yang lebih tinggi.
41050008
Pesan kesalahan yang dikembalikan karena laju pengambilan sampel audio yang ditentukan tidak cocok dengan model yang dipilih.
Periksa apakah laju pengambilan sampel audio yang ditentukan untuk panggilan layanan sesuai dengan laju pengambilan sampel model pengenalan suara otomatis (ASR) yang ditautkan ke appkey proyek Anda di konsol.
41010101
Pesan kesalahan yang dikembalikan karena laju pengambilan sampel audio yang ditentukan tidak didukung.
Periksa apakah laju pengambilan sampel audio yang ditentukan untuk panggilan layanan sesuai dengan laju pengambilan sampel model ASR yang ditautkan ke appkey proyek Anda di konsol.
41010120
Pesan kesalahan yang dikembalikan karena terjadi kesalahan time-out klien.
Periksa apakah klien tidak mengirim data ke server selama minimal 10 detik berturut-turut.
40000000
Pesan kesalahan yang dikembalikan karena terjadi kesalahan klien. Ini adalah kode kesalahan klien default.
Selesaikan kesalahan berdasarkan pesan kesalahan atau kirimkan tiket.
50000000
Pesan kesalahan yang dikembalikan karena terjadi kesalahan server. Ini adalah kode kesalahan server default.
Jika kode kesalahan ini kadang-kadang muncul, abaikan saja. Jika kode kesalahan ini muncul berkali-kali, kirimkan tiket.
50000001
Pesan kesalahan yang dikembalikan karena terjadi kesalahan panggilan internal.
Jika kode kesalahan ini kadang-kadang muncul, abaikan saja. Jika kode kesalahan ini muncul berkali-kali, kirimkan tiket.
52010001
Pesan kesalahan yang dikembalikan karena terjadi kesalahan panggilan internal.
Jika kode kesalahan ini kadang-kadang muncul, abaikan saja. Jika kode kesalahan ini muncul berkali-kali, kirimkan tiket.
Kode kesalahan gerbang
Kode kesalahan
Deskripsi
Solusi
40010001
Pesan kesalahan yang dikembalikan karena metode tidak didukung.
Jika Anda menggunakan SDK, kirimkan tiket.
40010002
Pesan kesalahan yang dikembalikan karena instruksi tidak didukung.
Jika Anda menggunakan SDK, kirimkan tiket.
40010003
Pesan kesalahan yang dikembalikan karena format instruksi tidak valid.
Jika Anda menggunakan SDK, kirimkan tiket.
40010004
Pesan kesalahan yang dikembalikan karena klien terputus secara tak terduga.
Periksa apakah klien terputus sebelum server menyelesaikan tugas yang diminta.
40010005
Pesan kesalahan yang dikembalikan karena tugas berada dalam status abnormal.
Periksa apakah instruksi tersebut didukung dalam status tugas saat ini.
Kode kesalahan konfigurasi
Kode kesalahan
Deskripsi
Solusi
40020105
Pesan kesalahan yang dikembalikan karena aplikasi tidak ada.
Selesaikan entri rute untuk memeriksa apakah aplikasi tersebut ada.
40020106
Pesan kesalahan yang dikembalikan karena appkey dan token yang ditentukan tidak cocok.
Periksa apakah appkey aplikasi benar dan termasuk dalam Akun Alibaba Cloud yang sama dengan token tersebut.
40020503
Pesan kesalahan yang dikembalikan karena otentikasi Pengguna RAM gagal.
Gunakan Akun Alibaba Cloud Anda untuk memberikan otorisasi kepada Pengguna RAM agar dapat mengakses API platform terbuka pctowap (POP).