语音转文字

最近更新时间:2024-11-08 16:11:42

我的收藏

应用场景

TRTC 支持语音转文字功能,将房间内指定用户或所有用户的音频流识别成对应的中文文字,实现实时字幕等效果。

前提条件

登录 TRTC 控制台,开通 TRTC 服务并 创建应用
前往 控制台 > 功能配置 > 增值功能 开启 AI 智能识别功能。



说明:
开启前需领取包月套餐体验版或购买 AI 智能识别套餐包 解锁。
语音转文字功能会根据调用量产生费用,详见 费用详情

功能说明

任务发起后,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
}
}
说明:
回调示例说明:
转录:会将完整的一句话转录并推送
“今天天气怎么样?”
字幕:将句子分段推送,后一段会包含前一段,确保实时性。
“今天”
“今天天气”
“今天天气怎么样”
顺序说明:字幕消息 > 字幕消息 > .... > 字幕消息(end = true)

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

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

第二步:发起语音转文字任务

TRTC 提供以下云 API 用于发起和管理语音转文字任务,具体如下:
开始语音转文字任务:StartAITranscription
查询语音转文字任务:DescribeAITranscription
停止语音转文字任务:StopAITranscription
注意:
语音转文字功能单个 SDKAppId 任务并发数限制100路,如需提升提交工单处理。