代码
<input type="text" x-webkit-speech id="d1" lang="zh-CN" x-webkit-grammar="bUIltin:search" onwebkitspeechchange="foo()"/>
<script>
function foo(){
var n = document.getElementById("d1").value
if(n == "百度"){
window.location.href = "http://www.baidu.com"
}else{
window.location.href = "http://www.ahsdxy.ah.edu.cn/"
}
}
</script>
说明:
1)x-webkit-speech:语音识别支持属性
<input type="text" x-webkit-speech/>
2)lang:设置语言种类,比如汉语:lang="ch-CN"
<input type="text" x-webkit-speech lang="ch-CN"/>
3) x-webkit-grammar :语音输入语法
比如: x-webkit-grammar="bUIltin:search"使得语音输入的内容尽量靠近搜索内容,去除多余的字符,例如“的、啦”等
<input type="text" x-webkit-speech lang="ch-CN" x-webkit-grammar="bUIltin:search"/>
4) onwebkitspeechchange :语音输入事件,当语音改变时触发
比如:onwebkitspeechchange="foo()" ,当停止语音时,会触发js中的foo()函数
<input type="text" x-webkit-speech lang="ch-CN" x-webkit-grammar="bUIltin:search"
onwebkitspeechchange="foo()"/>
此时,需要写相应的JavaScript函数foo()
<script>
function foo(){
//函数体,如下:
alert(8)
}
</script>
原理:主流的大词汇量语音识别系统多采用统计模式识别技术。典型的基于统计模式识别方法的 语音识别系统由以下几个基本模块所构成:
信号处理及特征提取模块。该模块的主要任务是从输入信号中提取特征,供声学模型处理。同时,它一般也包括了一些信号处理技术,以尽可能降低环境噪声、信道、说话人等因素对特征造成的影响。
统计声学模型。典型系统多采用基于一阶隐马尔科夫模型进行建模。
发音词典。发音词典包含系统所能处理的词汇集及其发音。发音词典实际提供了声学模型建模单元与语言模型建模单元间的映射。
语言模型。语言模型对系统所针对的语言进行建模。理论上,包括正则语言,上下文无关文法在内的各种语言模型都可以作为语言模型,但目前各种系统普遍采用的还是基于统计的N元文法及其变体。
解码器。解码器是语音识别系统的核心之一,其任务是对输入的信号,根据声学、语言模型及词典,寻找能够以最大概率输出该信号的词串。
以上是语音识别的各个组成部分,而离线的语音识别,应该也是基于以上的原理,而且在手机内部内置了语音的字典,从而实现无线的识别
如:
1、浏览器提供的功能,比如chrome,如果没有提供的话就不能用。
2、具体实现的细节主要是chrome的离线语音识别引擎。
3、调用系统api,浏览器是个app,可以访问所有底层的api,只要系统提供就可以实现。
相关代码如下:
<!DOCTYPE HTML><html><head><title>简单通过html5实现语音识别</title><script>if (document.createElement(“input”).webkitSpeech === undefined) { alert(“Speech input is not supported in your browser.”)} </script></head><body>
<input type=”text” name=”value_2″ x-webkit-speech/>
</body></html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)