应用场景
TRTC 支持语音转文字功能,将房间内指定用户或所有用户的音频流识别成对应的中文文字,实现实时字幕等效果。
前提条件
前往 控制台 > 功能配置 > 增值功能 开启 AI 智能识别功能。
功能说明
任务发起后,TRTC AI Service 通过识别机器人进入 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}}
说明:
回调示例说明:
转录:会将完整的一句话转录并推送
“今天天气怎么样?”
字幕:将句子分段推送,后一段会包含前一段,确保实时性。
“今天”
“今天天气”
“今天天气怎么样”
顺序说明:字幕消息 > 字幕消息 > .... > 字幕消息(end = true)
方式二:通过服务端回调接收
第二步:发起语音转文字任务
TRTC 提供以下云 API 用于发起和管理语音转文字任务,具体如下:
开始语音转文字任务:StartAITranscription
查询语音转文字任务:DescribeAITranscription
停止语音转文字任务:StopAITranscription
注意:
语音转文字功能单个 SDKAppId 任务并发数限制100路,如需提升提交工单处理。