实时语音翻译最佳实践
更新时间:2026-03-27
概览
实时语音翻译智能体能够将音频流实时识别为文字,支持智能断句,实时输出语音识别和翻译结果, 并支持对翻译结果进行语音播报。
当前服务提供两个版本,均可通过创建智能体接口generateAIAgentCall统一接入(后续第二版还将支持通过 WebSocket 直接接入):
- 第一版(默认):支持中、英、日、韩、法等 45 个语种的互译。支持指定翻译方向,并在会话中可通过事件动态切换源语言和目标语言。
- 第二版(推荐): 提供卓越的性能与更精准的翻译效果,支持更丰富的语种互译。该版本具备自动双语检测和双向互译能力,无需手动切换语言,推荐优先接入。
方案概述
您可以在调用创建智能体接口时,通过传入对应参数以选用第一版或第二版翻译服务。两个版本使用相同的统一接口封装,但在具体配置项及会话控制细节上有所差异。
1. 第一版翻译服务(默认接入)
第一版为默认翻译服务,创建智能体实例时无需在接口参数中设置 translationVersion 字段。
配置项与示例
| 字段 | 是否必传 | 说明 |
|---|---|---|
translationSourceLanguage |
是 | 翻译源语言,使用百度翻译语言码 |
translationTargetLanguage |
是 | 翻译目标语言,不能与源语言相同 |
translationTtsSpeaker |
否 | TTS 播报人声,仅目标语言为英文时有效,可选 man 或 woman |
语言参数使用百度翻译语言码,完整语言列表参考官网:翻译语言列表。
常见语言参数为:中文 zh、英语 en、日语 jp、韩语 kor、法语 fra。
配置示例:
JSON
1{
2 "translationSourceLanguage": "zh",
3 "translationTargetLanguage": "en",
4 "translationTtsSpeaker": "woman"
5}
会话中切换翻译方向
第一版不具备自动双语言检测能力。在双语对话场景中,若发言的语言方向发生变化(如从中文讲者切换到英文讲者),需通过客户端事件消息来动态切换翻译方向。
Shell
1'[SET]:[TRANSLATION]:{"sourceLanguage":"en", "targetLanguage":"zh"}'
2
3## 只有目标语言为 en 英文时,才可以设置 ttsSpeaker
4'[SET]:[TRANSLATION]:{"sourceLanguage":"zh", "targetLanguage":"en", "ttsSpeaker": "woman"}'
Web 端发送事件消息样例:
Javascript
1/**
2 * 发送文本给智能体
3 * @param text 文本
4 * @param id 可以忽略,表示广播消息
5 */
6BRTC_SendMessageToUser('[SET]:[TRANSLATION]:{"sourceLanguage":"zh", "targetLanguage":"jp"}', id);
2. 第二版翻译服务(推荐接入)
第二版性能更好、翻译效果更优。创建智能体实例时,通过显式设置 translationVersion 即可启用。
配置项与示例
| 字段 | 是否必传 | 说明 |
|---|---|---|
translationVersion |
是 | 特性开关,需固定填写 v2 |
translationSourceLanguage |
是 | 翻译源语言,使用区域化语言码 |
translationTargetLanguage |
是 | 翻译目标语言,不能与源语言相同 |
语言参数使用区域化格式。常见取值为:中文(普通话) zh-CN、英语 en-US、日语 ja-JP, 支持的完整语言列表可参考下表。
配置示例:
JSON
1{
2 "translationVersion": "v2",
3 "translationSourceLanguage": "zh-CN",
4 "translationTargetLanguage": "en-US"
5}
自动双语检测与互译
第二版内置了强大的双语检测能力可自动识别当前发言语言,并自动完成双向互译。用户无需像使用第一版那样,关注在客户端频繁发送换向事件,能带来更符合直觉的沉浸式交谈体验。
详细语言列表
| 语言 | 参数设置 |
|---|---|
| 阿非利堪斯语 | af-ZA |
| 阿尔巴尼亚语 | sq-AL |
| 阿姆哈拉语 | am-ET |
| 阿拉伯语 | ar-AE、ar-BH、ar-DZ、ar-EG、ar-IL、ar-IQ、ar-JO、ar-KW、ar-LB、ar-LY、ar-MA、ar-OM、ar-PS、ar-QA、ar-SA、ar-SY、ar-TN、ar-YE |
| 亚美尼亚语 | hy-AM |
| 阿萨姆语 | as-IN |
| 阿塞拜疆语 | az-AZ |
| 巴斯克语 | eu-ES |
| 孟加拉语 | bn-IN |
| 波斯尼亚语 | bs-BA |
| 保加利亚语 | bg-BG |
| 缅甸语 | my-MM |
| 加泰罗尼亚语 | ca-ES |
| 中文 | wuu-CN、yue-CN、zh-cn、zh-cn-shandong、zh-cn-sichuan、zh-HK、zh-TW |
| 克罗地亚语 | hr-HR |
| 捷克语 | cs-CZ |
| 丹麦语 | da-DK |
| 荷兰语 | nl-BE、nl-NL |
| 英语 | en-AU、en-CA、en-GB、en-GH、en-HK、en-IE、en-IN、en-KE、en-NG、en-NZ、en-PH、en-SG、en-TZ、en-US、en-ZA |
| 爱沙尼亚语 | et-EE |
| 菲律宾语 | fil-PH |
| 芬兰语 | fi-FI |
| 法语 | fr-BE、fr-CA、fr-CH、fr-FR |
| 加利西亚语 | gl-ES |
| 乔治亚语 | ka-GE |
| 德语 | de-AT、de-CH、de-DE |
| 希腊语 | el-GR |
| 古吉拉特语 | gu-IN |
| 希伯来语 | he-IL |
| 印地语 | hi-IN |
| 匈牙利语 | hu-HU |
| 冰岛语 | is-IS |
| 印度尼西亚语 | id-ID |
| 爱尔兰语 | ga-IE |
| isiZulu | zu-ZA |
| 意大利语 | it-CH、it-IT |
| 日语 | ja-JP |
| 爪哇语 | jv-ID |
| 卡纳达语 | kn-IN |
| 哈萨克语 | kk-KZ |
| 高棉语 | km-KH |
| 斯瓦希里语 | sw-KE、sw-TZ |
| 韩语 | ko-KR |
| 老挝语 | lo-LA |
| 拉脱维亚语 | lv-LV |
| 立陶宛语 | lt-LT |
| 马其顿语 | mk-MK |
| 马来语 | ml-IN、ms-MY |
| 马拉雅拉姆语 | ml-IN |
| 马耳他语 | mt-MT |
| 马拉地语 | mr-IN |
| 蒙古语 | mn-MN |
| 尼泊尔语 | ne-NP |
| 书面挪威语 | nb-NO |
| 奥里亚语 | or-IN |
| 普什图语 | ps-AF |
| 波斯语 | fa-IR |
| 波兰语 | pl-PL |
| 葡萄牙语 | pt-BR、pt-PT |
| 旁遮普语 | pa-IN |
| 罗马尼亚语 | ro-RO |
| 俄语 | ru-RU |
| 塞尔维亚语 | sr-ME、sr-RS、sr-XK |
| 僧伽罗语 | si-LK |
| 斯洛伐克语 | sk-SK |
| 斯洛文尼亚语 | sl-SI |
| 索马里语 | so-SO |
| 西班牙语 | es-AR、es-BO、es-CL、es-CO、es-CR、es-CU、es-DO、es-EC、es-ES、es-GQ、es-GT、es-HN、es-MX、es-NI、es-PA、es-PE、es-PR、es-PY、es-SV、es-US、es-UY、es-VE |
| 瑞典语 | sv-SE |
| 泰米尔语 | ta-IN |
| 泰卢固语 | te-IN |
| 泰语 | th-TH |
| 土耳其语 | tr-TR |
| 乌克兰语 | uk-UA |
| 乌尔都语 | ur-IN |
| 乌兹别克语 | uz-UZ |
| 越南语 | vi-VN |
| 威尔士语 | cy-GB |
注意事项
translationSourceLanguage与translationTargetLanguage必须不同。- 第一版和第二版的语言参数格式不同不能混用。第二版参数必须使用区域化格式(如
zh-CN),不能使用第一版的短码格式(如zh)。
评价此篇文章
