1. 接口说明

语音评测接口通过智能语音技术自动对发音水平进行评价、发音错误、缺陷定位和问题分析,包括:中文普通话发音水平自动评测技术、英文发音水平自动评测技术

2. 接口地址

POST http://api.xfyun.cn/v1/service/v1/ise HTTP/1.1
Content-Type:application/x-www-form-urlencoded; charset=utf-8

3. 请求参数

在 Http Request Header 中配置授权认证参数,见【接口描述-授权认证。 其中 X-Param 为各配置参数组成的 JSON 串经 BASE64 编码之后的字符串,原始 JSON 串各字段说明如下:

参数 类型 必须 说明 示例
aue string 音频编码,可选值:raw(未压缩的 pcm 格式音频)、speex raw
speex_size string 标准speex解码帧的大小(当aue=speex时,若传此参数,表明音频格式为标准speex;若不传,表明音频格式为讯飞定制speex) 70
result_level string 评测结果等级,可选值: entirety、 simple,默认为 entirety entirety
language string 评测语种,可选值: en_us(英语)、 zh_cn(汉语) zh_cn
category string 评测题型,可选值: read_syllable(单字朗读,汉语专有)、 read_word(词语朗读)、 read_sentence(句子朗读)、read_chapter(段落朗读,需开通权限) read_sentence
extra_ability string 拓展能力,可选值:multi_dimension(全维度)、chapter(段落评测) chapter

X-Param生成示例:

原始JSON串:
{
    "aue": "raw",
    "result_level": "simple",
    "language": "en_us",
    "category": "read_sentence"
}
BASE64编码(即X-Param):
eyJhdWUiOiAicmF3IiwicmVzdWx0X2xldmVsIjogInNpbXBsZSIsImxhbmd1YWdlIjogImVuX3VzIiwiY2F0ZWdvcnkiOiAicmVhZF9zZW50ZW5jZSJ9

在 Http Request Body 中配置以下参数:

参数 类型 必须 说明 示例
audio string 音频数据,base64 编码后进行 urlencode,要求 base64 编码和 urlencode 后大小不超过2M,原始音频时长不超过60s exSI6ICJlbiIsCgkgICAgInBvc2l0aW9uIjogImZhbHNlIgoJf...
text string 评测文本(使用 utf-8 编码),需urlencode,要求长度中文不超过180字符、英文不超过300字符;
段落评测等高阶能力:中英文字、词、句的长度可以提升到1000字符,如需使用,点此申请>>
天气很好。

注: base64 编码后大小会增加约1/3

4. 返回值

返回值为 json 串,各字段如下:

参数 类型 说明
code string 结果码(具体见错误码)
data string 语音识别后文本结果
desc string 描述
sid string 会话ID

其中 sid 字段主要用于追查问题,如果出现问题,可以提供 sid 给讯飞技术人员帮助确认问题。

data 即评测试题和结果格式及字段含义详见 语音评测试题格式及结果说明 文档。

示例如下:

失败:

{
    "code": "10106",
    "desc": "invalid parameter|invalid X-Appid",
    "data": "",
    "sid": "wse0000bb3f@ch3d5c059d83b3477200"
}

成功:

{
"data":{
    "read_word":{
        "lan":"en",
        "type":"study",
        "version":"6.5.0.1011",
        "rec_paper":{
            "read_word":{
                "except_info":"28680",
                "is_rejected":"false",
                "total_score":"64.725080",
                "sentence":[
                    {
                        "beg_pos":"0",
                        "content":"apple",
                        "end_pos":"129",
                        "word":{
                            "beg_pos":"79",
                            "content":"apple",
                            "end_pos":"129",
                            "total_score":"94.963020"
                        }
                    },
                    {
                        "beg_pos":"129",
                        "content":"banana",
                        "end_pos":"163",
                        "word":{
                            "beg_pos":"163",
                            "content":"banana",
                            "end_pos":"163",
                            "total_score":"0.000000"
                        }
                    },
                    {
                        "beg_pos":"163",
                        "content":"orange",
                        "end_pos":"226",
                        "word":{
                            "beg_pos":"163",
                            "content":"orange",
                            "end_pos":"226",
                            "total_score":"99.212200"
                        }
                    },
                    {
                        "content":"banana",
                        "end_pos":"359",
                        "word":{
                            "beg_pos":"265",
                            "content":"banana",
                            "end_pos":"318"
                        },
                        "beg_pos":"226"
                    }
                ],
                "beg_pos":"0",
                "content":"apple banana orange",
                "end_pos":"359"
            }
        }
    }
},
"code":"0",
"desc":"success",
"sid":"wse00000001@ll36940e324c59000100"
}

5. 调用示例

python脚本示例(python版本号 2.7.6)

说明:将脚本中 AUDIO_PATH, API_KEY, APPID, 换成相应的音频路径,讯飞开放平台提供的 apiKey,讯飞开放平台应用的 appid 即可,运行脚本可打印相应结果。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import urllib2
import time
import urllib
import json
import hashlib
import base64

def main():
    f = open("AUDIO_PATH", 'rb')
    file_content = f.read()
    base64_audio = base64.b64encode(file_content)
    text = "科大讯飞是中国最大的智能语音技术提供商"
    body = urllib.urlencode({'audio': base64_audio, 'text': text})

    url = 'http://api.xfyun.cn/v1/service/v1/ise'
    api_key = 'API_KEY'
    param = {"aue": "raw","result_level": "simple","language": "en_us","category": "read_sentence"}

    x_appid = 'APPID'
    x_param = base64.b64encode(json.dumps(param).replace(' ', ''))
    x_time = int(int(round(time.time() * 1000)) / 1000)
    x_checksum = hashlib.md5(api_key + str(x_time) + x_param).hexdigest()
    x_header = {'X-Appid': x_appid,
                'X-CurTime': x_time,
                'X-Param': x_param,
                'X-CheckSum': x_checksum}
    req = urllib2.Request(url, body, x_header)
    result = urllib2.urlopen(req)
    result = result.read()
    print result
    return

if __name__ == '__main__':
    main() 
Copyright © iflytek.com 2018 all right reserved,powered by Gitbook该文件修订时间: 2018-10-19 20:53:23

results matching ""

    No results matching ""