nuanceSpeechRecognizer

来自于:开发者

概述

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
  • 配置示例:

    
             <?xml version="1.0" encoding="UTF-8" ?>  
             <security>  
          <item name="nuance_appkey" value="***************"/
          <item name="nuance_appid" value="**************"/>
          <item name="nuance_host" value="**********"/>
          <item name="nuance_port" value="*********"/>
          </security>
    
  • 字段描述:

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

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

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

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

createNuance

初始化模块nuance

createNuance(callback(ret, err))

callback(ret, err)

ret:

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

    
      {
          status: true      //布尔型;true||false
      }
    

err:

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

      {
          code: *     //数字类型;
            message: ** //错误描述
      }
    

示例代码

        var nuance = api.require('nuanceSpeechRecognizer');
        nuance.createNuance(function(ret, err){
        if(ret.status){
            alert("初始化成功");
        }else{
            alert(JSON.stringify(err));
        }
    });

可用性

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对象
  • 内部字段:

      {
          status: true      //布尔型;true||false
      }
    

err:

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

      {
          code: *     //数字类型;
          message: ** //错误描述
      }
    

示例代码

```js
var nuance = api.require('nuanceSpeechRecognizer');
nuance.createNuance();
nuance.startTransaction({"language":"cmn-CHN"}, 
    function(ret,err) {
        alert( JSON.stringify( ret ));
        });
```

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

stopRecording

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

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

callback(ret, err)

ret:

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

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

err:

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

      {
          code: *     //数字类型;
          message: ** //错误描述
      }
    

示例代码

```js
var nuance;
function start(){
    nuance = api.require('nuanceSpeechRecognizer');
    nuance.createNuance();
    nuance.startTransaction({"language":"cmn-CHN"}, 
        function(ret,err) {
           alert( JSON.stringify( ret ));
            });
}
//说完后
function stop(){
    nuance.stopRecording({}, function(ret) {
        if( ret ){
            alert( JSON.stringify( ret ) );
        }
});
}
```

可用性

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对象
  • 内部字段:

      {
          status: true      //布尔型;true||false
      }
    

err:

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

      {
          code: *     //数字类型;
          message: ** //错误描述
      }
    

示例代码

```js
var nuance;
function start(){
    nuance = api.require('nuanceSpeechRecognizer');
    nuance.createNuance();
    nuance.startSpeech({"language":"cmn-CHN","text":"你好"}, 
        function(ret,err) {
           alert( JSON.stringify( ret ));
            });
}
```

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

destroyNuance

销毁模块nuance

destroyNuance()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本