Gunakan DashScope Java SDK untuk memanggil Qwen-ASR-Realtime.
Prasyarat
- SDK DashScope versi 2.22.5 atau lebih baru (Instal SDK)
- Dapatkan Kunci API
- Pahami alur interaksi antara klien dan server
Mode interaksi
Qwen-ASR-Realtime mendukung dua mode untuk menentukan kapan audio diproses:
Mode |
| Cara kerja |
|---|---|---|
Mode VAD (default) |
| Server mendeteksi batas-batas ucapan menggunakan voice activity detection (VAD) dan menentukan kapan buffer audio dikirim untuk dikenali. |
Mode manual |
| Client mengontrol kapan audio dikirim dengan memanggil |
Contoh lengkap
your_audio_file.pcm (PCM16, 16 kHz, mono). Jika Anda hanya memiliki format MP3, WAV, atau serupa, konversi dengan ffmpeg:Parameter permintaan
Parameter koneksi (OmniRealtimeParam)
Atur parameter ini dengan metode berantai dari kelas OmniRealtimeParam.
Klik untuk melihat kode contoh
Klik untuk melihat kode contoh
Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
|
| Ya | Model yang digunakan. Contoh: |
|
| Ya | Titik akhir layanan. China (Beijing): |
|
| Tidak | Kunci API. |
Konfigurasi sesi (OmniRealtimeConfig)
Atur parameter ini dengan metode berantai dari kelas OmniRealtimeConfig.
Klik untuk melihat kode contoh
Klik untuk melihat kode contoh
Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
|
| Ya | Modalitas output. Tetap diatur sebagai |
|
| Tidak | Mengaktifkan VAD sisi server. Jika dinonaktifkan, panggil |
|
| Tidak | Jenis VAD. Tetap diatur sebagai |
|
| Tidak | Ambang batas sensitivitas VAD. Nilai yang direkomendasikan: Default: Nilai lebih rendah meningkatkan sensitivitas (dapat terpicu oleh kebisingan latar belakang). Nilai lebih tinggi mengurangi sensitivitas dan membantu menghindari pemicuan salah di lingkungan berisik. |
|
| Tidak | Durasi diam dalam milidetik yang menandai akhir sebuah ujaran. Nilai yang direkomendasikan: Default: Durasi lebih pendek (misalnya 300 ms) mempercepat respons tetapi dapat memotong jeda alami. Durasi lebih panjang (misalnya 1200 ms) menangani jeda lebih baik tetapi meningkatkan latensi. |
|
| Tidak | Pengaturan pengenalan ucapan. Lihat Parameter transkripsi. |
Parameter transkripsi (OmniRealtimeTranscriptionParam)
Atur parameter ini dengan metode setter dari kelas OmniRealtimeTranscriptionParam.
Klik untuk melihat kode contoh
Klik untuk melihat kode contoh
Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
|
| Tidak | Bahasa sumber audio. Untuk daftar bahasa yang didukung, lihat Bahasa yang didukung. |
|
| Tidak | Laju pengambilan sampel audio dalam Hz. Nilai valid: Default: Mengatur |
|
| Tidak | Format encoding audio. Nilai valid: |
|
| Tidak | Teks konteks untuk contextual biasing. Berikan teks latar belakang, kosakata entitas, atau materi referensi untuk meningkatkan akurasi pengenalan. Maksimum: 10.000 token. |
Antarmuka utama
OmniRealtimeConversation
Impor: com.alibaba.dashscope.audio.omni.OmniRealtimeConversation
Kelas ini mengelola siklus hidup WebSocket: menghubungkan ke server, mengirim audio, dan mengakhiri sesi.
Buat percakapan
Hubungkan ke server
NoApiKeyException, InterruptedException.
Konfigurasi sesi
Kirim audio data
- Mode VAD (
enableTurnDetection=true): Server mendeteksi batas-batas ucapan dan menentukan kapan buffer diproses. - Mode manual (
enableTurnDetection=false): Audio terakumulasi dalam buffer hingga Anda memanggilcommit()untuk memicu pengenalan. Setiap event dapat berisi maksimal 15 MiB data audio.
Kirim buffer audio
Metode ini hanya tersedia dalam mode manual (enableTurnDetection=false). Terjadi error jika buffer audio kosong.
Akhiri sesi
- Mode VAD: Setelah selesai mengirim audio.
- Mode manual: Setelah memanggil
commit().
Tutup koneksi
Dapatkan ID sesi dan ID respons
getSessionId()mengembalikan ID sesi untuk tugas saat ini.getResponseId()mengembalikan ID respons dari respons server terbaru.
OmniRealtimeCallback
Impor: com.alibaba.dashscope.audio.omni.OmniRealtimeCallback
Wariskan kelas ini dan implementasikan metode callback untuk menangani event dari server.
Metode | Parameter | Dipicu saat |
|---|---|---|
| Tidak ada | Koneksi WebSocket berhasil dibuat. |
|
| Event server diterima. Uraikan field |
|
| Koneksi WebSocket ditutup. |