语音识别

来源:互联网 发布:python 正则 匹配多个 编辑:程序博客网 时间:2024/04/28 00:04
支持类型 支持类型 说明 谷歌 多种 付费 百度 andriod/ios/REST API等 api限制较多,特定的支持格式 腾讯 andriod/ios 只支持两种 讯飞 andriod/ios/html5等 1、h5可尝试下 2、有完善的数据统计 微信 andriod/ios/js 局限性:网页开发使用js-sdk,只支持在微信中打开。 搜狗 andriod/ios 只支持两种

一、基本介绍:

语音识别:目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。
常见功能语音识别,语音合成

二、其他说明:

在实际应用的情况,最好认证下。
andriod/ios的sdk包一般需要审核下。

三、调用方式

api:传送语音文件,进行识别,目前只有百度
h5:文档全,但是基于node.js,可能上手有点难
sdk:一般离线识别:支持安卓和苹果
微信:使用简单方便,但是只能在微信中使用

四、详细介绍

1、微信JS-SDK:

网页版:只能在微信中使用

wx.translateVoice({   localId: '', // 需要识别的音频的本地Id,由录音相关接口获得    isShowProgressTips: 1, // 默认为1,显示进度提示    success: function (res) {        alert(res.translateResult); // 语音识别的结果    }});

这里写图片描述

2、微信公众号:(直接开启即可)

这里写图片描述
可以直接在接收时识别
腾讯有个纠错的功能,所以有很高的准确性。

3、百度语音http://yuyin.baidu.com/

主要介绍下rest api

支持语音格式:原始 PCM 的录音参数必须符合 8k/16k 采样率、16bit 位深、单声道,支持的压缩格式有:pcm(不压缩)、wav、opus、amr、x-flac。

Post相关参数即可:

这里写图片描述

4、讯飞html5

采用 WEBSOCKET 通信协议,后端是基于 NODEJS 的开发框架,云和端均使用 JAVASCRIPT 实现。
兼容性差
pc试了几个,仅火狐是可以的。
这里写图片描述

备注:讯飞api:仅支持pcm

5、Html5录音:

简介:

关于录音主要是使用web audio api,前提是需要浏览器支持: navigator.getUserMedia.
通过这个来获取用户的输入设备,成功之后使用webkitAudioContext来创建音频实例。
在录音结束之后,将录音的流导出为文件,上传即可。

说明:
录音使用:recorder.js
如果使用百度的api需要进行压缩,处理。
参考文章:
http://www.cnblogs.com/blqw/p/3782420.html

参考例子:

例1:
http://github.com/veizz/speech_io
例2:
参考讯飞开放平台给的demo

遇到的问题:

1、谷歌的好像必须是https
2、测试了部分浏览器都不支持
ios:qq浏览器,uc浏览器
andriod:谷歌浏览器。
查资料发现谷歌浏览器是支持,可能是原因必须使用https
测试结果是支持navigator.getUserMedia,但是调用失败。

测试成功的是:火狐浏览器

其他参考地址:

1、http://www.cnblogs.com/jz1108/archive/2012/05/21/2511447.html
2、https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html
3、http://codeartists.com/post/36746402258/how-to-record-audio-in-chrome-with-native-html5-apis
4、 http://stackoverflow.com/questions/13076272/how-do-i-give-webkitgetusermedia-permission-in-a-chrome-extension-popup-window
5、http://www.cnblogs.com/blqw/p/3782420.html
http://ibillxia.github.io/blog/2013/05/22/audio-signal-processing-time-domain-Voice-Activity-Detection/
6、http://stackoverflow.com/questions/13333378/how-can-javascript-upload-a-blob
7、http://www.web-tinker.com/article/20498.html

0 0