Documentation
¶
Index ¶
Constants ¶
View Source
const APIVersion = "2018-07-24"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
func NewClient ¶
func NewClient(credential *common.Credential, region string, clientProfile *profile.ClientProfile) (client *Client, err error)
func NewClientWithSecretId ¶
Deprecated
func (*Client) InitOralProcess ¶
func (c *Client) InitOralProcess(request *InitOralProcessRequest) (response *InitOralProcessResponse, err error)
初始化发音评估过程,每一轮评估前进行调用。语音输入模式分为流式模式和非流式模式,流式模式支持数据分片传输,可以加快评估响应速度。评估模式分为词模式和句子模式,词模式会标注每个音节的详细信息;句子模式会有完整度和流利度的评估。
func (*Client) TransmitOralProcess ¶
func (c *Client) TransmitOralProcess(request *TransmitOralProcessRequest) (response *TransmitOralProcessResponse, err error)
传输音频数据,必须在完成发音评估初始化接口之后调用,且SessonId要与初始化接口保持一致。分片传输时,尽量保证SeqId顺序传输。音频源目前仅支持16k采样率16bit单声道编码方式,如有不一致可能导致评估不准确或失败。
type InitOralProcessRequest ¶
type InitOralProcessRequest struct {
*tchttp.BaseRequest
// 语音段唯一标识,一段语音一个SessionId
SessionId *string `json:"SessionId" name:"SessionId"`
// 被评估语音对应的文本,句子模式下不超过个 20 单词或者中文文字,段落模式不超过 120 单词或者中文文字,中文评估使用 utf-8 编码,自由说模式该值传空。
RefText *string `json:"RefText" name:"RefText"`
// 语音输入模式,0:流式分片,1:非流式一次性评估
WorkMode *int64 `json:"WorkMode" name:"WorkMode"`
// 评估模式,0:词模式,,1::句子模式,2:段落模式,3:自由说模式,当为词模式评估时,能够提供每个音节的评估信息,当为句子模式时,能够提供完整度和流利度信息。
EvalMode *int64 `json:"EvalMode" name:"EvalMode"`
// 评价苛刻指数,取值为[1.0 - 4.0]范围内的浮点数,用于平滑不同年龄段的分数,1.0为小年龄段,4.0为最高年龄段
ScoreCoeff *float64 `json:"ScoreCoeff" name:"ScoreCoeff"`
// 业务应用ID,与账号应用APPID无关,是用来方便客户管理服务的参数,新的 SoeAppId 可以在[控制台](https://console.cloud.tencent.com/soe)【应用管理】下新建。
SoeAppId *string `json:"SoeAppId" name:"SoeAppId"`
// 长效session标识,当该参数为1时,session的持续时间为300s,但会一定程度上影响第一个数据包的返回速度,且TransmitOralProcess必须同时为1才可生效。
IsLongLifeSession *int64 `json:"IsLongLifeSession" name:"IsLongLifeSession"`
// 音频存储模式,0:不存储,1:存储到公共对象存储,输出结果为该会话最后一个分片TransmitOralProcess 返回结果 AudioUrl 字段。
StorageMode *int64 `json:"StorageMode" name:"StorageMode"`
// 输出断句中间结果标识,0:不输出,1:输出,通过设置该参数,可以在评估过程中的分片传输请求中,返回已经评估断句的中间结果,中间结果可用于客户端 UI 更新,输出结果为TransmitOralProcess请求返回结果 SentenceInfoSet 字段。
SentenceInfoEnabled *int64 `json:"SentenceInfoEnabled" name:"SentenceInfoEnabled"`
// 评估语言,0:英文,1:中文。
ServerType *int64 `json:"ServerType" name:"ServerType"`
}
func NewInitOralProcessRequest ¶
func NewInitOralProcessRequest() (request *InitOralProcessRequest)
func (*InitOralProcessRequest) FromJsonString ¶
func (r *InitOralProcessRequest) FromJsonString(s string) error
func (*InitOralProcessRequest) ToJsonString ¶
func (r *InitOralProcessRequest) ToJsonString() string
type InitOralProcessResponse ¶
type InitOralProcessResponse struct {
*tchttp.BaseResponse
Response *struct {
// 语音段唯一标识,一个完整语音一个SessionId
SessionId *string `json:"SessionId" name:"SessionId"`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId" name:"RequestId"`
} `json:"Response"`
}
func NewInitOralProcessResponse ¶
func NewInitOralProcessResponse() (response *InitOralProcessResponse)
func (*InitOralProcessResponse) FromJsonString ¶
func (r *InitOralProcessResponse) FromJsonString(s string) error
func (*InitOralProcessResponse) ToJsonString ¶
func (r *InitOralProcessResponse) ToJsonString() string
type PhoneInfo ¶
type PhoneInfo struct {
// 当前音节语音起始时间点,单位为ms
MemBeginTime *int64 `json:"MemBeginTime" name:"MemBeginTime"`
// 当前音节语音终止时间点,单位为ms
MemEndTime *int64 `json:"MemEndTime" name:"MemEndTime"`
// 音节发音准确度,取值范围[-1, 100],当取-1时指完全不匹配
PronAccuracy *float64 `json:"PronAccuracy" name:"PronAccuracy"`
// 当前音节是否检测为重音
DetectedStress *bool `json:"DetectedStress" name:"DetectedStress"`
// 当前音节
Phone *string `json:"Phone" name:"Phone"`
// 当前音节是否应为重音
Stress *bool `json:"Stress" name:"Stress"`
}
type SentenceInfo ¶
type SentenceInfo struct {
// 句子序号,在段落、自由说模式下有效,表示断句序号,最后的综合结果的为-1.
SentenceId *int64 `json:"SentenceId" name:"SentenceId"`
// 详细发音评估结果
Words []*WordRsp `json:"Words" name:"Words" list`
// 发音精准度,取值范围[-1, 100],当取-1时指完全不匹配,当为句子模式时,是所有已识别单词准确度的加权平均值。当为流式模式且请求中IsEnd未置1时,取值无意义
PronAccuracy *float64 `json:"PronAccuracy" name:"PronAccuracy"`
// 发音流利度,取值范围[0, 1],当为词模式时,取值无意义;当为流式模式且请求中IsEnd未置1时,取值无意义
PronFluency *float64 `json:"PronFluency" name:"PronFluency"`
// 发音完整度,取值范围[0, 1],当为词模式时,取值无意义;当为流式模式且请求中IsEnd未置1时,取值无意义
PronCompletion *float64 `json:"PronCompletion" name:"PronCompletion"`
}
type TransmitOralProcessRequest ¶
type TransmitOralProcessRequest struct {
*tchttp.BaseRequest
// 流式数据包的序号,从1开始,当IsEnd字段为1后后续序号无意义,当IsLongLifeSession不为1且为非流式模式时无意义。
SeqId *int64 `json:"SeqId" name:"SeqId"`
// 是否传输完毕标志,若为0表示未完毕,若为1则传输完毕开始评估,非流式模式下无意义。
IsEnd *int64 `json:"IsEnd" name:"IsEnd"`
// 语音文件类型 1:raw, 2:wav, 3:mp3(三种格式目前仅支持16k采样率16bit编码单声道,如有不一致可能导致评估不准确或失败)。
VoiceFileType *int64 `json:"VoiceFileType" name:"VoiceFileType"`
// 语音编码类型 1:pcm。
VoiceEncodeType *int64 `json:"VoiceEncodeType" name:"VoiceEncodeType"`
// 当前数据包数据, 流式模式下数据包大小可以按需设置,数据包大小必须 >= 4K,且必须保证分片帧完整(16bit的数据必须保证音频长度为偶数),编码格式要求为BASE64。
UserVoiceData *string `json:"UserVoiceData" name:"UserVoiceData"`
// 语音段唯一标识,一个完整语音一个SessionId。
SessionId *string `json:"SessionId" name:"SessionId"`
// 业务应用ID,与账号应用APPID无关,是用来方便客户管理服务的参数,新的 SoeAppId 可以在[控制台](https://console.cloud.tencent.com/soe)【应用管理】下新建。
SoeAppId *string `json:"SoeAppId" name:"SoeAppId"`
// 长效session标识,当该参数为1时,session的持续时间为300s,但会一定程度上影响第一个数据包的返回速度。当InitOralProcess接口调用时此项为1时,此项必填1才可生效。
IsLongLifeSession *int64 `json:"IsLongLifeSession" name:"IsLongLifeSession"`
}
func NewTransmitOralProcessRequest ¶
func NewTransmitOralProcessRequest() (request *TransmitOralProcessRequest)
func (*TransmitOralProcessRequest) FromJsonString ¶
func (r *TransmitOralProcessRequest) FromJsonString(s string) error
func (*TransmitOralProcessRequest) ToJsonString ¶
func (r *TransmitOralProcessRequest) ToJsonString() string
type TransmitOralProcessResponse ¶
type TransmitOralProcessResponse struct {
*tchttp.BaseResponse
Response *struct {
// 发音精准度,取值范围[-1, 100],当取-1时指完全不匹配,当为句子模式时,是所有已识别单词准确度的加权平均值。当为流式模式且请求中IsEnd未置1时,取值无意义
PronAccuracy *float64 `json:"PronAccuracy" name:"PronAccuracy"`
// 发音流利度,取值范围[0, 1],当为词模式时,取值无意义;当为流式模式且请求中IsEnd未置1时,取值无意义
PronFluency *float64 `json:"PronFluency" name:"PronFluency"`
// 发音完整度,取值范围[0, 1],当为词模式时,取值无意义;当为流式模式且请求中IsEnd未置1时,取值无意义
PronCompletion *float64 `json:"PronCompletion" name:"PronCompletion"`
// 详细发音评估结果
Words []*WordRsp `json:"Words" name:"Words" list`
// 语音段唯一标识,一段语音一个SessionId
SessionId *string `json:"SessionId" name:"SessionId"`
// 保存语音音频文件下载地址
AudioUrl *string `json:"AudioUrl" name:"AudioUrl"`
// 断句中间结果,中间结果是局部最优而非全局最优的结果,所以中间结果有可能和最终整体结果对应部分不一致;中间结果的输出便于客户端UI更新;待用户发音完全结束后,系统会给出一个综合所有句子的整体结果。
SentenceInfoSet []*SentenceInfo `json:"SentenceInfoSet" name:"SentenceInfoSet" list`
// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId" name:"RequestId"`
} `json:"Response"`
}
func NewTransmitOralProcessResponse ¶
func NewTransmitOralProcessResponse() (response *TransmitOralProcessResponse)
func (*TransmitOralProcessResponse) FromJsonString ¶
func (r *TransmitOralProcessResponse) FromJsonString(s string) error
func (*TransmitOralProcessResponse) ToJsonString ¶
func (r *TransmitOralProcessResponse) ToJsonString() string
type WordRsp ¶
type WordRsp struct {
// 当前单词语音起始时间点,单位为ms
MemBeginTime *int64 `json:"MemBeginTime" name:"MemBeginTime"`
// 当前单词语音终止时间点,单位为ms
MemEndTime *int64 `json:"MemEndTime" name:"MemEndTime"`
// 单词发音准确度,取值范围[-1, 100],当取-1时指完全不匹配
PronAccuracy *float64 `json:"PronAccuracy" name:"PronAccuracy"`
// 单词发音流利度,取值范围[0, 1]
PronFluency *float64 `json:"PronFluency" name:"PronFluency"`
// 当前词
Word *string `json:"Word" name:"Word"`
// 当前词与输入语句的匹配情况,0:匹配单词、1:新增单词、2:缺少单词
MatchTag *int64 `json:"MatchTag" name:"MatchTag"`
// 音节评估详情
PhoneInfos []*PhoneInfo `json:"PhoneInfos" name:"PhoneInfos" list`
}
Click to show internal directories.
Click to hide internal directories.