2.8 秒延迟的流式同声传译
模型信息
qwen3.5-livetranslate-flash-realtime 是一款多语言实时音视频翻译模型,支持 60 种语言互译(其中 29 种支持音频+文本输出、31 种仅支持文本输出),可同时处理音频与图像输入,利用视觉上下文信息提升翻译准确性,并实时输出高质量的翻译文本与音频。
核心特性:
- 多语言支持:支持 60 种语言互译,其中 29 种支持音频+文本输出、31 种仅支持文本输出,覆盖中文、英语、法语、德语、俄语、日语、韩语、西班牙语、葡萄牙语、阿拉伯语等主流语种。
- 视觉增强:利用视觉内容提升翻译准确性。模型通过分析画面中的口型、动作和文字,改善在嘈杂环境下或一词多义场景中的翻译效果。
- 2.8 秒延迟:实现低至 2.8 秒的同传延迟。
- 无损同传:通过语义单元预测技术,解决跨语言语序问题。实时翻译质量接近离线翻译结果。
- 音色自然:生成音色自然的拟人语音。模型能根据源语音内容,自适应调节语气和情感。
- 配置热词:通过热词提升特定词汇的翻译准确性。
- 声音复刻:支持复刻发言人音色用于翻译播报,让输出听起来像本人说外语。支持服务端实时复刻和使用预先复刻的固定音色。
| 模型 | 版本 | 上下文窗口 | 最大输入 | 最大输出 |
|---|---|---|---|---|
| qwen3.5-livetranslate-flash-realtime(当前能力等同 qwen3.5-livetranslate-flash-realtime-2026-05-19) | 稳定版 | 53,248 | 49,152 | 4,096 |
| qwen3.5-livetranslate-flash-realtime-2026-05-19 | 快照版 | 53,248 | 49,152 | 4,096 |
| qwen3-livetranslate-flash-realtime(旧版) | 稳定版 | 53,248 | 49,152 | 4,096 |
| qwen3-livetranslate-flash-realtime-2025-09-22 | 快照版 | 53,248 | 49,152 | 4,096 |
快速开始
环境准备
Python 版本需为 3.10 或更高。
首先安装 pyaudio。
- macOS
- Debian/Ubuntu
- CentOS
- Windows
创建客户端
在本地新建一个 Python 文件,命名为 livetranslate_client.py,将以下代码复制到文件中:
客户端代码 - livetranslate_client.py
客户端代码 - livetranslate_client.py
与模型交互
在 livetranslate_client.py 同一目录下创建另一个 Python 文件,命名为 main.py,将以下代码复制到文件中:
main.py
main.py
main.py,对着麦克风说出要翻译的语句。模型将实时输出翻译后的语音和文本。系统会自动检测您的语音并将音频发送到服务器,无需手动操作。
如何使用
1. 配置连接
qwen3.5-livetranslate-flash-realtime 模型通过 WebSocket 协议接入,连接时需要以下配置项:
| 配置项 | 说明 |
|---|---|
| 调用地址 | wss://dashscope.aliyuncs.com/api-ws/v1/realtime |
| 查询参数 | 查询参数为 model,需指定为访问的模型名。示例:?model=qwen3.5-livetranslate-flash-realtime |
| 消息头 | 使用 Bearer Token 鉴权:Authorization: Bearer $DASHSCOPE_API_KEY。DASHSCOPE_API_KEY 是您在千问云申请的 API Key。 |
WebSocket 连接 Python 示例代码
WebSocket 连接 Python 示例代码
2. 配置语种、输出模态与音色
发送客户端事件 session.update:
-
语言
-
源语言: 使用
session.input_audio_transcription.language参数。默认值为en(英语)。 -
目标语言: 使用
session.translation.language参数。默认值为en(英语)。
-
源语言: 使用
-
输出源语言识别结果
使用
session.input_audio_transcription.model参数。将其设置为qwen3-asr-flash-realtime后,服务器除了返回翻译结果外,还会返回输入音频的语音识别结果(即源语言原文)。 启用此功能后,服务器会返回以下事件:conversation.item.input_audio_transcription.text:以流式方式返回识别结果。conversation.item.input_audio_transcription.completed:识别完成后返回最终结果。
-
输出模态
使用
session.modalities参数。支持的值为["text"](仅文本)和["text","audio"](文本和音频)。 -
音色
使用
session.voice参数。参见支持的音色。 -
热词
使用
session.translation.corpus.phrases参数。热词用于提升特定词汇的翻译准确性,以 key-value 形式指定源语言词汇与目标语言翻译的映射关系。示例:将"人工智能"指定翻译为"Artificial Intelligence"。 -
声音复刻
使用
session.enable_voice_clone、session.voice_clone_options.frequency与session.voice参数。支持三种模式:使用预先复刻的音色(frequency为never)、服务端复刻一次(once)或每次复刻(always)。详见声音复刻。
3. 输入音频与图片
客户端使用 input_audio_buffer.append 和 input_image_buffer.append 事件发送 Base64 编码的音频和图像数据。音频输入为必需项,图像输入为可选项。
图像可以来自本地文件或实时视频流。服务器会自动检测音频的起止并触发模型响应。
4. 接收模型响应
当服务器检测到音频结束时,模型会做出响应。响应格式取决于配置的输出模态。
- 仅文本输出 服务器在 response.text.done 事件中返回完整的翻译文本。
-
文本和音频输出
- 文本:完整的翻译文本在 response.audio_transcript.done 事件中返回。
- 音频:增量式 Base64 编码的音频数据在 response.audio.delta 事件中返回。
声音复刻
模型支持发言人声音复刻功能,支持使用预先复刻的固定音色,也支持由服务端实时复刻,让翻译播报听起来像本人说外语。适用于跨语言演讲、个人主播、视频翻译等需要保留个人音色的场景。
在 session.update 中设置以下参数启用:
session.enable_voice_clone:设置为true,启用声音复刻。session.voice_clone_options.frequency:控制声音复刻时机,取值如下:never:不在服务端复刻,使用用户预先复刻好的音色。此时session.voice需设置为用户自己的复刻音色 ID。once:服务端在会话开始时基于输入音频复刻一次音色,后续翻译输出复用该音色。适合单人演讲场景。此时session.voice需设置为default。always:服务端在每次生成翻译音频前实时复刻,音色跟随输入动态变化。适合双人及以上对话场景。此时session.voice需设置为default。
session.voice:指定输出音色,取值取决于frequency的设置。- 设置为
default:搭配frequency为once或always使用,由服务端复刻输入音频的音色,复刻完成前使用默认音色过渡。 - 设置为用户复刻的音色 ID(如
qwen-translate-vc-xxx-yyy-zzz):搭配frequency为never使用。需提前通过声音复刻 API 准备音色,targetModel需指定为qwen3.5-livetranslate-flash-realtime。
- 设置为
当
frequency 为 once 或 always 时,voice 必须设置为 default,不可设置为其他预设音色,否则服务端会返回错误。声音复刻配置示例
使用预先复刻的音色(音质稳定,推荐需要固定音色的场景):
交互流程
实时语音翻译的交互流程遵循标准的 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.text(增量生成的转录文字)、response.audio.delta(模型增量生成的音频)、response.audio_transcript.done(文本转录完成)、response.audio.done(音频生成完成)、response.content_part.done(Assistant message 的文本或音频内容流式输出完成)、response.output_item.done(Assistant message 的整个输出项流式传输完成)、response.done(响应完成) |
利用图像提升翻译准确率
qwen3.5-livetranslate-flash-realtime 模型可以接收图像输入,辅助音频翻译,适用于同音异义、低频专有名词识别场景。建议每秒发送不超过2张图片。
将以下示例图片下载到本地:口罩.png 和 面具.png
将以下代码下载到livetranslate_client.py同级目录并运行,向麦克风说"What is mask?",在输入口罩图片时,模型会翻译为"什么是口罩?";输入面具图片时,模型会翻译为"什么是面具?"
计费说明
- 音频:输入或输出每秒音频均消耗 12.5 Token。
- 图片:每输入 28×28 像素消耗 0.5 Token。
- 文本:启用源语言语音识别功能后,服务除返回翻译结果外,还会返回输入音频的语音识别文本(即源语言原文),该识别文本将按输出文本的 Token 标准计费。
支持的语种
下表中的语种代码可用于指定源语种与目标语种。
部分目标语种仅支持输出文本,不支持输出音频。老模型 qwen3-livetranslate-flash-realtime 仅支持以下 18 种语种:en、zh、ru、fr、de、pt、es、it、id、ko、ja、vi、th、ar、yue、hi、el、tr。
| 语种代码 | 语种 | 支持的输出 |
|---|---|---|
| zh | 中文 | 音频+文本 |
| en | 英语 | 音频+文本 |
| ar | 阿拉伯语 | 音频+文本 |
| de | 德语 | 音频+文本 |
| fr | 法语 | 音频+文本 |
| es | 西班牙语 | 音频+文本 |
| pt | 葡萄牙语 | 音频+文本 |
| id | 印度尼西亚语 | 音频+文本 |
| it | 意大利语 | 音频+文本 |
| ko | 韩语 | 音频+文本 |
| ru | 俄语 | 音频+文本 |
| th | 泰语 | 音频+文本 |
| vi | 越南语 | 音频+文本 |
| ja | 日语 | 音频+文本 |
| tr | 土耳其语 | 音频+文本 |
| hi | 印地语 | 音频+文本 |
| ms | 马来语 | 音频+文本 |
| nl | 荷兰语 | 音频+文本 |
| ur | 乌尔都语 | 音频+文本 |
| nb | 挪威语 | 音频+文本 |
| sv | 瑞典语 | 音频+文本 |
| da | 丹麦语 | 音频+文本 |
| he | 希伯来语 | 音频+文本 |
| fi | 芬兰语 | 音频+文本 |
| pl | 波兰语 | 音频+文本 |
| is | 冰岛语 | 音频+文本 |
| cs | 捷克语 | 音频+文本 |
| fil | 菲律宾语 | 音频+文本 |
| fa | 波斯语 | 音频+文本 |
| yue | 粤语 | 文本 |
| el | 希腊语 | 文本 |
| af | 南非荷兰语 | 文本 |
| be | 白俄罗斯语 | 文本 |
| bg | 保加利亚语 | 文本 |
| bn | 孟加拉语 | 文本 |
| bs | 波斯尼亚语 | 文本 |
| ca | 加泰罗尼亚语 | 文本 |
| ceb | 宿务语 | 文本 |
| et | 爱沙尼亚语 | 文本 |
| gl | 加利西亚语 | 文本 |
| gu | 古吉拉特语 | 文本 |
| hr | 克罗地亚语 | 文本 |
| hu | 匈牙利语 | 文本 |
| jv | 爪哇语 | 文本 |
| kk | 哈萨克语 | 文本 |
| kn | 卡纳达语 | 文本 |
| ky | 柯尔克孜语 | 文本 |
| lv | 拉脱维亚语 | 文本 |
| mk | 马其顿语 | 文本 |
| ml | 马拉雅拉姆语 | 文本 |
| mr | 马拉地语 | 文本 |
| pa | 旁遮普语 | 文本 |
| ro | 罗马尼亚语 | 文本 |
| sk | 斯洛伐克语 | 文本 |
| sl | 斯洛文尼亚语 | 文本 |
| sw | 斯瓦希里语 | 文本 |
| tg | 塔吉克语 | 文本 |
| az | 阿塞拜疆语 | 文本 |
| uk | 乌克兰语 | 文本 |
支持的音色
当输出包含合成语音时,需设置 voice 参数。
| 音色名称 | voice 参数 | 描述 | 支持的语言 |
|---|---|---|---|
| Cherry | Cherry | 活泼、友好、真诚的年轻女性。 | 中文、英文、法语、德语、俄语、意大利语、西班牙语、葡萄牙语、日语、韩语 |
| Nofish | Nofish | 一位平翘舌不太分的设计师。 | 中文、英文、法语、德语、俄语、意大利语、西班牙语、葡萄牙语、日语、韩语 |
| 上海-Jada | Jada | 风风火火、精力充沛的上海阿姐。 | 中文 |
| 北京-Dylan | Dylan | 在胡同里长大的北京小伙。 | 中文 |
| 四川-Sunny | Sunny | 一位来自四川的甜美女孩。 | 中文 |
| 天津-Peter | Peter | 天津相声演员风格的声音(捧哏)。 | 中文 |
| 粤语-Kiki | Kiki | 来自香港的甜美闺蜜。 | 粤语 |
| 四川-Eric | Eric | 来自成都的非主流男生,特立独行。 | 中文 |
| Ethan | Ethan | 标准普通话略带北方口音。阳光、温暖、活力充沛。 | 中文、英文、法语、德语、俄语、意大利语、西班牙语、葡萄牙语、日语、韩语 |

