使用场景
你画我猜:可以实时拉取房间内某个用户的音频进行实时识别,转换成文本之后回调给客户的业务服务器,进行业务逻辑判断
语音审核:和业务关联比较多的语音审核,可以采取该接口将数据流投递到语音识别接口进行语音识别,然后进行关键词过滤。
实时字幕:可以通过该接口实时识别房间音频数据,形成文本,在前端做呈现。
架构原理
具体流程如下图所示:
应用优势
实时返回:可以将 trtc 房间的语音数据实时识别返回,快速高效。
流程简单:深度融合 trtc 和 asr,数据流完全打通,不需要复杂接入流程。
使用灵活:数据返回给业务服务器之后,可以和业务逻辑实时关联。
注意事项
一般情况下,语音识别的处理时间较长是由于部署函数时开启了 异步执行。
目前识别的结果将下发至业务服务器。暂不支持 websocket 的形式,无法下发至客户端。
使用流程
1. 开通服务
2. 部署函数服务
1. 登录 Serverless 应用控制台。
2. 单击新建应用,进入“新建应用”页面。如下图所示:
3. 选择直播房间实时语音识别服务,并进行基础配置。如下图所示:
应用名:自定义名称。
地域:根据实际情况进行选择。
密钥信息:您可在 API密钥管理 中查看腾讯云账号密钥信息。
4. 单击完成即可。已创建的应用详情界面如下图所示:
5. 单击云函数 > 函数名称进入函数详情页,在“触发管理”中获取访问路径。
3. 语音识别启动接口
proto: HTTPSMethod: POSTURL: https://service-xxx-xxxx.sh.apigw.tencentcs.com/release/asr_speech
请求参数:
参数 | 类型 | 必填 | 说明 |
SdkAppId | Int | 是 | 应用 ID,用于区分不同 TRTC 应用。 |
RoomId | Int | 否 | 整型房间号 ID,用于在一个 TRTC 应用中唯一标识一个房间。 |
StrRoomId | String | 否 | 字符串房间号 ID,RoomId 与 StrRoomId 必须配置一项,如果 RoomId 与 StrRoomId 同时配置,使用 RoomId。 |
UserId | String | 是 | 录制用户 ID,用于在一个 TRTC 应用中唯一标识一个用户。 |
UserSig | String | 是 | 录制用户签名,用于对一个用户进行登录鉴权认证。 |
Callback | String | 否 | 录制结束后的回调地址,并使用 POST 方式进行回调。 |
请求示例:
{"SdkAppId": 1400000000,"RoomId": 43474,"UserId": "user_55952145","UserSig": "eJwtzNEKgkAUBNBxxxxxxx","Callback": "https:xxxxxxxx.com/post/xxx"}
识别结果回调接口
回调参数说明:
参数 | 类型 | 必填 | 说明 |
SdkAppId | Int | 是 | 应用 ID。 |
RoomId | int | 是 | 整型房间 ID。 |
UserId | String | 是 | 识别的用户 ID。 |
StrRoomId | String | 是 | 字符串房间 ID。 |
Result | Array | 是 | 语音识别结果 [{},{},{},{}] |
Status | String | 是 | 当前用户语言识别状态,normal/finished |
Result 为数组类型,元素封装为 JSON 对象,封装格式如下:
参数名称 | 类型 | 必选 | 描述 |
Voice | String | 是 | 当前一句话文本结果,编码为 UTF8。 |
Index | Integer | 是 | 当前一句话结果在整个音频流中的序号,从 0 开始逐句递增。 |
StartTime | Integer | 是 | 当前一句话结果在整个音频流中的起始时间。 |
EndTime | Integer | 是 | 当前一句话结果在整个音频流中的结束时间。 |
Message | String | 是 | 识别任务的执行结果。例如,识别结束,识别中,识别失败等。 |
结果示例:
{"RequestID": "95941e2c85898384a95b81c2a5******","SdkAppId": 1400000000,"RoomId": 43474,"UserId": "user_55952145","Status": "recognizing/finished","Result": [{"Voice": "实时语音识别","Index": 0,"StartTime": 0,"EndTime": 1024,"Message": "success"}]}