tencent cloud

文档反馈

部署互动直播间语音识别服务

最后更新时间:2023-05-05 14:56:19

    使用场景

    你画我猜:可以实时拉取房间内某个用户的音频进行实时识别,转换成文本之后回调给客户的业务服务器,进行业务逻辑判断
    语音审核:和业务关联比较多的语音审核,可以采取该接口将数据流投递到语音识别接口进行语音识别,然后进行关键词过滤。
    实时字幕:可以通过该接口实时识别房间音频数据,形成文本,在前端做呈现。

    架构原理

    具体流程如下图所示:
    
    
    

    应用优势

    实时返回:可以将 trtc 房间的语音数据实时识别返回,快速高效。
    流程简单:深度融合 trtc 和 asr,数据流完全打通,不需要复杂接入流程。
    使用灵活:数据返回给业务服务器之后,可以和业务逻辑实时关联。

    注意事项

    一般情况下,语音识别的处理时间较长是由于部署函数时开启了 异步执行
    目前识别的结果将下发至业务服务器。暂不支持 websocket 的形式,无法下发至客户端。
    默认的鉴权形式是 应用鉴权,测试时可更改为 无鉴权

    使用流程

    1. 开通服务

    您需要开启腾讯云语音识别服务,操作详情见 开通语音识别服务

    2. 部署函数服务

    2. 单击新建应用,进入“新建应用”页面。
    3. 选择直播房间实时语音识别服务,并进行基础配置
    应用名:自定义名称。
    地域:根据实际情况进行选择。
    密钥信息:您可在 API密钥管理 中查看腾讯云账号密钥信息。
    4. 单击完成即可。
    5. 单击云函数 > 函数名称进入函数详情页,在“触发管理”中获取访问路径。

    3. 语音识别启动接口

    proto: HTTPS
    Method: POST
    URL: 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"
    }]
    }
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持