背景

在输入方式上,人们总是在追寻一种更高效,门槛更低的方式,来降低用户使用产品的学习成本。语音输入也是一种尝试较多的方式,有些直接使用语音(如微信语音聊天),有些需要将语音转化为文字(语音识别)。接下来的内容是一次在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网页录音和语音识别的更多相关文章

  1. HTML5网页录音和压缩,边猜边做..(附源码)

    宣传一下自己的qq群: (暗号:C#交流) 欢迎喜欢C#,热爱C#,正在学习C#,准备学习C#的朋友来这里互相学习交流,共同进步 群刚建,人不多,但是都是真正热爱C#的 我也是热爱C#的 希望大家可以 ...

  2. HTML5网页录音和上传到服务器,支持PC、Android,支持IOS微信

    准备做一个网页版聊天界面,表情啊.图片啊.上传文件啊都应该要有,视频就算了,语音还是要的. 本文记录的是在网页上用GitHub上的Recorder进行在线录音和上传到服务器,前几天升了一下级,以后有时 ...

  3. html5网页录音

    demo https://xiangyuecn.github.io/Recorder/

  4. 20款响应式的 HTML5 网页模板【免费下载】

    下面的列表集合了20款响应式的 HTML5 网页模板,这些专业的模板能够让你的网站吸引很多的访客.除了好看的外观,HTML5 模板吸引大家的另一个原因是由于其响应性和流动性.赶紧来看看. 您可能感兴趣 ...

  5. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(二)

    最近新浪.百度.腾讯.京东.大众点评.淘宝等流行的网站都加大了招聘HTML5的力度,HTML5开发人员成了抢手货,本次连载的是由大众点评前端工程师和一淘网前端工程师基情奉献的<HTML5网页开发 ...

  6. 浅谈html5网页内嵌视频

    更好的阅读体验:浅谈html5网页内嵌视频 如今在这个特殊的时代下:flash将死未死,微软和IE的历史问题,html5标准未定,苹果和谷歌的闭源和开源之争,移动互联网的大势所趋,浏览器各自为战... ...

  7. html5网页动画总结--jQuery旋转插件jqueryrotate

    CSS3 提供了多种变形效果,比如矩阵变形.位移.缩放.旋转和倾斜等等,让页面更加生动活泼有趣,不再一动不动.然后 IE10 以下版本的浏览器不支持 CSS3 变形,虽然 IE 有私有属性滤镜(fil ...

  8. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(六)媒体查询

    响应式设计的另一个重要技术手段是媒体查询.如果只是简单的设计一个流式布局系统,那么可以保证每个网格按比例的放大和缩小,但有可能会使得在小屏幕下(如手机设备)网格太小而严重影响阅读,这样的设计称不上响应 ...

  9. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(五)图解通过Fiddler加速开发

    Fiddler是Windows底下最强大的请求代理调试工具,监控任何浏览器的HTTP/HTTPS流量,窜改客户端请求和服务器响应,解密HTTPS Web会话,图4.44为Fiddler原理示意图. 图 ...

随机推荐

  1. PhpStudy代码执行后门

    0x00 概述 只需要两个参数 Accept-Encoding: gzip,deflate Accept-Charset: Base64编码(PHP代码) 0x01 利用代码 加群可以下载:87369 ...

  2. 数据分析logistic回归与时间序列

    logistics回归 1.影响关系研究是所有研究中最为常见的. 2.当y是定量数据时,线性回归可以用来分析影响关系. 3.如果现在想对某件事情发生的概率进行预估,比如一件衣服的是否有人想购买? 这里 ...

  3. 一个更好用的.NET Core程序瘦身器,减小程序尺寸到1/3

    一.为什么要开发.NET Core程序瘦身器? .NET Core具有[剪裁未使用的代码]的功能,但是由于它是使用静态分析来实现的,因此它的剪裁效果并不是最优的.它有如下两个缺点: 不支持Window ...

  4. Vue基础知识的巩固与学习

    生命周期的解析和应用: Vue 实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom→渲染.更新→渲染.卸载等一系列过程,我们称这是 Vue 的生命周期.通俗说就是 Vue 实 ...

  5. Laravel-Auth认证

    1.建立数据表 admins 2.找到config下的auth.php 文件,加入如下代码 <?php return [ /* |-------------------------------- ...

  6. 字节一面:go的协程相比线程,轻量在哪?

    1. 用户态和内核态 Linux整个体系分为用户态和内核态(或者叫用户空间和内核空间), 那内核态究竟是什么呢? 本质上我们所说的内核态, 它是一种特殊的软件程序,特殊在哪? 统筹计算机的硬件资源,例 ...

  7. Scipy的stats模块包含了多种概率分布的随机变量,随机变量分为连续和离散两种。+忽略程序中警告信息+np.newaxis解释

  8. 『现学现忘』Docker基础 — 24、Docker图形化管理工具Portainer

    目录 1.Portainer介绍 2.Portainer安装启动 3.Portainer初始化配置 4.Portainer汉化 1.Portainer介绍 (1)Portainer 是一款轻量级的图形 ...

  9. 2022年官网下安装Studio 3T最全版与官网查阅方法(无需注册下载版)

    目录 一.环境 1.构建工具(参考工具部署方式) 2.保持启动 二.下载安装 1.百度搜索,或者访问官网:https://robomongo.org/,选择下载进入下载页. 2.进入下载页,选择如下下 ...

  10. 使用flask进行mock接口

    在测试日常过程中,我们经常会遇到因为环境问题,或者是因为上下游,前后端开发进度不一,提测时间不一等情况.这时候我们可以通过mock的方式去完成一些操作.今天给大家分享一个通过flask去mock接口, ...