All Products
Search
Document Center

Intelligent Speech Interaction:Referensi API

Last Updated:Nov 11, 2025

Layanan pengenalan suara waktu nyata mengenali aliran data suara berdurasi panjang dan cocok untuk skenario yang memerlukan pengenalan suara tanpa gangguan, seperti pidato konferensi dan siaran langsung.

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.

  • Memungkinkan Anda menentukan apakah akan mengembalikan hasil antara, menambahkan tanda baca selama post-processing, serta mengonversi angka Tiongkok menjadi angka Arab.

  • Memungkinkan Anda memilih model linguistik untuk mengenali pidato 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:

    • ASR 16K (Tujuan Umum): Mandarin Tiongkok, Inggris, Kanton, Jepang, Korea, Rusia, Indonesia, Vietnam, Malaysia, Thailand, Hindi, Arab, Kazakh, Jerman, Spanyol, dan Prancis.

    • ASR 8K (Saluran Telepon): Mandarin Tiongkok, Inggris, Kanton, Indonesia, dan Filipina.

Titik akhir

Jenis akses

Deskripsi

URL

Akses eksternal dari Internet

Titik akhir ini memungkinkan Anda mengakses layanan pengenalan suara waktu nyata 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

Proses interaksi

Catatan

Server menambahkan parameter task_id ke header respons untuk semua tanggapan guna menunjukkan ID tugas pengenalan. Anda dapat mencatat nilai parameter ini. Jika terjadi kesalahan, Anda dapat mengajukan tiket dengan melampirkan ID tugas dan pesan kesalahan tersebut.

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 akses.

2. Memulai dan mengonfirmasi pengenalan

Klien mengirim permintaan untuk memulai pengenalan suara waktu nyata. Server mengonfirmasi bahwa permintaan tersebut valid. Anda harus mengatur parameter permintaan agar klien dapat mengirim permintaan layanan. Parameter tersebut dapat diatur menggunakan metode set pada objek SpeechTranscriber di SDK. Tabel berikut menjelaskan parameter permintaan tersebut.

Parameter

Tipe

Wajib

Deskripsi

appkey

String

Ya

Appkey proyek Anda yang dibuat di konsol Intelligent Speech Interaction.

format

String

Tidak

Format pengkodean audio. Nilai default: PCM. Layanan pengenalan suara waktu nyata mendukung file audio mono 16-bit yang tidak terkompresi dengan format PCM atau WAV.

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 Intelligent Speech Interaction.

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 default: false. Jika Anda mengatur parameter ini ke true, angka Tiongkok akan dikonversi menjadi angka Arab.

Catatan

ITN tidak diterapkan pada kata per kata.

customization_id

String

Tidak

ID model linguistik kustom.

vocabulary_id

String

Tidak

ID kosakata hotword kustom.

max_sentence_silence

Integer

Tidak

Ambang batas untuk mendeteksi akhir kalimat. Jika durasi diam melebihi ambang batas yang ditentukan, sistem akan menentukan akhir kalimat. Satuan: milidetik. Nilai valid: 200 hingga 2000. Nilai default: 800.

enable_words

Boolean

Tidak

Menentukan apakah akan mengembalikan informasi tentang kata. Nilai default: false.

enable_ignore_sentence_timeout

Boolean

Tidak

Menentukan apakah akan mengabaikan masalah waktu habis pengenalan pada satu kalimat dalam pengenalan suara waktu nyata. Nilai default: false.

disfluency

Boolean

Tidak

Menentukan apakah akan mengaktifkan deteksi disfluensi untuk menghapus partikel modal dan pengulangan ucapan. Nilai default: false.

vad_model

String

Tidak

ID model Deteksi aktivitas suara (VAD) yang digunakan oleh server. Secara default, parameter ini tidak dilewatkan dalam permintaan.

speech_noise_threshold

float

Tidak

Ambang batas untuk mengenali aliran audio sebagai kebisingan. Nilai valid: -1 hingga 1. Informasi berikut menjelaskan nilai parameter:

  • Semakin dekat nilai parameter ke -1, semakin besar kemungkinan aliran audio dikenali sebagai ucapan normal.

  • Semakin dekat nilai parameter ke 1, semakin besar kemungkinan aliran audio dikenali sebagai kebisingan.

Catatan

Parameter ini merupakan parameter lanjutan. Lakukan penyesuaian nilai parameter ini dengan hati-hati. Lakukan pengujian setelah menyesuaikan nilai parameter tersebut.

3. Mengirim dan mengenali data audio

Klien secara siklik mengirim data audio ke server dan terus menerima hasil pengenalan dari server.

  • Pesan SentenceBegin menunjukkan bahwa server mendeteksi awal kalimat. Layanan pengenalan suara waktu nyata menggunakan VAD untuk menentukan awal dan akhir kalimat. Misalnya, server mengembalikan respons berikut:

    {
            "header": {
                    "namespace": "SpeechTranscriber",
                    "name": "SentenceBegin",
                    "status": 20000000,
                    "message_id": "a426f3d4618447519c9d85d1a0d1****",
                    "task_id": "5ec521b5aa104e3abccf3d361822****",
                    "status_text": "Gateway:SUCCESS:Success."
            },
            "payload": {
                    "index": 1,
                    "time": 0
            }
    }

    Tabel berikut menjelaskan parameter dalam objek header.

    Parameter

    Tipe

    Deskripsi

    namespace

    String

    Namespace pesan.

    name

    String

    Nama pesan. Pesan SentenceBegin menunjukkan bahwa server mendeteksi awal kalimat.

    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

    ID Unik Global (GUID) tugas pengenalan. Catat nilai parameter ini untuk mempermudah pemecahan masalah.

    message_id

    String

    ID pesan.

    Tabel berikut menjelaskan parameter hasil dalam objek payload.

    Parameter

    Tipe

    Deskripsi

    index

    Integer

    Nomor urut kalimat, dimulai dari 1.

    time

    Integer

    Durasi data audio yang diproses. Satuan: milidetik.

  • Pesan TranscriptionResultChanged menunjukkan bahwa hasil antara diperoleh. Jika parameter enable_intermediate_result diatur ke true, server mengirim beberapa pesan TranscriptionResultChanged untuk mengembalikan hasil antara. Misalnya, server mengembalikan hasil antara berikut:

    {
            "header": {
                    "namespace": "SpeechTranscriber",
                    "name": "TranscriptionResultChanged",
                    "status": 20000000,
                    "message_id": "dc21193fada84380a3b6137875ab****",
                    "task_id": "5ec521b5aa104e3abccf3d361822****",
                    "status_text": "Gateway:SUCCESS:Success."
            },
            "payload": {
                    "index": 1,
                    "time": 1835,
                    "result": "Sky in Beijing",
                    "confidence": 1.0,
                    "words": [{
                            "text": "Sky",
                            "startTime": 630,
                            "endTime": 930
                    }, {
                            "text":"in",
                            "startTime": 930,
                            "endTime": 1110
                    }, {
                            "text": "Beijing",
                            "startTime": 1110,
                            "endTime": 1140
                    }]
            }
    }       

    Parameter dalam objek header pesan TranscriptionResultChanged mirip dengan parameter dalam objek header pesan SentenceBegin. Nilai parameter name adalah TranscriptionResultChanged, yang menunjukkan bahwa hasil antara diperoleh.

    Tabel berikut menjelaskan parameter hasil dalam objek payload.

    Parameter

    Tipe

    Deskripsi

    index

    Integer

    Nomor urut kalimat, dimulai dari 1.

    time

    Integer

    Durasi data audio yang diproses. Satuan: milidetik.

    result

    String

    Hasil pengenalan kalimat.

    words

    List< Word >

    Informasi kata dalam kalimat. Informasi kata hanya dikembalikan jika parameter enable_words diatur ke true.

    confidence

    Double

    Tingkat kepercayaan hasil pengenalan kalimat. Nilai valid: 0,0 hingga 1,0. Nilai yang lebih besar menunjukkan tingkat kepercayaan yang lebih tinggi.

  • Pesan SentenceEnd menunjukkan bahwa server mendeteksi akhir kalimat dan mengembalikan hasil pengenalan kalimat tersebut. Misalnya, server mengembalikan respons berikut:

    {
            "header": {
                    "namespace": "SpeechTranscriber",
                    "name": "SentenceEnd",
                    "status": 20000000,
                    "message_id": "c3a9ae4b231649d5ae05d4af36fd****",
                    "task_id": "5ec521b5aa104e3abccf3d361822****",
                    "status_text": "Gateway:SUCCESS:Success."
            },
            "payload": {
                    "index": 1,
                    "time": 1820,
                    "begin_time": 0,
                    "result": "Weather in Beijing",
                    "confidence": 1.0,
                    "words": [{
                            "text": "Weather",
                            "startTime": 630,
                            "endTime": 930
                    }, {
                            "text":"in",
                            "startTime": 930,
                            "endTime": 1110
                    }, {
                            "text": "Beijing",
                            "startTime": 1110,
                            "endTime": 1380
                    }]
            }
    }
    

    Parameter dalam objek header pesan SentenceEnd mirip dengan parameter dalam objek header pesan SentenceBegin. Nilai parameter name adalah SentenceEnd, yang menunjukkan bahwa server mendeteksi akhir kalimat.

    Tabel berikut menjelaskan parameter hasil dalam objek payload.

    Parameter

    Tipe

    Deskripsi

    index

    Integer

    Nomor urut kalimat, dimulai dari 1.

    time

    Integer

    Durasi data audio yang diproses. Satuan: milidetik.

    begin_time

    Integer

    Waktu ketika server mengembalikan pesan SentenceBegin untuk kalimat tersebut. Satuan: milidetik.

    result

    String

    Hasil pengenalan kalimat.

    words

    List< Word >

    Informasi kata dalam kalimat. Informasi kata hanya dikembalikan jika parameter enable_words diatur ke true.

    confidence

    Double

    Tingkat kepercayaan hasil pengenalan kalimat. Nilai valid: 0,0 hingga 1,0. Nilai yang lebih besar menunjukkan tingkat kepercayaan yang lebih tinggi.

    Tabel berikut menjelaskan parameter hasil dalam objek words.

    Parameter

    Tipe

    Deskripsi

    text

    String

    Teks kata.

    startTime

    Integer

    Waktu mulai kata dalam kalimat. Satuan: milidetik.

    endTime

    Integer

    Waktu akhir kata dalam kalimat. Satuan: milidetik.

4. Menyelesaikan tugas pengenalan

Klien memberi tahu server bahwa semua data audio telah dikirim. Server menyelesaikan tugas pengenalan dan memberi tahu klien bahwa tugas tersebut telah selesai.

Kode status layanan

Setiap respons berisi bidang status yang menunjukkan kode status layanan. Tabel berikut menjelaskan kode kesalahan umum, kode kesalahan gerbang, kode kesalahan konfigurasi, dan kode kesalahan pengenalan suara waktu nyata.

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. Kemudian, 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.

40000000

Pesan kesalahan yang dikembalikan karena terjadi kesalahan klien. Ini adalah kode kesalahan klien default.

Selesaikan kesalahan berdasarkan pesan kesalahan atau ajukan tiket.

41010120

Pesan kesalahan yang dikembalikan karena terjadi kesalahan waktu habis pada klien.

Periksa apakah klien tidak mengirim data ke server selama minimal 10 detik berturut-turut.

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, ajukan 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, ajukan 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, ajukan tiket.

Kode kesalahan gerbang

Kode kesalahan

Deskripsi

Solusi

40010001

Pesan kesalahan yang dikembalikan karena metode tidak didukung.

Jika Anda menggunakan SDK, ajukan tiket.

40010002

Pesan kesalahan yang dikembalikan karena instruksi tidak didukung.

Jika Anda menggunakan SDK, ajukan tiket.

40010003

Pesan kesalahan yang dikembalikan karena format instruksi tidak valid.

Jika Anda menggunakan SDK, ajukan 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 yang tidak mendukung instruksi tersebut.

Periksa apakah instruksi tersebut didukung oleh tugas dalam status 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).

Kode kesalahan pengenalan suara waktu nyata

Kode kesalahan

Deskripsi

Solusi

41040201

Pesan kesalahan yang dikembalikan karena klien tidak mengirim data ke server selama 10 detik berturut-turut.

Periksa jaringan atau apakah tidak ada data bisnis yang perlu dikirim.

41040202

Pesan kesalahan yang dikembalikan karena klien mengirim data dengan laju transmisi tinggi dan menghabiskan semua sumber daya server.

Periksa apakah klien mengirim data dengan laju transmisi yang sesuai, misalnya dengan faktor waktu nyata 1:1.

41040203

Pesan kesalahan yang dikembalikan karena klien mengirim data audio dalam format pengkodean audio yang tidak valid.

Konversi format pengkodean audio data audio ke format yang didukung oleh SDK.

41040204

Pesan kesalahan yang dikembalikan karena klien tidak memanggil metode dalam urutan yang benar.

Periksa apakah klien memanggil metode terkait untuk mengirim permintaan sebelum memanggil metode lainnya.

41040205

Pesan kesalahan yang dikembalikan karena parameter max_sentence_silence yang ditentukan tidak valid.

Periksa apakah nilai parameter max_sentence_silence berada dalam rentang 200 hingga 2000.

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 terikat pada appkey proyek Anda yang dibuat di konsol.

51040101

Pesan kesalahan yang dikembalikan karena terjadi kesalahan internal pada server.

Selesaikan kesalahan berdasarkan pesan kesalahan.

51040103

Pesan kesalahan yang dikembalikan karena layanan pengenalan suara waktu nyata tidak tersedia.

Periksa apakah jumlah tugas pengenalan suara waktu nyata melebihi batas atas.

51040104

Pesan kesalahan yang dikembalikan karena permintaan pengenalan suara waktu nyata melebihi batas waktu.

Periksa log layanan pengenalan suara waktu nyata.

51040105

Pesan kesalahan yang dikembalikan karena panggilan layanan pengenalan suara waktu nyata gagal.

Periksa apakah layanan pengenalan suara waktu nyata diaktifkan dan apakah port berfungsi dengan baik.

51040106

Pesan kesalahan yang dikembalikan karena load balancing layanan pengenalan suara waktu nyata gagal dan klien gagal mendapatkan alamat IP layanan pengenalan suara waktu nyata.

Periksa apakah server pengenalan suara waktu nyata di VPC berfungsi dengan baik.