发音数据传输接口

最近更新时间:2019-03-14 17:16:27

查看pdf

1. 接口描述

接口请求域名: soe.tencentcloudapi.com 。

传输音频数据,必须在完成发音评估初始化接口之后调用,且SessonId要与初始化接口保持一致。分片传输时,尽量保证SeqId顺序传输。音频源目前仅支持16k采样率16bit单声道编码方式,如有不一致可能导致评估不准确或失败。

默认接口请求频率限制:10000次/秒。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:TransmitOralProcess
Version String 公共参数,本接口取值:2018-07-24
Region String 公共参数,本接口不需要传递此参数。
SeqId Integer 流式数据包的序号,从1开始,当IsEnd字段为1后后续序号无意义,当IsLongLifeSession不为1且为非流式模式时无意义。
IsEnd Integer 是否传输完毕标志,若为0表示未完毕,若为1则传输完毕开始评估,非流式模式下无意义。
VoiceFileType Integer 语音文件类型 1:raw, 2:wav, 3:mp3(三种格式目前仅支持16k采样率16bit编码单声道,如有不一致可能导致评估不准确或失败)。
VoiceEncodeType Integer 语音编码类型 1:pcm。
UserVoiceData String 当前数据包数据, 流式模式下数据包大小可以按需设置,数据包大小必须 >= 4K,且必须保证分片帧完整(16bit的数据必须保证音频长度为偶数),编码格式要求为BASE64。
SessionId String 语音段唯一标识,一个完整语音一个SessionId。
SoeAppId String 业务应用ID,与账号应用APPID无关,是用来方便客户管理服务的参数,新的 SoeAppId 可以在控制台【应用管理】下新建。
IsLongLifeSession Integer 长效session标识,当该参数为1时,session的持续时间为300s,但会一定程度上影响第一个数据包的返回速度。当InitOralProcess接口调用时此项为1时,此项必填1才可生效。
IsQuery Integer 查询标识,当该参数为1时,该请求为查询请求,请求返回该 Session 的评估结果。

3. 输出参数

参数名称 类型 描述
PronAccuracy Float 发音精准度,取值范围[-1, 100],当取-1时指完全不匹配,当为句子模式时,是所有已识别单词准确度的加权平均值。当为流式模式且请求中IsEnd未置1时,取值无意义
PronFluency Float 发音流利度,取值范围[0, 1],当为词模式时,取值无意义;当为流式模式且请求中IsEnd未置1时,取值无意义
PronCompletion Float 发音完整度,取值范围[0, 1],当为词模式时,取值无意义;当为流式模式且请求中IsEnd未置1时,取值无意义
Words Array of WordRsp 详细发音评估结果
SessionId String 语音段唯一标识,一段语音一个SessionId
AudioUrl String 保存语音音频文件下载地址
SentenceInfoSet Array of SentenceInfo 断句中间结果,中间结果是局部最优而非全局最优的结果,所以中间结果有可能和最终整体结果对应部分不一致;中间结果的输出便于客户端UI更新;待用户发音完全结束后,系统会给出一个综合所有句子的整体结果。
Status String 评估 session 状态,“Evaluating":评估中、"Failed":评估失败、"Finished":评估完成
RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 传输语音进行发音评估

传输语音进行发音评估

输入示例

https://soe.tencentcloudapi.com/?Action=TransmitOralProcess
&SessionId=stress_test_956938
&VoiceFileType=1
&SeqId=1
&VoiceEncodeType=1
&IsEnd=0
&UserVoiceData=VWtsR1JxeUpBd0JYUVZaRlptMTBJQkFBQUFBQkFBRUFnRDRBQUFCOUFBQUNBQkFBVEVsVFZCb0FBQUJKVGtaUFNWTkdWQTRBQUFCTVlYWm1OVFl1TVRrdU1UQXdBR1JoZEdGbWlRTUF5
&<公共请求参数>

输出示例

{
    "Response": {
        "PronAccuracy": 0.99,
        "PronFluency": 0.99,
        "PronCompletion": 0.99,
        "RequestId": "xxxxxxx",
        "Words": [{
            "MemBeginTime": 1,
            "MemEndTime": 2,
            "PronAccuracy": 65,
            "PronFluency": 0.3,
            "Word": "xxx",
            "MatchTag": 1,
            "PhoneInfos": [{
                "MemBeginTime": 1,
                "MemEndTime": 2,
                "PronAccuracy": 52,
                "Phone": "b",
                "Stress": true,
                "DetectedStress": false
            }]
        }]
    }
}

5. 开发者资源

API Explorer

该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见公共错误码

错误码 描述
InternalError 内部错误
InternalError.AuthorizeError 服务未开通或已欠费。
InternalError.BASE64DecodeFailed BASE64解码错误
InternalError.CannotFindSession 评估之前没有初始化或已过期。
InternalError.FailToDecodeVoice 语音解码失败
InternalError.IlegalServerResponse 服务器应答非法
InternalError.InitialParameterError 初始化参数错误
InternalError.InvalidSeqId 分片序号错误。
InternalError.InvalidWAVHeader WAV头部格式非法或不在同一分片内。
InternalError.NoConversationFound 使用的会话没有找到或已经被释放
InternalError.NoInitBeforeEvaluation 评估之前没有初始化
InternalError.ServerInternalError 服务器内部错误
InternalError.ServerOverload 服务器过载
InternalError.ServiceTimeout 服务超时
InternalError.ShardNoStartWithOne 分片序号错误应该从1开始
InternalError.StreamingvoicepkgTimeout 流式语音包超时
InternalError.VoiceMsgOversized 语音数据大于1MB
InternalError.WordLengthTooLong 文本单词超过限制
InvalidParameter 参数错误
InvalidParameter.AuthorizeError 服务未开通或已欠费。
InvalidParameterValue 参数取值错误
InvalidParameterValue.BASEDecodeFailed BASE64解码错误。
InvalidParameterValue.InvalidSeqId 分片序号错误。
InvalidParameterValue.InvalidWAVHeader WAV头部格式非法或不在同一分片内。
InvalidParameterValue.NoDocInList 表单中没有文件。
InvalidParameterValue.RefTxtTooLang 输入文本太长。
InvalidParameterValue.ShardNoStartWithOne 分片序号错误应该从1开始。
InvalidParameterValue.StreamingvoicepkgTimeout 流式语音包超时。
InvalidParameterValue.VadNotDetectedSpeak 没有检测到语音。
InvalidParameterValue.WordLengthTooLong 文本单词超过限制。
ResourceUnavailable.AuthorizeError 服务未开通或已欠费。
ResourceUnavailable.CannotFindSession 评估之前没有初始化或已过期。
ResourceUnavailable.InitStreamNotSupport 该接口不支持init_stream。
ResourceUnavailable.InitStreamUnfinished 初始化请求未完成,请稍后重试。
ResourceUnavailable.LastSeqUnfinished 前一个分片未处理完,请稍后重试。
ResourceUnavailable.NoConversationFound 使用的会话没有找到或已经被释放。
ResourceUnavailable.NoInitBeforeEvaluation 评估之前没有初始化。