文档中心 > 智聆口语评测 > API 文档 > 功能接口 > 发音数据传输接口附带初始化过程

发音数据传输接口附带初始化过程

最近更新时间:2020-11-30 08:28:35

我的收藏

1. 接口描述

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

初始化并传输音频数据,分片传输时,尽量保证SeqId顺序传输。音频源目前仅支持16k采样率16bit单声道编码方式,如有不一致可能导致评估不准确或失败。

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

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

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

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:TransmitOralProcessWithInit。
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, 4: speex (语言文件格式目前仅支持 16k 采样率 16bit 编码单声道,如有不一致可能导致评估不准确或失败)。
VoiceEncodeType Integer 语音编码类型 1:pcm。
UserVoiceData String 当前数据包数据, 流式模式下数据包大小可以按需设置,在网络良好的情况下,建议设置为0.5k,且必须保证分片帧完整(16bit的数据必须保证音频长度为偶数),编码格式要求为BASE64。
SessionId String 语音段唯一标识,一个完整语音一个SessionId。
RefText String 被评估语音对应的文本,句子模式下不超过个 20 单词或者中文文字,段落模式不超过 120 单词或者中文文字,中文评估使用 utf-8 编码,自由说模式该值无效。如需要在单词模式和句子模式下使用自定义音素,可以通过设置 TextMode 使用音素标注
WorkMode Integer 语音输入模式,0:流式分片,1:非流式一次性评估
EvalMode Integer 评估模式,0:词模式(中文评测模式下为文字模式),1:句子模式,2:段落模式,3:自由说模式,当为词模式评估时,能够提供每个音节的评估信息,当为句子模式时,能够提供完整度和流利度信息,4:单词纠错模式:能够对单词和句子中的读错读音进行纠正,给出参考正确读音。
ScoreCoeff Float 评价苛刻指数,取值为[1.0 - 4.0]范围内的浮点数,用于平滑不同年龄段的分数,1.0为小年龄段,4.0为最高年龄段
SoeAppId String 业务应用ID,与账号应用APPID无关,是用来方便客户管理服务的参数,新的 SoeAppId 可以在控制台【应用管理】下新建。
StorageMode Integer 音频存储模式,0:不存储,1:存储到公共对象存储,输出结果为该会话最后一个分片TransmitOralProcess 返回结果 AudioUrl 字段,2:永久存储音频,需要提工单申请,会产生一定存储费用,3:自定义存储,将音频存储到自定义的腾讯云对象存储中,需要提工单登记存储信息。
SentenceInfoEnabled Integer 输出断句中间结果标识,0:不输出,1:输出,通过设置该参数,可以在评估过程中的分片传输请求中,返回已经评估断句的中间结果,中间结果可用于客户端 UI 更新,输出结果为TransmitOralProcess请求返回结果 SentenceInfoSet 字段。
ServerType Integer 评估语言,0:英文,1:中文。
IsAsync Integer 异步模式标识,0:同步模式,1:异步模式,可选值参考服务模式
IsQuery Integer 查询标识,当该参数为1时,该请求为查询请求,请求返回该 Session 评估结果。
TextMode Integer 输入文本模式,0: 普通文本,1:音素结构文本。2:音素注册模式(提工单注册需要使用音素的单词)。

3. 输出参数

参数名称 类型 描述
PronAccuracy Float 发音精准度,取值范围[-1, 100],当取-1时指完全不匹配,当为句子模式时,是所有已识别单词准确度的加权平均值,在reftext中但未识别出来的词不计入分数中。当为流式模式且请求中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":评估完成
SuggestedScore Float 建议评分,取值范围[0,100],评分方式为建议评分 = 准确度(PronAccuracyfloat)× 完整度(PronCompletionfloat)×(2 - 完整度(PronCompletionfloat)),如若评分策略不符合请参考Words数组中的详细分数自定义评分逻辑。
RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 传输语音进行发音评估附带初始化过程

传输语音进行发音评估附带初始化过程

输入示例

https://soe.tencentcloudapi.com/?Action=TransmitOralProcessWithInit
&SessionId=stress_test_956938
&VoiceFileType=1
&SeqId=1
&VoiceEncodeType=1
&IsEnd=0
&UserVoiceData=VWtsR1JxeUpBd0JYUVZaRlptMTBJQkFBQUFBQkFBRUFnRDRBQUFCOUFBQUNBQkFBVEVsVFZCb0FBQUJKVGtaUFNWTkdWQTRBQUFCTVlYWm1OVFl1TVRrdU1UQXdBR1JoZEdGbWlRTUF5
&WorkMode=0
&RefText=again
&EvalMode=0
&ScoreCoeff=3.5
&<公共请求参数>

输出示例

{
  "Response": {
    "PronAccuracy": 65,
    "PronFluency": 0.99,
    "PronCompletion": 1,
    "SuggestedScore": 65,
    "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 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

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

命令行工具

6. 错误码

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

错误码 描述
InternalError 内部错误。
InternalError.AudioProcessingFailed 音频处理出错。
InternalError.BASE64DecodeFailed BASE64解码错误。
InternalError.CannotFindSession 评估之前没有初始化或已过期。
InternalError.FailToDecodeVoice 语音解码失败。
InternalError.IlegalServerResponse 服务器应答非法 。
InternalError.InitStreamNotSupport 该接口不支持init_stream。
InternalError.InitStreamUnfinished 初始化请求未完成,请稍后重试。
InternalError.InitialParameterError 初始化参数错误 。
InternalError.InvalidSeqId 分片序号错误。
InternalError.InvalidWAVHeader WAV头部格式非法或不在同一分片内。
InternalError.LastSeqUnfinished 前一个分片未处理完,请稍后重试。
InternalError.MP3DecodeFailed MP3转码发生错误。
InternalError.NeedToInit 进行评估之前没有进行初始化。
InternalError.NoConversationFound 使用的会话没有找到或已经被释放。
InternalError.NoDocInList 表单中没有文件。
InternalError.NoError 没有错误。
InternalError.NoInitBeforeEvaluation 评估之前没有初始化。
InternalError.RefTxtEmpty 检测到不支持的字符在输入文本。
InternalError.RefTxtOov 检测到不支持的字符在输入文本。
InternalError.RefTxtTooLang 输入文本太长。
InternalError.ServerInternalError 服务器内部错误。
InternalError.ServerOverload 服务器过载。
InternalError.ServiceTimeout 服务超时。
InternalError.ShardNoStartWithOne 分片序号错误应该从1开始。
InternalError.StreamProcessFail 流式模式数据包处理过程中间失败。
InternalError.StreamProcessTimeOut 流式模式数据包处理超时。
InternalError.StreamingvoicepkgTimeout 流式语音包超时。
InternalError.TimeOut 获得结果超时。
InternalError.TooLongPackage 语音数据包长度超过 1MB。
InternalError.VadNotDetectedSpeak 没有检测到语音。
InternalError.VoiceMsgOversized 语音数据大于1MB。
InternalError.VoiceMsgTooShort 语音时长太短 。
InternalError.WordLengthTooLong 文本单词超过限制 。
InvalidParameter 参数错误。
InvalidParameter.AuthorizeError 服务未开通或已欠费。
InvalidParameter.InitialParameterError 初始化参数错误。
InvalidParameter.VoiceMsgOversized 语音数据大于1MB。
InvalidParameter.WithoutRealName 用户未实名制认证。
InvalidParameterValue 参数取值错误。
InvalidParameterValue.BASEDecodeFailed BASE64解码错误。
InvalidParameterValue.InvalidSeqId 分片序号错误。
InvalidParameterValue.InvalidWAVHeader WAV头部格式非法或不在同一分片内。
InvalidParameterValue.NoDocInList 表单中没有文件。
InvalidParameterValue.RefTxtEmpty 输入文本为空。
InvalidParameterValue.RefTxtTooLang 输入文本太长。
InvalidParameterValue.ShardNoStartWithOne 分片序号错误应该从1开始。
InvalidParameterValue.StreamingvoicepkgTimeout 流式语音包超时。
InvalidParameterValue.VadNotDetectedSpeak 没有检测到语音。
InvalidParameterValue.WordLengthTooLong 文本单词超过限制。
ResourceNotFound.AppidNotFount appid不存在。
ResourceNotFound.InterfaceNotFount 接口不存在。
ResourceUnavailable.AuthorizeError 服务未开通或已欠费。
ResourceUnavailable.CannotFindSession 评估之前没有初始化或已过期。
ResourceUnavailable.ConcurrencyLimit 使用并发超出限制。
ResourceUnavailable.InitStreamUnfinished 初始化请求未完成,请稍后重试。
ResourceUnavailable.LastSeqUnfinished 前一个分片未处理完,请稍后重试。
ResourceUnavailable.NoConversationFound 使用的会话没有找到或已经被释放。
ResourceUnavailable.NoInitBeforeEvaluation 评估之前没有初始化。
目录