语音转录与翻译

应用场景

TRTC 支持语音转文字翻译功能将房间内指定用户或所有用户的音频流识别成对应的文字以及通过 AI 翻译成其他语言,实现实时字幕和实时翻译等效果。

前提条件

登录 TRTC 控制台,开通 TRTC 服务并 创建 RTC Engine 应用
需前往 购买页 购买 RTC Engine 任意版本套餐包解锁语音转文字、实时翻译功能。
说明:
语音转文字和实时翻译功能会根据调用量产生费用,详见 费用详情

功能说明

任务发起后,TRTC AI Service 通过识别机器人进入 TRTC 房间拉流指定用户或所有用户的流,进行语音转文字识别,将识别结果实时回调给客户端和服务端。





接入说明

第一步:接收语音转文字识别结果

方式一:通过客户端 SDK 接收文字消息

通过 TRTC SDK 接收自定义消息功能,在客户端上监听回调来接收实时的语音转文字、翻译的结果数据。
客户端回调消息格式如下,以 Web 端为例:
trtc.on(TRTC.EVENT.CUSTOM_MESSAGE, event => { // receive custom message
// event.userId: 语音识别机器人的userId
// event.cmdId: 消息Id, 转录和字幕固定为1
// event.seq: 消息的序号
// event.data: ArrayBuffer 类型, 转录或字幕的内容,见下方data字段说明
const data = new TextDecoder().decode(event.data)
// data 字段说明如下
console.log(`received custom msg from ${event.userId}, message: ${ data }`)
})

data 字段说明(实时的字幕消息)

字段名
类型
含义
type
Integer
10000: 实时字幕与完整的一句话下发消息类型
sender
String
说话人的 userid
receiver
Array
接收者 userid 列表,该消息实际是在房间内广播
payload.text
String
识别出的文本。 Unicode 编码
payload.start_time
String
消息产生的时间 任务启动后的绝对时间
payload.end_time
String
消息结束的时间 任务启动后的绝对时间
payload.end
Boolean
如果为 true,代表这是一句完整的话
{
"type": 10000,
"sender": "user_a",
"payload": {
"text":"",
"start_time":"00:00:02",
"end_time":"00:00:05",
"end": true
}
}

实时的翻译消息

{
"type": 10000,
"sender": "ai_951073",
"payload": {
"start_time_ms": 1760,
"end_time_ms": 5530,
"end": false,
"roundid": "e6330a3c-eed7-40bb-8229-9bbe733a313f", // 一轮对话的 ID
"translation_text": "simultaneous interpretation of the meeting", // 翻译文本
"translation_language": "en", // 翻译的语言代码
"taskid": "x-dPLCz" // 转录任务唯一标识
}
}
说明:
回调示例说明:
转录:会将完整的一句话转录并推送
“今天天气怎么样?”
字幕 & 翻译:将字幕句子或者翻译句子分段推送,后一段会包含前一段,确保实时性。
“今天”
“今天天气”
“今天天气怎么样”
顺序说明:字幕消息 > 字幕消息 > .... > 字幕消息(end = true)

方式二:通过服务端回调接收

语音转文字服务同时提供了服务端事件回调,便于您的服务接收实时对话的消息,查看 详细回调事件

第二步:发起语音转文字、实时翻译任务

TRTC 提供以下云 API 用于发起和管理语音转文字任务,具体如下:
开始语音转文字任务:StartAITranscription
查询语音转文字任务:DescribeAITranscription
停止语音转文字任务:StopAITranscription
开始实时翻译任务:在 StartAITranscription 的输入参数中配置 TranslationConfig参数;在 TargetLanguages 中指定目标翻译语种,例如 [“en”, “ja”]。目前支持配置以下语种翻译:
语言代码
对应语种
"zh"
中文
"en"
英语
"es"
西班牙语
"pt"
葡萄牙语
"fr"
法语
"de"
德语
"ru"
俄语
"ar"
阿拉伯语
"ja"
日语
"ko"
韩语
"vi"
越南语
"ms"
马来语
"id"
印度尼西亚语
"it"
意大利语
"th"
泰语

注意:
语音转文字和实时翻译功能单个 SDKAppId 任务并发数限制100路,如需提升提交工单处理。
实时翻译功能目前支持15种语言:中文、英语、西班牙语、葡萄牙语、法语、德语、俄语、阿拉伯语、日语、韩语、越南语、马来语、印度尼西亚语、意大利语、泰语,如需其他语种支持可以 联系我们
由于受不同语境或语种差异的影响,AI 翻译的译文内容适用于辅助参考,不应作为唯一专业意见或结论。