文档中心>对象存储

提交语音识别任务

最近更新时间:2023-08-31 17:59:02

我的收藏

功能描述

CreateSpeechJobs 接口用于创建一个语音识别任务。

请求

请求示例

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>
说明
此接口 Host 需要填写数据万象域名。
Authorization: Auth String(详情请参见 请求签名 文档)。

请求头

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

请求体

该请求操作的实现需要有如下请求体。
<Request>
<Tag>SpeechRecognition</Tag>
<Input>
<Object></Object>
</Input>
<Operation>
<SpeechRecognition></SpeechRecognition>
<Output>
<Region></Region>
<Bucket></Bucket>
<Object></Object>
</Output>
</Operation>
<QueueId></QueueId>
</Request>
具体的数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Request
保存请求的容器
Container
Container 类型 Request 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Tag
Request
创建任务的 Tag,目前仅支持:SpeechRecognition
String
Input
Request
待操作的语音文件
Container
Operation
Request
操作规则
Container
QueueId
Request
任务所在的队列 ID
String
Container 类型 Input 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Object
Request.Input
语音文件在 COS 上的 key,Bucket 由 Host 指定
String
Container 类型 Operation 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
SpeechRecognition
Request.Operation
当 Tag 为 SpeechRecognition 时有效,指定该任务的参数
Container
Output
Request.Operation
结果输出地址
Container
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></Code>
<Message></Message>
<JobId></JobId>
<State></State>
<CreationTime></CreationTime>
<QueueId></QueueId>
<Tag><Tag>
<Input>
<Object></Object>
</Input>
<Operation>
<SpeechRecognition></SpeechRecognition>
<Output>
<Region></Region>
<Bucket></Bucket>
<Object></Object>
</Output>
<MediaInfo>
</MeidaInfo>
</Operation>
</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
QueueId
Response.JobsDetail
任务所属的队列 ID
String
Input
Response.JobsDetail
该任务的输入资源地址
Container
Operation
Response.JobsDetail
该任务的规则
Container
Container 节点 Input 的内容: 同上面请求中的 Request.Input 节点。
Container 节点 Operation 的内容:
节点名称(关键字)
父节点
描述
类型
TemplateId
Response.JobsDetail.Operation
任务的模板 ID
String
Output
Response.JobsDetail.Operation
文件的输出地址
Container
MediaInfo
Response.JobsDetail.Operation
转码输出视频的信息,没有时不返回
Container
Container 节点 Output 的内容: 同上面请求中的 Request.Operation.Output 节点。
Container 节点 SpeechRecognition 的内容: 同上面请求中的 Request.Operation.SpeechRecognition节点。

错误码

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

实际案例

请求:创建语音识别任务
POST /asr_jobs HTTP/1.1
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: cos-python-sdk-v5.3.2
Host: examplebucket-1250000000.ci.ap-chongqing.myqcloud.com
Content-Type: application/xml
Content-Length: 411
Authorization: q-sign-algorithm=sha1&q-ak=AKIDnOr9IDiIUNYWGrrWb2IJ4YmywDXc****&q-sign-time=1597915249;1597925309&q-key-time=1597915249;1597925309&q-header-list=content-type;host&q-url-param-list=&q-signature=cb18718939be449e84d22358e8f0e****

<?xml version="1.0" encoding="utf-8"?>

<Request>
<Input>
<Object>music.mp3</Object>
</Input>
<Operation>
<Output>
<Region>ap-chongqing</Region>
<Object>music.mp3</Object>
<Bucket>examplebucket-1250000000</Bucket>
</Output>
<SpeechRecognition>
<ChannelNum>1</ChannelNum>
<EngineModelType>16k_zh</EngineModelType>
</SpeechRecognition>
</Operation>
<Tag>SpeechRecognition</Tag>
<QueueId>p2e11b0a26d404d029c15f06c48803dde</QueueId>
</Request>
响应
HTTP/1.1 200 OK
Date: Date
Content-Type: application/xml
Content-Length: 863
Connection: keep-alive
Server: tencent-ci
x-ci-request-id: request-id

<?xml version="1.0" encoding="utf-8"?>
<Response>
<JobsDetail>
<Code>Success</Code>
<CreationTime>2020-08-20T17:35:11+0800</CreationTime>
<EndTime>-</EndTime>
<Input>
<Object>16k.mp3</Object>
</Input>
<JobId>s716d8c8ee2c811ea94a0b170ddb38f60</JobId>
<Message/>
<Operation>
<Output>
<Bucket>test005-1251704708</Bucket>
<Object>music.txt</Object>
<Region>ap-chongqing</Region>
</Output>
<SpeechRecognition>
<ChannelNum>1</ChannelNum>
<ConvertNumMode>1</ConvertNumMode>
<EngineModelType>16k_zh</EngineModelType>
<FilterDirty>0</FilterDirty>
<FilterModal>0</FilterModal>
<ResTextFormat>0</ResTextFormat>
</SpeechRecognition>
</Operation>
<QueueId>p5275b560c7fd498db9a36e5e202827b6</QueueId>
<State>Submitted</State>
<Tag>SpeechRecognition</Tag>
</JobsDetail>
</Response>