Topik ini menjelaskan client events untuk Qwen-TTS Realtime API.
Referensi: Sintesis suara real-time - Qwen.
session.update
Memperbarui konfigurasi sesi. Setelah koneksi WebSocket terbentuk, kirim event ini sebagai langkah pertama interaksi. Jika tidak dikirim, sistem akan menggunakan konfigurasi default. Setelah server berhasil memproses event ini, server akan mengembalikan event session.updated sebagai konfirmasi.
event_idstring(Required) ID event unik yang dihasilkan oleh client dan harus unik dalam satu sesi koneksi WebSocket. Disarankan untuk menggunakan Universally Unique Identifier (UUID). typestring(Required) Jenis event. Tetapkan ke session.update. sessionobject(Optional) Konfigurasi sesi. Properties voicestring(Required) Suara sistem yang digunakan untuk sintesis ucapan. Lihat Voice yang didukung. modestring(Optional) Pola interaksi. Nilai yang valid:
server_commit (default): Server secara otomatis menentukan kapan melakukan sintesis, menyeimbangkan latensi dan kualitas. Pola ini direkomendasikan untuk sebagian besar skenario.
commit: Client secara manual memicu sintesis. Pola ini memberikan latensi terendah tetapi mengharuskan Anda mengelola integritas kalimat.
language_typestring(Optional) Bahasa audio hasil sintesis. Nilai default adalah Auto.
-
Auto: Gunakan nilai ini ketika bahasa teks tidak pasti atau teks berisi beberapa bahasa. Model secara otomatis mencocokkan pelafalan untuk segmen bahasa berbeda dalam teks, tetapi tidak dapat menjamin akurasi sempurna.
-
Bahasa spesifik: Gunakan ini untuk teks berbahasa tunggal. Menentukan bahasa secara signifikan meningkatkan kualitas sintesis dan biasanya memberikan hasil lebih baik daripada Auto. Nilai yang valid meliputi:
Chinese
English
German
Italian
Portuguese
Spanish
Japanese
Korean
French
Russian
response_formatstring(Optional) Format output audio dari model. Format yang didukung:
pcm (default)
wav
mp3
opus
sample_rateinteger(Optional) Laju sampel (dalam Hz) dari output audio model. Laju sampel yang didukung:
- 8000
- 16000
- 24000 (default)
- 48000
speech_ratefloat(Optional) Laju bicara audio. Nilai 1.0 merupakan kecepatan normal. Nilai kurang dari 1.0 lebih lambat, dan nilai lebih dari 1.0 lebih cepat. Nilai default: 1.0. Rentang valid: [0.5, 2.0]. volumeinteger(Optional) Volume audio. Nilai default: 50. Rentang valid: [0, 100]. pitch_ratefloat(Optional) Pitch audio hasil sintesis. Nilai default: 1.0. Rentang valid: [0.5, 2.0]. bit_rateinteger(Optional) Bitrate (dalam kbps) audio. Bitrate yang lebih tinggi menghasilkan kualitas audio lebih baik dan ukuran file lebih besar. Parameter ini hanya tersedia ketika format audio (response_format) diatur ke opus. Nilai default: 128. Rentang valid: [6, 510]. | {
"event_id": "event_123",
"type": "session.update",
"session": {
"voice": "Cherry",
"mode": "server_commit",
"language_type": "Chinese",
"response_format": "pcm",
"sample_rate": 24000
}
}
|
input_text_buffer.append
Menambahkan teks yang akan disintesis ke buffer teks. Dalam mode server_commit, teks ditambahkan ke buffer teks sisi server. Dalam mode commit, teks ditambahkan ke buffer teks sisi client.
event_idstring(Required) ID event unik yang dihasilkan oleh client dan harus unik dalam satu sesi koneksi WebSocket. Disarankan untuk menggunakan UUID. typestring(Required) Jenis event. Tetapkan ke input_text_buffer.append. textstring(Required) Teks yang akan disintesis. | {
"event_id": "event_B4o9RHSTWobB5OQdEHLTo",
"type": "input_text_buffer.append",
"text": "Hello, I am Qwen."
}
|
input_text_buffer.commit
Meng-commit buffer teks input pengguna untuk membuat item pesan pengguna baru dalam percakapan. Jika buffer teks input kosong, event ini menyebabkan error. Dalam mode server_commit, mengirim event ini akan langsung mensintesis seluruh teks sebelumnya, dan server tidak lagi menyimpan cache teks. Dalam mode commit, client harus meng-commit buffer teks untuk membuat item pesan pengguna. Meng-commit buffer teks input tidak menghasilkan respons dari model. Server merespons dengan event input_text_buffer.committed.
event_idstring(Required) ID event unik yang dihasilkan oleh client dan harus unik dalam satu sesi koneksi WebSocket. Disarankan untuk menggunakan UUID. typestring(Required) Jenis event. Tetapkan ke input_text_buffer.commit. | {
"event_id": "event_B4o9RHSTWobB5OQdEHLTo",
"type": "input_text_buffer.commit"
}
|
input_text_buffer.clear
Mengosongkan teks dalam buffer. Server merespons dengan event input_text_buffer.cleared.
event_idstring(Required) ID event unik yang dihasilkan oleh client dan harus unik dalam satu sesi koneksi WebSocket. Disarankan untuk menggunakan UUID. typestring(Required) Jenis event. Tetapkan ke input_text_buffer.clear. | {
"event_id": "event_2728",
"type": "input_text_buffer.clear"
}
|
session.finish
Client mengirim event session.finish untuk memberi tahu server bahwa tidak ada lagi input teks. Server mengembalikan audio yang tersisa lalu menutup koneksi.
event_idstring(Required) ID event unik yang dihasilkan oleh client dan harus unik dalam satu sesi koneksi WebSocket. Disarankan untuk menggunakan UUID. typestring(Required) Jenis event. Tetapkan ke session.finish. | {
"event_id": "event_2239",
"type": "session.finish"
}
|