HTML在浏览器上用javascript实现语音输入和语义理解功能(speex压缩)除了语音识别功能,更强大的支持是语义理解功能。Android和iOS平台都有样例demo供您下载。语音在线有声读物demo:传输语音计费demo:在web上传输,使用基于javascript的olami开放平台sdk也可以实现语音识别的语义理解。本文实现了这样一个小程序。Web客户端使用麦克风在本地录音,录音数据用speex压缩,然后向服务器发送跨域请求,返回并显示识别出的语音和语义字符串。上图第一张:下图刚加载时,在录制前点击界面上的开始录制按钮,然后自动检测一句后的结尾结尾,然后压缩上传到服务器识别,并显示从服务器获取的识别结果显示在界面上。本例中的口语是:“我想听三国演义这本书”,使用的是android平台上听书app建立的语法。返回的json字符串如下:{"data":{"asr":{"result":"我想听三国演义","speech_status":0,"final":true,"status":0},"nli":[{"desc_obj":{"result":"正在搜索,请稍候","status":0},"semantic":[{"app":"musiccontrol","input":"我想听三国演义","slots":[{"name":"songname","value":"三国演义"}],"modifier":["play"],"customer":"58df512384ae11f0bb7b487e"}],"type":"musiccontrol"}]},"status":"ok"}通过解析这个json,可以得到app类型,songname(查询书名),修饰符是play,behavior是播放这个json。语法当然是自定义的,可以解析json字符串,得到程序需要的字段,用于相应的操作,从而实现语义理解功能。olami开放平台语法编写介绍先来看看实现的代码。使用eclipse构建J2EE项目WebVoiceRecognize。第一次搭建可以参考以下网址:发送下面是工程目录结构。发布后,网页可以在chrome或QQ浏览器中打开运行。.下面介绍voiceRecognize.html文件,其他都是min.js,知道怎么调用就可以了。
