qwen3-livetranslate-flash-realtime adalah model terjemahan real-time yang ditingkatkan dengan visi untuk menerjemahkan antara 18 bahasa, termasuk Tiongkok, Inggris, Rusia, dan Prancis. Model ini memproses input audio dan gambar dari aliran video real-time atau file video lokal, memanfaatkan konteks visual untuk meningkatkan akurasi terjemahan, serta menghasilkan teks dan audio terjemahan secara real-time.
Coba demo online dengan penerapan satu klik menggunakan Function Compute.
Fitur
Dukungan multi-bahasa: Mendukung 18 bahasa dan 6 dialek Tiongkok, termasuk Tiongkok, Inggris, Prancis, Jerman, Rusia, Jepang, Korea, Mandarin, Kanton, dan Sichuan.
Peningkatan visual: Menganalisis petunjuk visual, seperti gerakan bibir, isyarat tubuh, dan teks pada layar, untuk meningkatkan akurasi terjemahan—terutama di lingkungan bising atau untuk kata-kata ambigu.
Latensi 3 detik: Memberikan interpretasi simultan dengan latensi serendah 3 detik.
Interpretasi simultan tanpa kehilangan kualitas: Menggunakan prediksi unit semantik untuk menyelesaikan perbedaan urutan kata antarbahasa, sehingga menghasilkan kualitas terjemahan real-time yang setara dengan terjemahan offline.
Suara alami: Menghasilkan suara alami dengan mencocokkan secara otomatis intonasi dan emosi dari audio sumber.
Konfigurasi hotword: Memungkinkan Anda mengonfigurasi hotword untuk meningkatkan akurasi terjemahan istilah tertentu.
Prosedur
1. Konfigurasikan koneksi
Model qwen3-livetranslate-flash-realtime menggunakan protokol WebSocket. Koneksi memerlukan parameter berikut:
Parameter | Deskripsi |
endpoint | Tiongkok daratan: wss://dashscope.aliyuncs.com/api-ws/v1/realtime Internasional: wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime |
query parameter | Parameter kueri model harus diatur ke nama model. Contoh: |
message header | Gunakan Bearer Token untuk autentikasi: Authorization: Bearer DASHSCOPE_API_KEY DASHSCOPE_API_KEY adalah Kunci API Anda dari Model Studio. |
Kode Python contoh untuk membuat koneksi:
2. Konfigurasikan bahasa, modalitas, dan suara
Kirim event client session.update dengan parameter berikut:
Bahasa
Bahasa sumber: Konfigurasikan menggunakan parameter
session.input_audio_transcription.language.Nilai default adalah
en(Inggris).Bahasa target: Konfigurasikan menggunakan parameter
session.translation.language.Nilai default adalah
en(Inggris).
Lihat Bahasa yang didukung.
Keluarkan hasil pengenalan bahasa sumber
Untuk mengaktifkan fitur ini, atur parameter
session.input_audio_transcription.model. Saat diatur keqwen3-asr-flash-realtime, server mengembalikan hasil terjemahan sekaligus hasil pengenalan ucapan (teks asli) untuk input audio.Saat fitur ini diaktifkan, server mengembalikan event berikut:
conversation.item.input_audio_transcription.text: Mengalirkan hasil pengenalan.conversation.item.input_audio_transcription.completed: Mengembalikan hasil akhir setelah pengenalan selesai.
Modalitas output
Atur parameter
session.modalitieske["text"](hanya teks) atau["text","audio"](teks dan audio).Suara
Konfigurasikan menggunakan parameter
session.voice. Lihat Suara yang didukung.Hotword
Konfigurasikan hotword menggunakan parameter
session.translation.corpus.phrases. Hotword adalah pasangan kunci-nilai yang memetakan istilah sumber ke terjemahan target, sehingga meningkatkan akurasi untuk istilah tertentu.Contoh: Petakan
"artificial intelligence"ke"Artificial Intelligence".
3. Input audio dan gambar
Kirim data audio dan gambar yang telah dikodekan Base64 menggunakan event input_audio_buffer.append dan input_image_buffer.append. Input audio wajib; input gambar opsional.
Gambar dapat berasal dari file lokal atau ditangkap secara real-time dari aliran video.
Server secara otomatis mendeteksi batas ucapan dan memicu respons model.
4. Terima respons model
Saat server mendeteksi akhir input audio, model memberikan respons. Format respons bergantung pada modalitas output yang dikonfigurasi.
Output hanya teks
Server mengembalikan teks terjemahan lengkap dalam event response.text.done.
Output teks dan audio
Teks
Server mengembalikan teks terjemahan lengkap dalam event response.audio_transcript.done.
Audio
Server mengembalikan data audio bertahap yang dikodekan Base64 dalam event response.audio.delta.
Model yang didukung
Model | Versi | Jendela konteks | Input maks | Output maks |
(tokens) | ||||
qwen3-livetranslate-flash-realtime Alias untuk qwen3-livetranslate-flash-realtime-2025-09-22 | Stable | 53.248 | 49.152 | 4.096 |
qwen3-livetranslate-flash-realtime-2025-09-22 | Snapshot | |||
Memulai
Siapkan lingkungan
Memerlukan Python 3.10 atau lebih baru.
Pertama, instal pyaudio.
macOS
brew install portaudio && pip install pyaudioDebian/Ubuntu
sudo apt-get install python3-pyaudio or pip install pyaudioCentOS
sudo yum install -y portaudio portaudio-devel && pip install pyaudioWindows
pip install pyaudioKemudian instal dependensi WebSocket:
pip install websocket-client==1.8.0 websocketsBuat klien
Buat file bernama
livetranslate_client.pydengan kode berikut:Berinteraksi dengan model
Di direktori yang sama, buat file bernama
main.pydengan kode berikut:Jalankan
main.pydan bicara ke mikrofon Anda. Model menghasilkan audio dan teks terjemahan secara real-time. Sistem secara otomatis mendeteksi ucapan dan mengirimkannya ke server.
Tingkatkan terjemahan dengan gambar
Model qwen3-livetranslate-flash-realtime menggunakan input gambar untuk meningkatkan terjemahan audio, membantu menghilangkan ambiguitas homonim dan mengenali kata benda proper yang tidak umum. Kirim tidak lebih dari 2 gambar per detik.
Unduh contoh gambar berikut: medical mask.pngmasquerade mask.png
Unduh kode berikut ke direktori yang sama dengan livetranslate_client.py dan jalankannya. Ucapkan "What is mask?" ke mikrofon Anda. Model menggunakan gambar yang disediakan untuk menghilangkan ambiguitas kata "mask." Misalnya, menggunakan file medical mask.png menerjemahkan frasa tersebut sebagai "What is a medical mask?", sedangkan menggunakan file masquerade mask.png menerjemahkannya sebagai "What is a masquerade mask?".
import os
import time
import json
import asyncio
import contextlib
import functools
from livetranslate_client import LiveTranslateClient
IMAGE_PATH = "medical mask.png"
# IMAGE_PATH = "masquerade mask.png"
def print_banner():
print("=" * 60)
print(" Powered by Qwen qwen3-livetranslate-flash-realtime — single-turn interaction example (mask)")
print("=" * 60 + "\n")
async def stream_microphone_once(client: LiveTranslateClient, image_bytes: bytes):
pa = client.pyaudio_instance
stream = pa.open(
format=client.input_format,
channels=client.input_channels,
rate=client.input_rate,
input=True,
frames_per_buffer=client.input_chunk,
)
print(f"[INFO] Recording started. Please speak...")
loop = asyncio.get_event_loop()
last_img_time = 0.0
frame_interval = 0.5 # 2 fps
try:
while client.is_connected:
data = await loop.run_in_executor(None, stream.read, client.input_chunk)
await client.send_audio_chunk(data)
# Append an image frame every 0.5 seconds
now = time.time()
if now - last_img_time >= frame_interval:
await client.send_image_frame(image_bytes)
last_img_time = now
finally:
stream.stop_stream()
stream.close()
async def main():
print_banner()
api_key = os.environ.get("DASHSCOPE_API_KEY")
if not api_key:
print("[ERROR] Please set the DASHSCOPE_API_KEY environment variable.")
return
client = LiveTranslateClient(api_key=api_key, target_language="zh", voice="Cherry", audio_enabled=True)
def on_text(text: str):
print(text, end="", flush=True)
try:
await client.connect()
client.start_audio_player()
message_task = asyncio.create_task(client.handle_server_messages(on_text))
with open(IMAGE_PATH, "rb") as f:
img_bytes = f.read()
await stream_microphone_once(client, img_bytes)
await asyncio.sleep(15)
finally:
await client.close()
if not message_task.done():
message_task.cancel()
with contextlib.suppress(asyncio.CancelledError):
await message_task
if __name__ == "__main__":
asyncio.run(main())Penerapan satu klik Function Compute
Untuk menerapkan aplikasi:
Buka Templat Function Compute, masukkan Kunci API Anda, lalu klik Create and Deploy Default Environment untuk menguji aplikasi.
Tunggu sekitar satu menit. Di Environment Details > Environment Context, ambil endpoint, ubah protokol dari
httpkehttps(misalnya, https://qwen-livetranslate-flash-realtime-intl.fcv3.xxx.ap-southeast-1.fc.devsapp.net/), lalu buka URL tersebut di browser untuk berinteraksi dengan model.PentingEndpoint ini menggunakan sertifikat tanda tangan sendiri dan hanya untuk pengujian sementara. Browser Anda akan menampilkan peringatan keamanan saat kunjungan pertama. Ini merupakan perilaku yang diharapkan. Jangan gunakan endpoint ini di lingkungan produksi. Untuk melanjutkan, ikuti instruksi di layar (misalnya, klik Advanced → Proceed to (unsafe)).
Jika diminta mengonfigurasi izin Resource Access Management, ikuti instruksi di layar.
Untuk melihat kode sumber proyek, buka Resource Information > Function Resources.
Baik Function Compute maupun Model Studio menyediakan kuota gratis bagi pengguna baru, cukup untuk debugging dasar. Setelah kuota gratis habis, penagihan bayar sesuai penggunaan berlaku.
Alur interaksi
Terjemahan ucapan real-time mengikuti model WebSocket berbasis event. Server secara otomatis mendeteksi batas ucapan dan memberikan respons.
Siklus hidup | Event klien | Server event |
Inisialisasi sesi | session.update Konfigurasi sesi | session.created Sesi dibuat session.updated Konfigurasi sesi diperbarui |
Input audio pengguna | input_audio_buffer.append Tambahkan audio ke buffer | Tidak ada |
Output audio server | Tidak ada | response.created Menandakan bahwa server mulai menghasilkan respons. response.output_item.added Menandakan bahwa item output baru tersedia. response.content_part.added Menandakan bahwa bagian konten baru telah ditambahkan ke pesan asisten. response.audio_transcript.text Berisi pembaruan bertahap untuk transkrip teks. response.audio.delta Berisi chunk bertahap dari audio sintesis. response.audio_transcript.done Menandakan bahwa transkrip teks lengkap telah selesai. response.audio.done Menandakan bahwa audio sintesis telah selesai. response.content_part.done Menandakan bahwa bagian konten teks atau audio untuk pesan asisten telah selesai. response.output_item.done Menandakan bahwa seluruh item output untuk pesan asisten telah selesai. response.done Menandakan bahwa seluruh respons telah selesai. |
API
Lihat Qwen-Livetranslate-Realtime.
Penagihan
Audio: Setiap detik input atau output audio mengonsumsi 12,5 token.
Gambar: Setiap 28×28 piksel mengonsumsi 0,5 token.
Teks: Saat pengenalan ucapan bahasa sumber diaktifkan, layanan mengembalikan transkrip input audio selain terjemahan. Transkrip ini ditagih sebagai token teks output.
Untuk informasi harga, lihat Daftar model.
Bahasa yang didukung
Gunakan kode bahasa berikut untuk menentukan bahasa sumber dan target.
Beberapa bahasa target hanya mendukung teks.
Kode bahasa | Bahasa | Output |
en | Inggris | Audio + teks |
zh | Tiongkok | Audio + teks |
ru | Rusia | Audio + teks |
fr | Prancis | Audio + teks |
de | Jerman | Audio + teks |
pt | Portugis | Audio + teks |
es | Spanyol | Audio + teks |
it | Bahasa Italia | Audio + teks |
id | Bahasa Indonesia | Teks |
ko | Bahasa Korea | Audio + teks |
ja | Jepang | Audio + teks |
vi | Bahasa Vietnam | Teks |
th | Bahasa Thailand | Teks |
ar | Arab | Teks |
yue | Kanton | Audio + teks |
hi | Hindi | Teks |
el | Yunani | Teks |
tr | Turki | Teks |
Suara yang didukung
Nama | Parameter suara | Contoh | Deskripsi | Bahasa |
Cherry | Cherry | Suara perempuan ramah dan percakapan dengan nada ceria dan positif. | Tiongkok, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, dan Korea | |
Nofish | Nofish | Suara pria santai dengan aksen Mandarin non-retrofleks. | Tiongkok, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, dan Korea | |
Jada | Jada | Suara perempuan energik dengan aksen Shanghai. | Tiongkok | |
Dylan | Dylan | Suara pria muda dengan aksen Beijing. | Tiongkok | |
Sunny | Sunny | Suara perempuan hangat dan manis dengan aksen Sichuan. | Tiongkok | |
Peter | Peter | Suara pria komedi dengan aksen Tianjin. | Tiongkok | |
Kiki | Kiki | Suara perempuan manis dalam bahasa Kanton. | Kanton | |
Eric | Eric | Suara pria ceria dengan aksen Chengdu (Sichuan). | Tiongkok |