儿童句子

更新时间:

该文档方便开发者在技术验证阶段 快速集成句子跟读题型的语音评测技术,适用于12岁以下儿童英文句子跟读评测功能

题型描述

  • 对英文句子进行打分,支持音频比对与实时反馈功能。

  • 反馈总分、流利度得分、准确度得分、完整度得分、每个单词的发音,以及单词的重音/升降调/意群停顿/连读、增漏读与停顿检查等。

测评请求参数

字段

类型

可选

说明

coreType

string

必选

en.sent_kid.score表示英文幼儿句子评测

refText

string

必选

评分参考文本,支持整个句子,
可以带标点符号,如"I want to know the past and present of Hong Kong."
文本符号说明
自定义发音有两种方式:
1、directory(z:d ih 'r eh k tr ih) 音标按引擎内部音标规范
2、directory(p:dəˈrektəri) 按原始音标指定发音(如果原始音标对应多种标准,处理优先级:IP88 > KK > IP66)

rank

int

可选

评分分制,这个值可以任意设置,最终会根据与100的比例重新计算

precision

double

可选

设置打分精度,只支持0.1、0.5或者1,默认值为1(如果设置的值不是0.10.5则按1处理)

typeThres

int

可选

打分松紧度(分数越高影响越小):1表示严格,2表示宽松,3表示非常严格,4非常宽松,0为默认值(不启用此功能)

feedback

int

可选

1:表示开启实时反馈功能(实时反馈当前读的音频对应的文本位置信息) 0:默认值(不启用此功能)

attachAudioUrl

int

可选

评测结果中是否返回音频url
0: 不返回
1: 返回

accent

string

可选

"accent":"en" 表示指定英式发音评测
"accent":"am" 表示指定美式发音评测

参数示例

{
    "coreType":"en.sent_kid.score",
    "refText":"clap your hands",
    "accent": 1,
    "rank": 100, 
    "outputPhones":1,
    "phdet": 1,
    "attachAudioUrl":1
}

返回结果示例

{
    "tokenId": "60ffd5bc88bf5b0000040001",  //客户端请求的唯一标识
    "recordId": "11ebeebf6124c82ebcf3a14812619e1a", //数据在云端的唯一标识,请保存到产品数据库,方便排查问题
    "applicationId": "aXXX",                 //提供的评测appkey      
    "audioUrl": "http:\/\/xxx.xxx.ssapi.cn:8080\/axxx\/11ebeebf6124c82ebcf3a14812619e1a", //用户音频下载地址        
    "dtLastResponse": "2021-07-27 17:45:34:615", //返回数据时间
    "connect": {
        "param": {
            "app": {
                "timestamp": "1627379132",
                "applicationId": "aXXX",       //提供的评测appkey      
                "sig": "7cb761d87ec0078199312fa4eff63f07ef1e72ea"
            },
            "sdk": {
                "os": "6.2(9200)1",
                "product": "",
                "source": 7,
                "protocol": 1,
                "os_version": "6.2(9200)",
                "arch": "586",
                "version": 16778752
            }
        },
        "cmd": "connect"
    },
    "params": {
        "app": {
            "timestamp": "1627379132",
            "userId": "ssound_text",     //产品自定义字符串, 建议每个用户的userid不同,方便定位问题
            "sig": "7cb761d87ec0078199312fa4eff63f07ef1e72ea",
            "connect_id": "60ffd5bc88bf5b0000060002",
            "clientId": "",
            "applicationId": "aXXX"    //提供给产品的appkey
        },
       "audio":{                    //请求评分的音频格式参数
            "sampleRate":16000,  //采样率
            "channel":1,    //声道,1是单声道,2是双声道。评测仅支持单声道
            "sampleBytes":2,
            "audioType":"ogg"  //音频类型
        },
        "request": {
            "request_id": "60ffd5bc88bf5b0000050001",
            "phdet": 1,                    //音素检错,1表示使用此功能,默认为0,不启动;只能设置0和1
            "rank": 100,                  //分制,默认是100表示百分制,这个值可以任意设置,最终会根据与100的比例重新计算
            "tokenId": "60ffd5bc88bf5b0000040001",
            "outputPhones": 1,      //输出结果包含每个单词的音标分,只有设置0或1,默认值为0,不开启此功能
            "refText": " let us play basketball, are you ok?(t:1).",  //评测请求的文本
            "coreType": "en.sent_kid.score"                                   //评测请求的题型类型
        }
    },
    "refText": " let us play basketball, are you ok?(t:1).",
    "result": {
        "overall": 76,            //评测综合得分
        "forceout": 0,
        "precision": 1,
        "systime": 4063,    //云端评测计算的时长
        "res": "eng.snt.online.1.0",
        "rank": 100,   
        "rhythm": {      //韵律度相关
            "stress": 100,  //重音总得分,检测需要重读的单词是否重读
            "overall": 50,  //对重读、意群停顿、升降调综合评估的一个得分
            "tone": 100,  //声调总得分,检测句末需要升调的发音是否升调
            "sense": 0  //意群总得分,检测意群组合中,发音是否流利
        },
        "fluency": {               //流利度相关
            "pause": 0,    //停顿次数
            "overall": 94,  //流利度得分
            "speed": 1  //语速快慢(默认为0,漏读时也为0),0:慢,1:正常,2:快
        },
        "pron": 73,  //发音得分(同accuracy)
        "wavetime": 3990,  //用户录音时长
        "accuracy": 73,  //发音得分(同pron)
        "details": [     //每个单词打分详情
            {
                "stressref": 0,
                "tonescore": 0,
                "dur": 520,
                "char": "let",  
                "liaisonref": 0,  //连读标识:1表示设置单词连读,0表示单词不需要连读;默认全部为0
                "liaisonscore": 0, //返回1或0,1表示实际与设置一致,0表示实际与设置不一致。获取之前要进行非空判断
                "senseref": 0,    //意群停顿标识:1表示设置单词意群停顿,0表示单词不需要意群停顿;结尾默认为1
                "start": 620, //单词在音频中的开始时间,单位ms
                "fluency": 99,
                "score": 90,  //单词的发音得分
                "stressscore": 0, //重读反馈(0、1)
                "toneref": 0,  //升调反馈
                "sensescore": 1,  //意群停顿得反馈(0、1)
                "phone": [    //当前单词的音素打分详情
                    {
                        "phid": "1",   //此音素在当前单词音标中的位置,只有设置phdet才输出此字段
                        "ph2alpha": "l",   //当前音素对应的单词中的字母(产品开发人员无须通过phid自己计算),只有设置phdet才输出此字段
                        "start": 620,  
                        "char": "l",  //音素
                        "score": 83, //音素得分
                        "end": 880,
                        "pherr": 0  //检测音素是否有错(0、1),只有设置phdet才输出此字段
                    },
                    {
                        "phid": "2",
                        "ph2alpha": "e",
                        "start": 880,
                        "char": "eh",
                        "score": 95,
                        "end": 1020,
                        "pherr": 0
                    },
                    {
                        "phid": "3",
                        "ph2alpha": "t",
                        "start": 1020,
                        "char": "t",
                        "score": 93,
                        "end": 1140,
                        "pherr": 0
                    }
                ],
                "end": 1140,          //单词在音频中的开始时间,单位ms
                "accent": "ea"        //请求评分时,如果指定英/美式发音accent参数不会返回该参数,未指定则返回结果中有accent字段
            },
            {
                "stressref": 0,
                "tonescore": 0,
                "dur": 320,
                "char": "us",
                "liaisonref": 0,
                "liaisonscore": 0,
                "senseref": 0,
                "start": 1200,
                "fluency": 69,
                "score": 90,
                "stressscore": 0,
                "toneref": 0,
                "sensescore": 1,
                "phone": [
                    {
                        "phid": "1",
                        "ph2alpha": "u",
                        "start": 1200,
                        "char": "ah",
                        "score": 92,
                        "end": 1400,
                        "pherr": 0
                    },
                    {
                        "phid": "2",
                        "ph2alpha": "s",
                        "start": 1400,
                        "char": "s",
                        "score": 88,
                        "end": 1520,
                        "pherr": 0
                    }
                ],
                "end": 1520,
                "accent": "ea"
            },
            {
                "stressref": 0,
                "tonescore": 0,
                "dur": 240,
                "char": "play",
                "liaisonref": 0,
                "liaisonscore": 0,
                "senseref": 0,
                "start": 1580,
                "fluency": 95,
                "score": 42,
                "stressscore": 0,
                "toneref": 0,
                "sensescore": 0,
                "phone": [
                    {
                        "phid": "1",
                        "ph2alpha": "p",
                        "start": 1580,
                        "char": "p",
                        "score": 0,
                        "end": 1640,
                        "pherr": 1
                    },
                    {
                        "phid": "2",
                        "ph2alpha": "l",
                        "start": 1640,
                        "char": "l",
                        "score": 79,
                        "end": 1700,
                        "pherr": 0
                    },
                    {
                        "phid": "3_4",
                        "ph2alpha": "ay",
                        "start": 1700,
                        "char": "ey",
                        "score": 89,
                        "end": 1820,
                        "pherr": 0
                    }
                ],
                "end": 1820,
                "accent": "ea"
            },
            {
                "stressref": 0,
                "tonescore": 0,
                "dur": 760,
                "char": "basketball",
                "liaisonref": 0,
                "liaisonscore": 0,
                "senseref": 0,
                "start": 1820,
                "fluency": 96,
                "score": 72,
                "stressscore": 0,
                "toneref": 0,
                "sensescore": 1,
                "phone": [
                    {
                        "phid": "1",
                        "ph2alpha": "b",
                        "start": 1820,
                        "char": "b",
                        "score": 98,
                        "end": 1900,
                        "pherr": 0
                    },
                    {
                        "phid": "2",
                        "ph2alpha": "a",
                        "start": 1900,
                        "char": "aa",
                        "score": 97,
                        "end": 2000,
                        "pherr": 0
                    },
                    {
                        "phid": "3",
                        "ph2alpha": "s",
                        "start": 2000,
                        "char": "s",
                        "score": 97,
                        "end": 2120,
                        "pherr": 0
                    },
                    {
                        "phid": "4",
                        "ph2alpha": "k",
                        "start": 2120,
                        "char": "k",
                        "score": 96,
                        "end": 2200,
                        "pherr": 0
                    },
                    {
                        "phid": "5",
                        "ph2alpha": "e",
                        "start": 2200,
                        "char": "ih",
                        "score": 95,
                        "end": 2260,
                        "pherr": 0
                    },
                    {
                        "phid": "6",
                        "ph2alpha": "t",
                        "start": 2260,
                        "char": "t",
                        "score": 80,
                        "end": 2400,
                        "pherr": 0
                    },
                    {
                        "phid": "7",
                        "ph2alpha": "b",
                        "start": 2400,
                        "char": "b",
                        "score": 61,
                        "end": 2460,
                        "pherr": 0
                    },
                    {
                        "phid": "8",
                        "ph2alpha": "a",
                        "start": 2460,
                        "char": "ao",
                        "score": 25,
                        "end": 2520,
                        "pherr": 0
                    },
                    {
                        "phid": "9_10",
                        "ph2alpha": "ll",
                        "start": 2520,
                        "char": "l",
                        "score": 49,
                        "end": 2580,
                        "pherr": 0
                    }
                ],
                "end": 2580,
                "accent": "en"
            },
            {
                "stressref": 0,
                "tonescore": 0,
                "dur": 120,
                "char": "are",
                "liaisonref": 0,
                "liaisonscore": 0,
                "senseref": 0,
                "start": 2700,
                "fluency": 100,
                "score": 93,
                "stressscore": 0,
                "toneref": 0,
                "sensescore": 0,
                "phone": [
                    {
                        "phid": "1_2_3",
                        "ph2alpha": "are",
                        "start": 2700,
                        "char": "aa",
                        "score": 93,
                        "end": 2820,
                        "pherr": 0
                    }
                ],
                "end": 2820,
                "accent": "en"
            },
            {
                "stressref": 0,
                "tonescore": 0,
                "dur": 200,
                "char": "you",
                "liaisonref": 0,
                "liaisonscore": 0,
                "senseref": 0,
                "start": 2820,
                "fluency": 100,
                "score": 46,
                "stressscore": 0,
                "toneref": 0,
                "sensescore": 0,
                "phone": [
                    {
                        "phid": "1",
                        "ph2alpha": "y",
                        "start": 2820,
                        "char": "y",
                        "score": 74,
                        "end": 2940,
                        "pherr": 0
                    },
                    {
                        "phid": "2_3",
                        "ph2alpha": "ou",
                        "start": 2940,
                        "char": "uh",
                        "score": 32,
                        "end": 3020,
                        "pherr": 0
                    }
                ],
                "end": 3020,
                "accent": "ea"
            },
            {
                "stressref": 0,
                "tonescore": 1,
                "dur": 560,
                "char": "ok",
                "liaisonref": 0,
                "liaisonscore": 0,
                "senseref": 1,
                "start": 3020,
                "fluency": 100,
                "score": 75,
                "stressscore": 0,
                "toneref": 1,
                "sensescore": 1,
                "phone": [
                    {
                        "phid": "1",
                        "ph2alpha": "o",
                        "start": 3020,
                        "char": "ow",
                        "score": 49,
                        "end": 3160,
                        "pherr": 0
                    },
                    {
                        "phid": "2",
                        "ph2alpha": "k",
                        "start": 3160,
                        "char": "k",
                        "score": 94,
                        "end": 3320,
                        "pherr": 0
                    },
                    {
                        "phid": "",
                        "char": "ey",
                        "start": 3320,
                        "score": 84,
                        "end": 3580,
                        "pherr": 0
                    }
                ],
                "end": 3580, 
                "accent": "ea"  
            }
        ],
        "info": {
            "tipId": 0,
            "clip": 0,
            "snr": 33.928673,
            "volume": 88
        },
        "statics": [
            {
                "score": 70,
                "char": "l",
                "count": 3
            },
            {
                "score": 95,
                "char": "eh",
                "count": 1
            },
            {
                "score": 87,
                "char": "t",
                "count": 2
            },
            {
                "score": 92,
                "char": "ah",
                "count": 1
            },
            {
                "score": 92,
                "char": "s",
                "count": 2
            },
            {
                "score": 0,
                "char": "p",
                "count": 1
            },
            {
                "score": 86,
                "char": "ey",
                "count": 2
            },
            {
                "score": 79,
                "char": "b",
                "count": 2
            },
            {
                "score": 95,
                "char": "aa",
                "count": 2
            },
            {
                "score": 95,
                "char": "k",
                "count": 2
            },
            {
                "score": 95,
                "char": "ih",
                "count": 1
            },
            {
                "score": 25,
                "char": "ao",
                "count": 1
            },
            {
                "score": 74,
                "char": "y",
                "count": 1
            },
            {
                "score": 32,
                "char": "uh",
                "count": 1
            },
            {
                "score": 49,
                "char": "ow",
                "count": 1
            }
        ],
        "delaytime": 30,
        "integrity": 100,
        "pretime": 1,
        "version": "0.0.80.2021.6.29.10:28:00"
    },
    "eof": 1,
    "cloud_platform": {
        "origin_audio_length": 15366
    }
}

返回结果说明

类型

说明

使用建议

recordId

string

音频文件的唯一标识

可供参考

tokenId

string

用户请求的唯一标识

可供参考

applicationId

string

授权的评测账号,即Appkey

内部参数

dtLastResponse

string

云端响应的时间点

内部参数

eof

int

0表示返回未结束,后续还有其它的返回结果 1:表示本次评测所有的返回结束

refText

string

传入的评测文本

可供参考

params

object

回显客户端传入的评测请求参数

- app

object

- - applicationId

string

授权账号,即用户的Appkey

- - userId

string

用户标识

- - timestamp

string

start时间

- - sig

string

校验码

- request

object

评分请求参数节点

- audio

object

评分请求的音频参数节点

result

object

评测结果

- version

string

引擎的版本,包含发布时间

内部参数

- rank

int

评分分制

内部参数

- precision

float

评分精度

内部参数

- res

string

评测本题型时,使用的资源名称

内部参数

- forceout

int

内部参数

- pretime

int

云端调用Start接口本身耗时,单位ms

内部参数

- systime

int

评测整个过程的总耗时,单位ms

内部参数

- delaytime

int

云端从feed音频结束到获取结果的耗时,单位ms

内部参数

- wavetime

int

音频时长,单位ms

可供参考

- overall

float

总分

建议字段

- pron

float

发音得分

内部参数

- integrity

float

完整度评分

建议字段

- accuracy

float

发音得分(同pron字段)

建议字段

- fluency

object

流利度评分(完整度为0时,流利度得分为0)

建议字段

- - overall

float

流利度总体得分(0-100)

建议字段

- - pause

int

停顿次数

可供参考

- - speed

int

语速快慢(默认为0,漏读时也为0),0:慢,1:正常,2:快

可供参考

- rhythm

object

韵律性评分

可供参考

- - overall

float

韵律总体得分(sense50%,stresstone各占25%) (0-100)

可供参考

- - sense

float

意群得分(0-100)

保留备用

- - stress

float

重音得分(0-100)

保留备用

- - tone

float

句子升降调得分(0-100)

保留备用

-realtime_details

array

实时反馈信息 ,即使设置feedback后会显示此节点

-- char

string

单词

供参考

-- dp_type

int

0:表示正常读 1:表示漏读或者未读 2:表示重读

供参考

- details

array

单词详细得分

建议字段

- - char

string

单词

建议字段

- - score

int

单词发音得分

建议字段

- - fake_pron

int

词单词不在词典(集外词),才会输出此字段。如果需要对集外词进行评测,可以通过refText传音标的方式进行评测。

- - start

int

单词在音频中的起始时间,单位为毫秒(ms)

可供参考

- - end

int

单词在音频中的结束时间,单位为毫秒(ms)

可供参考

- - dur

int

单词发音时间

可供参考

- - fluency

float

流利度评分(0-100)

保留备用

- - stressref

int

重读标识

可供参考

- - stressscore

int

重读得分(0、1)

可供参考

- - toneref

int

升调标识

可供参考

- - tonescore

int

升降调得分(0、1)

可供参考

- - senseref

int

意群停顿标识

可供参考

- - sensescore

int

意群停顿得分(0、1)

可供参考

- - liaisonref

int

连读标识

可供参考

- - liaisonscore

int

连读得分(0、1)

可供参考

- - dp_type

int

单词正常朗读(不输出dp_type字段)、漏读(1)、重复读(2)

正常:该字段不输出;单词漏读时, dp_type:1;重读时,dp_type:2。

- - is_pause

int

停顿标记

当句子在某个单词处停顿,输出的该单词JSON字段中包含"is_pause": 1,正常情况不出现。

- - accent

string

请求参数中配置accent时不返回此字段,否则返回此字段"accent":"ea"

- - phone

array

当前单词对应的音素分

只有设置outputPhones,才有此字段

- - - char

string

音素(当请求参数中设置accent时此字段为标准的英美式音素,否则为内部映射音素)

可供参考

- - - score

float

音素发音得分(0-100)

可供参考

- - - phid

int

此音标在当前单词音标中的位置

只有设置phdet才输出此字段

- - - pherr

int

音素检错的结果

只有设置phdet才输出此字段

- - - ph2alpha

string

音素对应的字母

只有设置phdet才输出此字段

- statics

array

内部参数

- - char

string

音素

内部参数

- - count

int

该音素出现的次数

内部参数

- - score

int

音素平均发音得分(0-100)

内部参数

- info

object

- - snr

float

信噪比,值越高越清晰,范围(0~40dB)此参数影响评分时,会设置相应的tipId

可供参考

- - clip

float

音频声音太高,出现截幅,范围(0\~1)。 此参数影响评分时,会设置相应的tipId

内部参数

- - volume

int

录音音量,范围(0~180dB)

可供参考

- - tipId

int

音频质量,详情请参考 tipId提示信息说明

建议字段

评测结果展现建议

维度

说明

详细

overall

总分

对整个句子的发音情况进行总体评价

pron

发音得分

integrity

完整度

评测录音内容与待测句子的完整程度,只评测是否读完整

accuracy

准确度

对已读内容的发音评价,与完整度无关

fluency.overall

流利度

评测录音是否流利,与朗读的内容无关

details[i].score

单词得分

对句子中每个单词的发音评价。获取之前要进行非空判断

details[i].dp_type

单词的增漏读

表示单词是否重读/漏读(参考对应题型的返回说明)

detials[i].is_pause

停顿字段

表示在读完某个单词后,有停顿

detials[i].speed

表示语速

表示语速快慢(参考对应题型的返回说明)

detials[i].fake_pron

伪造发音

表示单词是否在词典中,如果不在词典中,会为单词预测发音

detials[i].stressref

重读标识

1表示设置单词重读,0表示单词不需要重读;默认全部为0

detials[i].stressscore

重读得分

返回10, 1表示实际重读与设置的一致,0表示实际与设置不一致。获取之前要进行非空判断

detials[i].toneref

升降调标识

1表示设置单词升调,0表示设置单词降调;如果没有设置,结尾默认为0

detials[i].tonescore

升降调得分

返回10,1表示实际与设置一致,0表示实际与设置不一致。获取之前要进行非空判断

detials[i]. senseref

意群停顿标识

1表示设置单词意群停顿,0表示单词不需要意群停顿;结尾默认为1

detials[i]. sensescore

意群停顿得分

返回10,1表示实际与设置一致,0表示实际与设置不一致。获取之前要进行非空判断

detials[i]. liaisonref

连读标识

1表示设置单词连读,0表示单词不需要连读;默认全部为0

detials[i]. liaisonscore

连读得分

返回10,1表示实际与设置一致,0表示实际与设置不一致。获取之前要进行非空判断

评测失败时的返回结果

  • 如果返回的评测结果中result结构为空,说明评测失败。

  • 通过返回结果可以获取 errId 和 error,产品端可以根据相应错误码做续判断和处理。

错误码