html5网页录音和语音识别
背景
在输入方式上,人们总是在追寻一种更高效,门槛更低的方式,来降低用户使用产品的学习成本。语音输入也是一种尝试较多的方式,有些直接使用语音(如微信语音聊天),有些需要将语音转化为文字(语音识别)。接下来的内容是一次在pc浏览器上进行语音识别输入的一种尝试。 ### 实现 调研阶段,chrome是支持语音识别的。它支持了一系列的接口,可以进行语音识别。参考HTML5的Speech API相关标准的现状
但是使用这些接口有一些困难,连不上服务器。此路不通。
那么,可以使用笨点儿的方法,先录音再上传到指定语音识别服务器,进行语音识别。这里使用的是百度语音开放平台(http://yuyin.baidu.com/)的语音识别接口,支持8k,16k的单声道的wav文件,或者pcm。尝试了8k的识别效果,跟16k的差了好远。就使用了16k,单声道wav文件,上传到语音识别服务器。
关于录音,主要步骤就是使用navigator.getUserMedia来获取用户的输入设备,成功之后使用webkitAudioContext来创建音频实例。在录音结束之后,将录音的流导出为文件,上传即可。录音的可以参考这个recorder.js,只要稍微做一下修改就可以应用。其中需要处理音频采样率,默认的采样率为44.1k,这里需要做一个转换,具体方法可以参考HTML5网页录音和压缩,边猜边做
在浏览器扩展中,没有明确的方式去获取用户对录音的授权。可以在扩展的optionpage里面申请授权,之后在扩展的所有页面都有权限了。在较新的chrome浏览器里测过可以用。参考这里:How do I give webkitGetUserMedia permission in a Chrome Extension popup window
demo
这里有一个chrome扩展的demo,实现了通过语音采样,生成wav文件上传到语音识别服务器的功能。其中做了一个比较简单的端点检测,通过音量的大小来确定输入的完成。
http://github.com/veizz/speec...
一些思考 * demo其实是用来参与公司举办的一届hackathon比赛,主要实现了语音在线识别,文字播报等功能。在后期还有想法加入了一些自然语音处理的功能,可以识别一些输入指令。如『打开百度首页』、『上淘宝买衣服』等功能。会打开指定网站,自动填写输入词,执行搜索。还可以做一些小功能,比如说语音输入『查询天气』、『买电影票』等常用功能,在popup的窗口里面打开等。
一切的想法都看起来很美好,但在大家都熟悉了打字输入的今天,还有多少人愿意使用语音识别做为输入方式?而对于不会打字的人,能否使用标准的普通话来进行语音识别的输入? * 采样率的处理是通过js的文件操作来实现的。html5支持的fileapi强大如此,怪不得有人用js做视频解码器,不考虑性能的话,看起来很美好啊
参考
http://www.cnblogs.com/jz1108...
https://dvcs.w3.org/hg/speech...
http://codeartists.com/post/3...
http://stackoverflow.com/ques...
http://www.cnblogs.com/blqw/p...
http://ibillxia.github.io/blo...
http://stackoverflow.com/ques...
http://www.web-tinker.com/art...
html5网页录音和语音识别的更多相关文章
- HTML5网页录音和压缩,边猜边做..(附源码)
宣传一下自己的qq群: (暗号:C#交流) 欢迎喜欢C#,热爱C#,正在学习C#,准备学习C#的朋友来这里互相学习交流,共同进步 群刚建,人不多,但是都是真正热爱C#的 我也是热爱C#的 希望大家可以 ...
- HTML5网页录音和上传到服务器,支持PC、Android,支持IOS微信
准备做一个网页版聊天界面,表情啊.图片啊.上传文件啊都应该要有,视频就算了,语音还是要的. 本文记录的是在网页上用GitHub上的Recorder进行在线录音和上传到服务器,前几天升了一下级,以后有时 ...
- html5网页录音
demo https://xiangyuecn.github.io/Recorder/
- 20款响应式的 HTML5 网页模板【免费下载】
下面的列表集合了20款响应式的 HTML5 网页模板,这些专业的模板能够让你的网站吸引很多的访客.除了好看的外观,HTML5 模板吸引大家的另一个原因是由于其响应性和流动性.赶紧来看看. 您可能感兴趣 ...
- 免费的HTML5连载来了《HTML5网页开发实例详解》连载(二)
最近新浪.百度.腾讯.京东.大众点评.淘宝等流行的网站都加大了招聘HTML5的力度,HTML5开发人员成了抢手货,本次连载的是由大众点评前端工程师和一淘网前端工程师基情奉献的<HTML5网页开发 ...
- 浅谈html5网页内嵌视频
更好的阅读体验:浅谈html5网页内嵌视频 如今在这个特殊的时代下:flash将死未死,微软和IE的历史问题,html5标准未定,苹果和谷歌的闭源和开源之争,移动互联网的大势所趋,浏览器各自为战... ...
- html5网页动画总结--jQuery旋转插件jqueryrotate
CSS3 提供了多种变形效果,比如矩阵变形.位移.缩放.旋转和倾斜等等,让页面更加生动活泼有趣,不再一动不动.然后 IE10 以下版本的浏览器不支持 CSS3 变形,虽然 IE 有私有属性滤镜(fil ...
- 免费的HTML5连载来了《HTML5网页开发实例详解》连载(六)媒体查询
响应式设计的另一个重要技术手段是媒体查询.如果只是简单的设计一个流式布局系统,那么可以保证每个网格按比例的放大和缩小,但有可能会使得在小屏幕下(如手机设备)网格太小而严重影响阅读,这样的设计称不上响应 ...
- 免费的HTML5连载来了《HTML5网页开发实例详解》连载(五)图解通过Fiddler加速开发
Fiddler是Windows底下最强大的请求代理调试工具,监控任何浏览器的HTTP/HTTPS流量,窜改客户端请求和服务器响应,解密HTTPS Web会话,图4.44为Fiddler原理示意图. 图 ...
随机推荐
- WPS:添加公式后,行间距变宽的解决方法
找到公式所属段落的样式,右键修改样式 左下角'格式'中选择'段落' 段落间距设置为0,不要勾选与文档网格对齐
- 使用resize浏览器窗口大小改变事件容易出现的问题
1.使用jQuery的resize时间的时候发现每次改变浏览器窗口大小事resize事件会执行两次, 解决办法 var resizeTimer=null; $(window).resize(funct ...
- CentOS8安装Geant4笔记(一):Geant4介绍、编译和安装
前言 在服务器CentOS8.2上安装geant4软件. GEANT4 介绍 Geant4 是一个用于模拟粒子穿过物质的工具包.其应用领域包括高能.核物理和加速器物理,以及医学和空间科学研 ...
- deepin 字符集安装
deepin字符集安装 编辑 目录介绍 /usr/share/i18n/charmaps 这个目录下存放了该Linux操作系统可用字符集的安装包,如果你的操作系统上没有安装某个字符集可以到这个目录下寻 ...
- mysql中MyISAM与InooDB存储引擎的区别
MyISAM存储引擎特点 不支持事务 表级锁定 读写相互阻塞,写入不能读,读时不能写 只缓存索引 不支持外键约束 不支持聚簇索引 读取数据较快,占用资源较少 不支持MVCC(多版本并发控制机制)高并发 ...
- 31 面向对象编程 接口 普通类:只有具体实现 声明类的关键字是class,声明接口关键字是interface 接口的作用
接口 概念 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有! 接口:只有规范!自己无法写方法!专业的约束!约束和实现分离:面向接口编程~ 接口就是规范,定义的是一组规则,体现了现实世界中 ...
- 关于Stream系列实战
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- 三大主流软件负载均衡器对比(LVS & Nginx & Haproxy)
LVS:1.抗负载能力强.抗负载能力强.性能高,能达到F5硬件的60%:对内存和cpu资源消耗比较低2.工作在网络4层,通过vrrp协议转发(仅作分发之用),具体的流量由linux内核处理,因此没有流 ...
- ZYNQ 驱动初始化套路--UART串口
@ 目录 UART 串口 GPIO之 MIO控制 LED 套路如下: 1.定义硬件信息结构体 namePs_Config *Config; 2.定义驱动信息结构体 namePs name_Ps; 3. ...
- 10ISE14.7和modelsim10.5关联编译库
今天准备在ISE14.7中调用PLL的IP核,搞一下时钟的分频和倍频.可在我做好pll的IP核后,我直接用ise生成了一个仿真文件,只需要修改下例化模块名和加一个时钟就行勒. 问题:但怎么在ISE14 ...