语音测评小程序SDK

 简介

HI,您好,欢迎使用学而思网校AI开放平台小程序语音测评服务。语音测评基于英语教育场景,使用语音识别、特征提取、声学模型等技术,提供成人和儿童的英语口语发音评测。支持单句和多句两种评测方式,可广泛应用于英语口语类教学应用中。

本文档主要针对需要小程序开发语音测评的技术研发工程师,详细描述小程序开发语音测评相关的技术内容包含小程序中文测评(单句测评、多句测评)英文测评(单句测评、多句测评)。您可以通过快速接入安全接入使用此AI能力,在项目代码中给与用户体验文本以及录好的参考音频,请按照规则进行调试。

适用范围/环境依赖

小程序开发工具V1.0.2.1904090,开发机器-微信版本IOS 7.0.3 安卓 7.0.3 小程序开发工具请使用真机调试

语音测评小程序版介绍

语音测评小程序版 提供 中文/英文 两种语言评测方式。您可以通过参数配置

    // 1 英文 2 中文
    let ceping = 1

快速接入方式

请求参数详情

参数名 类型 是否必选 赋值说明 样例 备注
app_key string

应用标识

8102b22a5e81e840176d9f381ec6f837 请登录官网获app_key

代码示例

初始化请求传参:

    //接入方式 1快速接入  2安全接入
    let access_mode = 1
    //app_key 身份标识
    let app_key = '8102b22a5e81e840176d9f381ec6f837'

安全接入方式

请求参数详情

参数名 类型 是否必选 赋值说明 样例 备注
app_key string 应用标识 8102b22a5e81e840176d9f381ec6f837 请登录官网获app_key
time_stamp string 秒级时间戳 1493468759 安全接入必备,用于唯一地标识某一刻的时间
nonce_str string 随机字符串 dd599ef889859f9fe 安全接入必备 1-32个字符(数字或字母)
app_secret
string 应用标识
f308ce31e42e366093c01e5283f1acc02c2
cd47492f5c8633b55d58930be2b2c
请登录官网获app_secret
sign string 签名信息 99880aabb33f4def5c875875b6bdc3b1 安全接入必备

请求代码示例

初始化请求传参:

    //接入方式 1快速接入  2安全接入
    let access_mode = 2
    //app_key
    let app_key = '8102b22a5e81e840176d9f381ec6f837'
    //app_secret
    let app_secret = 'f308ce31e42e366093c01e5283f1acc02c2cd47492f5c8633b55d58930be2b2c'

链接sdk主要参数说明

参数名 类型 是否必选 赋值说明 样例
sid
string

sid,全局唯一

sid='7dbb864c-33e9-4abf-98b6-16d65b3c6748"'
idx
string

分段音频的次序,最后一个包用负值表示(如:-100)

"1"  /  "2"  /  "-n(数值)"
compress
string

【默认为0】

0:pcm(16K采样率) 或 wav(16K采样率)

位深度16bit

2:mp3(16K) 或 aac(16K)

compress='0'
ceping
int

1:中文测评/2:英文测评

 ceping = 1 ||  ceping = 2
cpluyinurl
string
测评对照阅读的文本
cpinfo = 'hello welcome to AI'  || cpinfo = '您好,欢迎来到AI'
cpluyinurl
string
测评参考录音
cpluyinurl = 'http://111.206.170.217:12001/waiyanshe/record/one/oneSen.m4a'
access_mode
int
接入方式 1快速接入 2安全接入
access_mode = 1 ||
access_mode = 2
app_key
string

请阅读接入方式

请阅读接入方式
app_secret
string

请阅读接入方式

请阅读接入方式
vad_max_sec
string
默认30s, 最大说话时长,最大可设置90s
vad_max_sec = '90'
vad_pause_sec
string
默认5s, 说话后静音停止时间
vad_pause_sec = '3'
vad_st_sil_sec
string
默认为10s, 说话前最大静音时长
vad_st_sil_sec = '3'
sil_tips_sec
string
静音时长提示,单位是10ms
sil_tips_sec = '20'
voiceless_penal
string
清音惩罚选项,测评单词时对清音发音好坏更敏感
voiceless_penal = '1'
multi_sent_loop
string
单句测评与多句测评模式选项,多句测评模式置为1 单句测评为0。注:多句测评请以英文"|"分割多句断句,如:cpinfo = 'hello | welcome to AI'  || cpinfo = '您好|欢迎来到AI'
multi_sent_loop = '1'
need_out_wd_sec
string

"1",返回每个汉字 或 英文单词的 [汉字/单词,分数,开始时间,结束时间 ]

默认为"0",返回每个汉字 或 每个单词的 [汉字/单词,分数]

 
need_out_wd_sec='1'
audio
string

音频字节流base64编码之后的字符串

 

注:主要参数:ceping、cpluyinurl、cpluyinurl、access_mode、app_key、multi_sent_loop 。参数列表中包含中英\文测评测评单句\多句,请根选择测评类别编辑正确的阅读文本参考录音路径 请仔细阅读列表文档   

json示例

{

    "common": {

        "sid": "7dbb864c-33e9-4abf-98b6-16d65b3c6748",

        "idx": "1",

        "compress": "2"

    },

    "spec": {

        "assess_ref": "Hello, world!",

        "vad_max_sec": "15",

        "vad_pause_sec": "3",

        "vad_st_sil_sec": "5",

        "sil_tips_sec": "200",

        "voiceless_penal": "1",

        "multi_sent_loop": "0",

        "need_out_wd_sec": "1",

        "extra": {}

    },

    "audio": "audio-bytes"

}

正式操作

请点此下载完整小程序sdk代码

您可以通过上面的链接直接下载小程序sdk代码,并复制到您的项目中,一键运行。亦可按照下面的完整步骤进行操作。

操作步骤一:

1,下载小程序sdk-->wx文件夹下小程序sdk完整代码, 小程序开发者工具下载

2,创建小程序。如有小程序AppID请填写,没有AppID请点击测试号

init0.png

3,将lib文件夹 和images 文件夹引入小程序的根目录

init1.png

 操作步骤二:

app.js 文件中引入 

  globalData: {
    userInfo: null, // 每句录音 、
    testResult: [], // 返回结果
    myRecording: '',
    cpluyinurl:'' //原音地址
  }

操作步骤三:

app.json 文件引入

引入
 "pages/newpage/newpage", 
 "lib/followResult/followResult"


最终app.json 目录结构
{
  "pages": [
    "pages/newpage/newpage",
    "pages/index/index",
    "pages/logs/logs",
    "lib/followResult/followResult"
  ]
}

init3.png

操作步骤四:

目录pages-->newpage-->newpage.js 引入

  var sdkdemo = require('../../lib/newdatatest/newdatatest.js')
  
  /**
   * 页面的初始数据
   */
  data: {
    postList: sdkdemo.showdata,
  },
  /**
  * 初始化方法
  */
  initsystem: function () {
    getApp().globalData.testResult = [];
    this.onLoad();
  },

  /**
  * 点击原音按钮
  */
  bindNative: function () {
    sdkdemo.playRecording(this)  //  唤起接口
  },
  /**
  * 点击录音按钮
  */
  bindRecord: function () {
    sdkdemo.clickRecording(this)  //  唤起接口
  },
  /**
  * 生命周期函数--监听页面加载
  */
  onLoad: function (options) {
    // 1 英文 2 中文
    let ceping = 2        
    // 测评对照阅读的文本    英文例句  Whatever is worth doing is worth doing well.
    let cpinfo = '任何值得做的,就把它做好'  
    // 测评参考录音       英文例句地址    http://111.206.170.217:12001/ai/audios/Example-en.mp3
    let cpluyinurl = 'http://111.206.170.217:12001/ai/audios/Example-zh.mp3'
    //接入方式 1快速接入  2安全接入
    let access_mode = 1
    //app_key
    let app_key = '8102b22a5e81e840176d9f381ec6f837'
    //app_secret
    let app_secret = 'f308ce31e42e366093c01e5283f1acc02c2cd47492f5c8633b55d58930be2b2c'

    //默认30s, 最大说话时长,最大可设置90s 
    let vad_max_sec = '90';
    // 默认5s, 说话后静音停止时间
    let vad_pause_sec = '3';
    //默认为10s, 说话前最大静音时长
    let vad_st_sil_sec = '3';
    //静音时长提示,单位是10ms  
    let sil_tips_sec = '200';
    //清音惩罚选项,测评单词时对清音发音好坏更敏感
    let voiceless_penal = '1';
    //单句测评与多句测评模式选项,多句测评模式置为1 单句测评为0
    let multi_sent_loop = '0';

    //  初始化数据 
    let initData = {
      "ceping": ceping,
      "cpinfo": cpinfo,
      "cpluyinurl": cpluyinurl
    };
    //  接入方式数据
    let accessModeData = {
      "access_mode": access_mode,
      "app_key": app_key,
      "app_secret": app_secret
    }
    let initAiData = {
      "vad_max_sec": vad_max_sec,
      "vad_pause_sec": vad_pause_sec,
      "vad_st_sil_sec": vad_st_sil_sec,
      "sil_tips_sec": sil_tips_sec,
      "voiceless_penal": voiceless_penal,
      "multi_sent_loop": multi_sent_loop
    }
    sdkdemo.showtest(this, initData, accessModeData, initAiData)
  },

init4.png

 

操作步骤五:

目录pages-->newpage-->newpage.wxml 引入

<import src="/lib/newdatatest/newdatatest.wxml" />   
<template is="skxTestPage" data="{{...postList}}"/>

init5.png

操作步骤六:

目录pages-->newpage-->newpage.wxss 引入

@import "/lib/newdatatest/newdatatest.wxss";

init6.png

 

操作步骤七:

不校验合法域名:

小程序开发者工具--》右上角”详情“--》项目设置tab --》勾选”不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书“

init7.png

目录结构:

--images 
--lib 
--pages 
--utils 
--app.js 
--app.json 
--app.wxss 
--project.config.json

init8.png

 

 

 

 

 

 

 

 

 

 

Back to top