nuanceSpeechRecognizer

来自于:开发者

createNuance startTransaction stopRecording startSpeech destroyNuance

概述

Nuance简介
Nuance公司(Nuance Communications, Inc. (NASDAQ: NUAN)) 是最大的专门从事语音识别软件、图像处理软件及输入法软件研发、销售的公司。目前世界上最先进的电脑语音识别软件Naturally Speaking就出自于Nuance公司。用户对着麦克风说话,屏幕上就会显示出说话的内容。

nuanceSpeechRecognizer模块概述
本模块nuanceSpeechRecognizer 封装了Nuance的SDK,集成了语音识别和文字转语音输出功能;支持全世界大部分的语言识别;使用之前须从Nuance官网申请账号并创建应用(https://developer.nuance.com/public/index.php/),获取 appkey 、appid、host和port。

现提供一个测试账户地址:https://github.com/goheavenz/nuanceSpeechRecognizer/,复制xml到配置文件key.xml即可使用,此xml只作为测试使用,需要正式请到官网进行注册。

使用此模块之前需配置key.xml文件,配置完毕,需要放在 widget/res 文件目录下,需通过云端编译生效(编译时会自动加密key.xml文件,保证安全性),配置方法如下:

  • 参数:nuance_appkey、nuance_appid、nuance_host、nuance_port
  • 配置示例:

    1. <?xml version="1.0" encoding="UTF-8" ?>
    2. <security>
    3. <item name="nuance_appkey" value="***************"/
    4. <item name="nuance_appid" value="**************"/>
    5. <item name="nuance_host" value="**********"/>
    6. <item name="nuance_port" value="*********"/>
    7. </security>
  • 字段描述:

    nuance_appkey:(必须配置)用于验证账户app的应用key

    nuance_appid:(必须配置)从nuance平台获取的 appid。

    nuance_host:(必须配置)识别请求地址。

    nuance_port:(必须配置)识别请求端口。

createNuance

初始化模块nuance

createNuance(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. status: true //布尔型;true||false
    3. }

err:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. code: * //数字类型;
    3. message: ** //错误描述
    4. }

示例代码

  1. var nuance = api.require('nuanceSpeechRecognizer');
  2. nuance.createNuance(function(ret, err){
  3. if(ret.status){
  4. alert("初始化成功");
  5. }else{
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startTransaction

开始语音识别,更多语言请查询(ASR):https://developer.nuance.com/public/index.php?task=supportedLanguages/

startTransaction({params}, callback(ret, err))

params

language:

  • 类型:字符串
  • 描述:(可选项)识别语言
  • 默认值:eng-USA

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. status: true //布尔型;true||false
    3. }

err:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. code: * //数字类型;
    3. message: ** //错误描述
    4. }

示例代码

  1. ```js
  2. var nuance = api.require('nuanceSpeechRecognizer');
  3. nuance.createNuance();
  4. nuance.startTransaction({"language":"cmn-CHN"},
  5. function(ret,err) {
  6. alert( JSON.stringify( ret ));
  7. });
  8. ```

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopRecording

停止识别,把录音上传到服务器进行验证,验证成功后返回识别文字

stopRecording({}, callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. text: '识别结果' //字符串;返回识别结果
    3. }

err:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. code: * //数字类型;
    3. message: ** //错误描述
    4. }

示例代码

  1. ```js
  2. var nuance;
  3. function start(){
  4. nuance = api.require('nuanceSpeechRecognizer');
  5. nuance.createNuance();
  6. nuance.startTransaction({"language":"cmn-CHN"},
  7. function(ret,err) {
  8. alert( JSON.stringify( ret ));
  9. });
  10. }
  11. //说完后
  12. function stop(){
  13. nuance.stopRecording({}, function(ret) {
  14. if( ret ){
  15. alert( JSON.stringify( ret ) );
  16. }
  17. });
  18. }
  19. ```

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

startSpeech

根据文字转出为语音进行播放,更多语言请查询(TTS):https://developer.nuance.com/public/index.php?task=supportedLanguages/

startSpeech({param}, callback(ret, err))

params

language:

  • 类型:字符串
  • 描述:识别语言
  • 默认值:eng-USA

text:

  • 类型:字符串
  • 描述:所需要播放的文字

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. status: true //布尔型;true||false
    3. }

err:

  • 类型:JSON对象
  • 内部字段:

    1. {
    2. code: * //数字类型;
    3. message: ** //错误描述
    4. }

示例代码

  1. ```js
  2. var nuance;
  3. function start(){
  4. nuance = api.require('nuanceSpeechRecognizer');
  5. nuance.createNuance();
  6. nuance.startSpeech({"language":"cmn-CHN","text":"你好"},
  7. function(ret,err) {
  8. alert( JSON.stringify( ret ));
  9. });
  10. }
  11. ```

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

destroyNuance

销毁模块nuance

destroyNuance()

示例代码

  1. var nuance = api.require('nuanceSpeechRecognizer');
  2. nuance.destroyNuance();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本