qwen3-livetranslate-flash-realtime 是通义千问的一款实时音视频翻译模型,支持流式音频、图像输入,并实时输出翻译文本与合成音频。
如何使用
qwen3-livetranslate-flash-realtime 模型通过 WebSocket 协议接入,连接时需要以下配置项:
配置项 | 说明 |
调用地址 | wss://dashscope.aliyuncs.com/api-ws/v1/realtime |
查询参数 | 查询参数为model,需指定为要访问的模型名。示例: |
消息头 | 使用 Bearer Token 鉴权:Authorization: Bearer DASHSCOPE_API_KEY DASHSCOPE_API_KEY 是您在百炼上申请的API-KEY。 |
可通过以下 Python 示例代码建立连接。
# pip install websocket-client
import json
import websocket
import os
API_KEY=os.getenv("DASHSCOPE_API_KEY")
API_URL = "wss://dashscope.aliyuncs.com/api-ws/v1/realtime?model=qwen3-livetranslate-flash-realtime"
headers = [
"Authorization: Bearer " + API_KEY
]
def on_open(ws):
print(f"Connected to server: {API_URL}")
def on_message(ws, message):
data = json.loads(message)
print("Received event:", json.dumps(data, indent=2))
def on_error(ws, error):
print("Error:", error)
ws = websocket.WebSocketApp(
API_URL,
header=headers,
on_open=on_open,
on_message=on_message,
on_error=on_error
)
ws.run_forever()
支持的模型
qwen3-livetranslate-flash-realtime 是一款多语言音视频实时翻译模型,可识别 18 种语言,并实时翻译为 10 种语言的音频。
核心特性:
多语言支持:支持 18 种语言及 6 种汉语方言。包括中文、英语、法语、德语、俄语、日语、韩语等。支持普通话、粤语、四川话等方言。
视觉增强:利用视觉内容提升翻译准确性。模型通过分析口型、动作和画面中的文字,改善在嘈杂环境下或一词多义场景中的翻译效果。
3秒延迟:实现低至 3 秒的同传延迟。
无损同传:通过语义单元预测技术,解决跨语言语序问题。实时翻译质量接近离线翻译结果。
音色自然:生成音色自然的拟人语音。模型能根据源语音内容,自适应调节语气和情感。
模型名称 | 版本 | 上下文长度 | 最大输入 | 最大输出 |
(Token数) | ||||
qwen3-livetranslate-flash-realtime 当前能力等同 qwen3-livetranslate-flash-realtime-2025-09-22 | 稳定版 | 53,248 | 49,152 | 4,096 |
qwen3-livetranslate-flash-realtime-2025-09-22 | 快照版 |
快速开始
准备运行环境
您的 Python 版本需要不低于 3.10。
首先安装 pyaudio。
macOS
brew install portaudio && pip install pyaudio
Debian/Ubuntu
sudo apt-get install python3-pyaudio 或者 pip install pyaudio
CentOS
sudo yum install -y portaudio portaudio-devel && pip install pyaudio
Windows
pip install pyaudio
安装完成后,通过 pip 安装 websocket 相关的依赖:
pip install websocket-client==1.8.0 websockets
创建客户端
在本地新建一个 python 文件,命名为
livetranslate_client.py
,并将以下代码复制进文件中:与模型互动
在
livetranslate_client.py
的同级目录下新建另一个 python 文件,命名为main.py
,并将以下代码复制进文件中:运行
main.py
,通过麦克风说出要翻译的句子,模型会实时返回翻译完成的音频与文本。系统会检测您的音频起始位置并自动发送到服务器,无需手动发送。
视觉辅助翻译
qwen3-livetranslate-flash-realtime 模型可以接收图像输入,辅助音频翻译,适用于同音异义、低频专有名词识别场景。
将以下代码下载到livetranslate_client.py
同级目录并运行,向麦克风说"What is mask?"
,在输入口罩图片时,模型会翻译为“什么是口罩?”;输入面具图片时,模型会翻译为“什么是面具?”。
import os
import time
import json
import asyncio
import contextlib
import functools
from livetranslate_client import LiveTranslateClient
# 可改为面具.png
IMAGE_PATH = "口罩.png"
RECORD_SECONDS = 6
def print_banner():
print("=" * 60)
print(" 基于通义千问 qwen3-livetranslate-flash-realtime —— 单轮交互示例 (mask)")
print("=" * 60 + "\n")
async def stream_microphone_once(client: LiveTranslateClient, image_bytes: bytes, duration: int = RECORD_SECONDS):
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] 开始录音 {duration} 秒,请讲话……")
start_t = time.time()
loop = asyncio.get_event_loop()
last_img_time = 0.0
frame_interval = 0.5 # 2 fps
try:
while time.time() - start_t < duration and client.is_connected:
data = await loop.run_in_executor(None, stream.read, client.input_chunk)
await client.send_audio_chunk(data)
# 每 0.5 秒追加一帧图片
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()
# 提交视频缓冲区(根据官方规范,仍使用 input_audio_buffer.commit)
await client.ws.send(
json.dumps({
"event_id": f"event_{int(time.time()*1000)}",
"type": "input_audio_buffer.commit",
})
)
print("[INFO] 音频与图像缓冲区已提交。")
async def send_single_image(client: LiveTranslateClient, image_path: str):
with open(image_path, "rb") as f:
img_bytes = f.read()
await client.send_image_frame(img_bytes)
await client.ws.send(
json.dumps({
"event_id": f"event_{int(time.time()*1000)}",
"type": "input_image_buffer.commit",
})
)
print(f"[INFO] 已发送图像: {os.path.basename(image_path)}")
async def main():
print_banner()
api_key = os.environ.get("DASHSCOPE_API_KEY")
if not api_key:
print("[ERROR] 请先在环境变量 DASHSCOPE_API_KEY 中配置 API KEY")
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()
# 录音循环已包含图像帧,因此无需额外 send_single_image
await stream_microphone_once(client, img_bytes, RECORD_SECONDS)
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())
交互流程
实时语音翻译的交互流程遵循标准的 WebSocket 事件驱动模型,服务端自动检测语音起止并进行响应。
生命周期 | 客户端事件 | 服务端事件 |
会话初始化 | session.update 会话配置 | session.created 会话已创建 session.updated 会话配置已更新 |
用户音频输入 | input_audio_buffer.append 添加音频到缓冲区 input_image_buffer.append 添加图片到缓冲区 | 无 |
服务器音频输出 | 无 | response.created 服务端开始生成响应 response.output_item.added 响应时有新的输出内容 response.content_part.added 新的输出内容添加到assistant message response.audio_transcript.delta 增量生成的转录文字 response.audio.delta 模型增量生成的音频 response.audio_transcript.done 文本转录完成 response.audio.done 音频生成完成 response.content_part.done Assistant message 的文本或音频内容流式输出完成 response.output_item.done Assistant message 的整个输出项流式传输完成 response.done 响应完成 |
API 参考
请参见实时音视频翻译-通义千问。
计费说明
请参见模型列表与价格。
支持的语种
语种代码 | 语种 | 支持的输出模态 |
en | 英语 | 音频+文本 |
zh | 中文 | 音频+文本 |
ru | 俄语 | 音频+文本 |
fr | 法语 | 音频+文本 |
de | 德语 | 音频+文本 |
pt | 葡萄牙语 | 音频+文本 |
es | 西班牙语 | 音频+文本 |
it | 意大利语 | 音频+文本 |
id | 印尼语 | 文本 |
ko | 韩语 | 音频+文本 |
ja | 日语 | 音频+文本 |
vi | 越南语 | 文本 |
th | 泰语 | 文本 |
ar | 阿拉伯语 | 文本 |
yue | 粤语 | 音频+文本 |
hi | 印地语 | 文本 |
el | 希腊语 | 文本 |
tr | 土耳其语 | 文本 |
支持的音色
音色名 |
| 音色效果 | 描述 | 支持的语种 |
芊悦 | Cherry | 阳光积极、亲切自然小姐姐。 | 中文、英语、法语、德语、俄语、意大利语、西班牙语、葡萄牙语、日语、韩语 | |
不吃鱼 | Nofish | 不会翘舌音的设计师。 | 中文、英语、法语、德语、俄语、意大利语、西班牙语、葡萄牙语、日语、韩语 | |
上海-阿珍 | Jada | 风风火火的沪上阿姐。 | 中文 | |
北京-晓东 | Dylan | 北京胡同里长大的少年。 | 中文 | |
四川-晴儿 | Sunny | 甜到你心里的川妹子。 | 中文 | |
天津-李彼得 | Peter | 天津相声,专业捧人。 | 中文 | |
粤语-阿清 | Kiki | 甜美的港妹闺蜜。 | 粤语 | |
四川-程川 | Eric | 一个跳脱市井的四川成都男子。 | 中文 |