如何实现HTML5语音识别功能

如何实现HTML5语音识别功能,第1张

HTML5之语音识别实例

代码

<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>

关键词: 录音时长 音频格式 支持平台 压缩格式 音频高保真 普通话 英语 方言 文件大小 合成文本长度 语音识别 语音合成 单声道(支持)语言自训练平台

短语音识别极速版(针对1分钟内,手机版)

短语音识别标准版(针对1分钟内) 实时语音识别 音频文件转写

注意点:

如果是小于60s的录音文件,请选择rest api

如果是实时录音,请选择实时语音识别api

名词解释:

短语音识别极速版:将60秒以内的完整音频文件识别为文字,专有GPU服务集群,识别响应速度较标准版API提升2倍及识别准确率提升15%。适用于近场短语音交互,如手机语音搜索、聊天输入等场景。 支持上传完整的录音文件,录音文件时长不超过60秒。实时返回识别结果。

短语音识别标准版:百度短语音识别可以将 60 秒以下的音频识别为文字。适用于语音对话、语音控制、语音输入等场景。

实时语音识别:可以将音频流实时识别为文字,并返回每句话的开始和结束时间,适用于长句语音输入、音视频字幕、会议等场景。

音频文件转写:音频文件转写接口可以将大批量的音频文件异步转写为文字。适合批量录音质检、会议内容总结、录音内容分析等场景,一般12小时内返回识别接口。接入步骤如下:

应用详情:

换取 Token(请求语音接口需要鉴权,用分配的 Key 替换地址中的参数)

https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=API Key&client_secret=Secert Key

个人申请的先需领取免费的额度:

http://tsn.baidu.com/text2audio (rest-api-tts)Text To Speech 语音合成的一个接口请求的参数解释:

http://vop.baidu.com/server_api (rest-api-asr) Automatic Speech Recognition 语音识别的一个接口文档请求的参数解释(涉及到语音文件上传,有用postman测试成功)--- https://ai.baidu.com/ai-doc/SPEECH/ek38lxj1u#%E8%AF%86%E5%88%AB%E6%A8%A1%E5%9E%8Bdev_pid%E5%8F%82%E6%95%B0

1.json方式上传的参数:

百度语音文档:

https://ai.baidu.com/ai-doc/SPEECH/Hk38lxo4u // 一个免费额度的规则

https://github.com/Baidu-AIP/speech-demo

https://ai.baidu.com/ai-doc/SPEECH/Vk38lxily

https://cloud.baidu.com/doc/SPEECH/s/Ek39uxgre语音识别的文档

https://cloud.baidu.com/doc/SPEECH/index.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7175634.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存