tencent cloud

文档反馈

提交语音识别任务

最后更新时间:2024-01-20 16:35:12

    功能描述

    提交一个语音识别任务。
    说明:
    关于语音识别的限制说明,请参见 规则与限制 文档。
    

    请求

    请求示例

    POST /asr_jobs HTTP/1.1
    Host: <BucketName-APPID>.ci.<Region>.myqcloud.com
    Date: <GMT Date>
    Authorization: <Auth String>
    Content-Length: <length>
    Content-Type: application/xml
    
    <body>
    说明:
    Authorization:Auth String(详情请参见 请求签名 文档)。
    通过子账号使用时,需要授予相关的权限,详情请参见 授权粒度详情 文档。

    请求头

    此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

    请求体

    该请求操作的实现需要有如下请求体。
    <Request>
    <Tag>SpeechRecognition</Tag>
    <Input>
    <Object>input/test.mp3</Object>
    <Url></Url>
    </Input>
    <Operation>
    <SpeechRecognition>
    <EngineModelType>16k_zh_video</EngineModelType>
    <ChannelNum>1</ChannelNum>
    <FilterDirty>1</ChannelNum>
    <FilterModal>1</ChannelNum>
    </SpeechRecognition>
    <Output>
    <Region>ap-chongqing</Region>
    <Bucket>test-123456789</Bucket>
    <Object>output/asr.txt</Object>
    </Output>
    <UserData>This is my data.</UserData>
    <JobLevel>0</JobLevel>
    </Operation>
    <QueueId>pcd463e1467964d39ad2d3f66aacd8199</QueueId>
    <CallBack>http://callback.demo.com</CallBack>
    <CallBackFormat>JSON<CallBackFormat>
    </Request>
    具体的数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Request
    保存请求的容器
    Container
    Container 类型 Request 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Tag
    Request
    创建任务的 Tag:SpeechRecognition
    String
    Input
    Request
    待操作的对象信息
    Container
    Operation
    Request
    操作规则
    Container
    QueueId
    Request
    任务所在的队列 ID
    String
    CallBackFormat
    Request
    任务回调格式,JSON 或 XML,默认 XML,优先级高于队列的回调格式
    String
    CallBackType
    Request
    任务回调类型,Url 或 TDMQ,默认 Url,优先级高于队列的回调类型
    String
    CallBack
    Request
    任务回调地址,优先级高于队列的回调地址。设置为 No 时,表示队列的回调地址不产生回调
    String
    CallBackMqConfig
    Request
    任务回调 TDMQ 配置,当 CallBackType 为 TDMQ 时必填。详情见 CallBackMqConfig
    Container
    Container 类型 Input 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Object
    Request.Input
    媒体文件名
    String
    Url
    Request.Input
    支持公网下载的 URL,与 Object 必须有其中一个,且当两者都传入时,优先使用 Object
    String
    Container 类型 Operation 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    SpeechRecognition
    Request.Operation
    指定 语音识别 参数
    Container
    Output
    Request.Operation
    结果输出地址
    Container
    UserData
    Request.Operation
    透传用户信息, 可打印的 ASCII 码, 长度不超过1024
    String
    JobLevel
    Request.Operation
    任务优先级,级别限制:0 、1 、2 。级别越大任务优先级越高,默认为0
    String
    
    Container 类型 SpeechRecognition 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    EngineModelType
    Request.Operation.Speech Recognition
    引擎模型类型。
    电话场景:
    8k_zh:电话 8k 中文普通话通用(可用于双声道音频)。
    8k_zh_s:电话 8k 中文普通话话者分离(仅适用于单声道音频)。
    非电话场景:
    16k_zh:16k 中文普通话通用。
    16k_zh_video:16k 音视频领域。
    16k_en:16k 英语。
    16k_ca:16k 粤语。
    String
    ChannelNum
    Request.Operation.Speech Recognition
    语音声道数。
    1:单声道。
    2:双声道(仅支持 8k_zh 引擎模型)。
    Integer
    ResTextFormat
    Request.Operation.Speech Recognition
    识别结果返回形式。
    0: 识别结果文本(含分段时间戳)。
    1:仅支持16k 中文引擎,含识别结果详情(词时间戳列表,一般用于生成字幕场景)。
    Integer
    FilterDirty
    Request.Operation.Speech Recognition
    是否过滤脏词(目前支持中文普通话引擎)。
    0:不过滤脏词。
    1:过滤脏词。
    2:将脏词替换为 * 。默认值为0。
    Integer
    FilterModal
    Request.Operation.Speech Recognition
    是否过语气词(目前支持中文普通话引擎)。
    0:不过滤语气词。
    1:部分过滤。
    2:严格过滤 。默认值为 0。
    Integer
    ConvertNumMode
    Request.Operation.Speech Recognition
    是否进行阿拉伯数字智能转换(目前支持中文普通话引擎)。
    0:不转换,直接输出中文数字。
    1:根据场景智能转换为阿拉伯数字。默认值为1。
    Integer
    Container 类型 Output 的具体数据描述如下:
    节点名称(关键字)
    父节点
    描述
    类型
    是否必选
    Region
    Request.Operation.Output
    存储桶的地域
    String
    Bucket
    Request.Operation.Output
    存储结果的存储桶
    String
    Object
    Request.Operation.Output
    结果文件的名称
    String

    响应

    响应头

    此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

    响应体

    该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
    <Response>
    <JobsDetail>
    <Code>Success</Code>
    <CreationTime>2021-08-05T15:43:50+0800</CreationTime>
    <EndTime>-</EndTime>
    <Input>
    <BucketId>test-1234567890</BucketId>
    <Object>input/test.mp3</Object>
    <Region>ap-chongqing</Region>
    </Input>
    <JobId>s58ccb634149211ed84ce2b1cd7fbb14a</JobId>
    <Message/>
    <Operation>
    <JobLevel>0</JobLevel>
    <Output>
    <Bucket>test-1234567890</Bucket>
    <Object>output/asr.txt</Object>
    <Region>ap-chongqing</Region>
    </Output>
    <SpeechRecognition>
    <ChannelNum>1</ChannelNum>
    <ConvertNumMode>0</ConvertNumMode>
    <EngineModelType>16k_zh_video</EngineModelType>
    <FilterDirty>0</FilterDirty>
    <FilterModal>0</FilterModal>
    <FilterPunc>0</FilterPunc>
    <OutputFileType>txt</OutputFileType>
    <ResTextFormat>0</ResTextFormat>
    <SpeakerDiarization>0</SpeakerDiarization>
    <SpeakerNumber>0</SpeakerNumber>
    </SpeechRecognition>
    <UserData>This is my data.</UserData>
    <JobLevel>0</JobLevel>
    </Operation>
    <QueueId>pcd463e1467964d39ad2d3f66aacd8199</QueueId>
    <StartTime>-</StartTime>
    <State>Submitted</State>
    <Tag>SpeechRecognition</Tag>
    </JobsDetail>
    </Response>
    具体的数据内容如下:
    节点名称(关键字)
    父节点
    描述
    类型
    Response
    保存结果的容器
    Container
    Container 节点 Response 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    JobsDetail
    Response
    任务的详细信息
    Container
    Container 节点 JobsDetail 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    Code
    Response.JobsDetail
    错误码,只有 State 为 Failed 时有意义
    String
    Message
    Response.JobsDetail
    错误描述,只有 State 为 Failed 时有意义
    String
    JobId
    Response.JobsDetail
    新创建任务的 ID
    String
    Tag
    Response.JobsDetail
    新创建任务的 Tag:SpeechRecognition
    String
    State
    Response.JobsDetail
    任务的状态,为 Submitted、Running、Success、Failed、Pause、Cancel 其中一个
    String
    CreationTime
    Response.JobsDetail
    任务的创建时间
    String
    StartTime
    Response.JobsDetail
    任务的开始时间
    String
    EndTime
    Response.JobsDetail
    任务的结束时间
    String
    QueueId
    Response.JobsDetail
    任务所属的队列 ID
    String
    Input
    Response.JobsDetail
    同请求中的 Request.Input 节点
    Container
    Operation
    Response.JobsDetail
    该任务的规则
    Container
    Container 节点 Operation 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    SpeechRecognition
    Response.JobsDetail.Operation
    同请求中的 Request.Operation.SpeechRecognition
    Container
    Output
    Response.JobsDetail.Operation
    同请求中的 Request.Operation.Output
    Container
    UserData
    Response.JobsDetail.Operation
    透传用户信息
    String
    JobLevel
    Response.JobsDetail.Operation
    任务优先级
    String
    SpeechRecognitionResult
    Response.JobsDetail.Operation
    语音识别任务结果,没有时不返回
    Container
    Container 节点 SpeechRecognitionResult 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    AudioTime
    Response.JobsDetail.Operation.SpeechRecognitionResult
    音频时长(秒)
    String
    Result
    Response.JobsDetail.Operation.SpeechRecognitionResult
    语音识别结果
    String
    FlashResult
    Response.JobsDetail.Operation.SpeechRecognitionResult
    极速语音识别结果
    Container 数组
    ResultDetail
    Response.JobsDetail.Operation.SpeechRecognitionResult
    识别结果详情,包含每个句子中的词时间偏移,一般用于生成字幕的场景。(语音识别请求中 ResTextFormat=1 时该字段不为空)
    注意:此字段可能为空,表示取不到有效值。
    Container 数组
    Container 节点 FlashResult 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    channel_id
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult
    声道标识,从0开始,对应音频声道数
    Integer
    text
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult
    声道音频完整识别结果
    String
    sentence_list
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult
    句子/段落级别的识别结果列表
    Container 数组
    Container 节点 sentence_list 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    text
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult.sentence_list
    句子/段落级别文本
    String
    start_time
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult.sentence_list
    开始时间
    Integer
    end_time
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult.sentence_list
    结束时间
    Integer
    speaker_id
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult.sentence_list
    说话人 ID(请求中如果设置了 speaker_diarization,可以按照 speaker_id 来区分说话人)
    Integer
    word_list
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult.sentence_list
    词级别的识别结果列表
    Container 数组
    Container 节点 word_list 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    word
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult.sentence_list.word_list
    词级别文本
    String
    start_time
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult.sentence_list.word_list
    开始时间
    Integer
    end_time
    Response.JobsDetail.Operation.SpeechRecognitionResult.FlashResult.sentence_list.word_list
    结束时间
    Integer
    Container 节点 ResultDetail 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    FinalSentence
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail
    单句最终识别结果
    String
    SliceSentence
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail
    单句中间识别结果,使用空格拆分为多个词
    String
    StartMs
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail
    单句开始时间(毫秒)
    String
    EndMs
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail
    单句结束时间(毫秒)
    String
    WordsNum
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail
    单句中词个数
    String
    SpeechSpeed
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail
    单句语速,单位:字数/秒
    String
    SpeakerId
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail
    声道或说话人 ID(请求中如果设置了 speaker_diarization或者ChannelNum为双声道,可区分说话人或声道)
    String
    Words
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail
    单句中词详情
    Container 数组
    Container 节点 Words 的内容:
    节点名称(关键字)
    父节点
    描述
    类型
    Word
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail.Words
    词文本
    String
    OffsetStartMs
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail.Words
    在句子中的开始时间偏移量
    String
    OffsetEndMs
    Response.JobsDetail.Operation.SpeechRecognitionResult.ResultDetail.Words
    在句子中的结束时间偏移量
    String

    错误码

    该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。

    实际案例

    请求

    POST /asr_jobs HTTP/1.1
    Authorization: q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0ea057
    Host: test-1234567890.ci.ap-beijing.myqcloud.com
    Content-Length: 166
    Content-Type: application/xml
    
    <Request>
    <Tag>SpeechRecognition</Tag>
    <Input>
    <Object>input/test.mp3</Object>
    </Input>
    <Operation>
    <SpeechRecognition>
    <EngineModelType>16k_zh_video</EngineModelType>
    <ChannelNum>1</ChannelNum>
    <FilterDirty>1</ChannelNum>
    <FilterModal>1</ChannelNum>
    </SpeechRecognition>
    <Output>
    <Region>ap-chongqing</Region>
    <Bucket>test-123456789</Bucket>
    <Object>output/asr.txt</Object>
    </Output>
    <UserData>This is my data.</UserData>
    <JobLevel>0</JobLevel>
    </Operation>
    <QueueId>pcd463e1467964d39ad2d3f66aacd8199</QueueId>
    <CallBack>http://callback.demo.com</CallBack>
    <CallBackFormat>JSON<CallBackFormat>
    </Request>

    响应

    HTTP/1.1 200 OK
    Content-Type: application/xml
    Content-Length: 230
    Connection: keep-alive
    Date: Mon, 28 Jun 2022 15:23:12 GMT
    Server: tencent-ci
    x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****
    
    <Response>
    <JobsDetail>
    <Code>Success</Code>
    <CreationTime>2021-08-05T15:43:50+0800</CreationTime>
    <EndTime>-</EndTime>
    <Input>
    <BucketId>test-1234567890</BucketId>
    <Object>input/test.mp3</Object>
    <Region>ap-chongqing</Region>
    </Input>
    <JobId>s58ccb634149211ed84ce2b1cd7fbb14a</JobId>
    <Message/>
    <Operation>
    <JobLevel>0</JobLevel>
    <Output>
    <Bucket>test-1234567890</Bucket>
    <Object>output/asr.txt</Object>
    <Region>ap-chongqing</Region>
    </Output>
    <SpeechRecognition>
    <ChannelNum>1</ChannelNum>
    <ConvertNumMode>0</ConvertNumMode>
    <EngineModelType>16k_zh_video</EngineModelType>
    <FilterDirty>0</FilterDirty>
    <FilterModal>0</FilterModal>
    <FilterPunc>0</FilterPunc>
    <OutputFileType>txt</OutputFileType>
    <ResTextFormat>0</ResTextFormat>
    <SpeakerDiarization>0</SpeakerDiarization>
    <SpeakerNumber>0</SpeakerNumber>
    </SpeechRecognition>
    <UserData>This is my data.</UserData>
    <JobLevel>0</JobLevel>
    </Operation>
    <QueueId>pcd463e1467964d39ad2d3f66aacd8199</QueueId>
    <StartTime>-</StartTime>
    <State>Submitted</State>
    <Tag>SpeechRecognition</Tag>
    </JobsDetail>
    </Response>