小探移动设备上的语音识别

一个典型的语音识别系统 一、语音识别技术     语音识别技术,广泛来说是指语意识别和声纹识别;从狭义上来说指语音语义的理解识别,也称为自动语音识别(ASR)。其关键技术包括选择识别单元、语音端点检测、特征参数提取、声学模型及语音模型的建立。语音识别技术目前在桌面系统、智能手机、导航设备等嵌入式领域均有一定程度的应用。其主要技术难题是识别系统的适应性较差、受背景噪声影响较大,未来的发展方向应是无限词汇量 阅读详情

最近移动平台上有关语音识别的应用非常火爆,国外有siri和google voice search,国内有像挖财和UC浏览器等推出的语音输入和控制功能。今天也小试了吧,感觉这类技术已到了大规模应用的阶段。

以前的手机上也有类似语音控制的功能,记得最早使用的Nokia 6630就有一个专门语音指令输入的按钮,但这类应用非常简单,只能是有限的指令匹配。而现在,由于云的加入,使得语音识别非常的准确,有让人吃惊的效果,不信的人可以试试挖财上的语音识别。所以现在的语音识别的应用基本上都是在远端的云里完成,移动设备仅仅只是完成语音数据的采集和发送的功能。

于是乎,我就对挖财这类应用是如何做到这么高的识别率产生兴趣,这才发现,它是基于讯飞(http://www.voicecloud.cn)来完成语音识别的,它基于讯飞提供的API,把语音数据发过去,讯飞把识别后的文字返回。既然如此,我们也能基于讯飞做一些有关语音识别的应用的。正好讯飞就是这种提供接口的平台类公司,对开发者的支持还不错,下午花了不到一个小时时间既然可以在手机上搞出一个不错的语音识别应用。

1)申请开发者帐号

在http://dev.voicecloud.cn/上申请一个开发者帐号,它会给你一个APP ID,这个审批过程很快,不到10分钟

2)下载SDK

http://dev.voicecloud.cn/download.php?vt=1

我下载的是android SDK

3)编译和调试demo

在下载下来的SDK有个sample目录,下面有个MSCDemo的应用,直接把它导入到eclipse里

编译时有错,把有错那行删除即可。

由于还没解决在android模拟器里无法语音输入的问题,我只好在真机上调试。

4)运行demo

简单试用后,发现效果确实不错。

语音输入提示:

对句子的识别:

对一些不良用语的转义(我说“他妈的”):

蛮有意思的,可见讯飞后台有个很强大的语料库,具备一定的人工智能能力。

不过,还没找到讯飞是如何收费的信息,如果要商用的话,得好好考察一下。以后有时间,可以研究一下这个语音识别的云端是如何实现的,争取能自己搭建一个小型的云服务。




探索WebKit内核(一)------ 菜鸟起步 为什么搞WebKit现在研究WebKit的人越来越多,俺不能免俗,也加入其中。WebKit的火爆也是得益于浏览器和WebOS的混战,随着Palm WebOS, Chrome OS, Firefox OS和Ubuntu Mobile相继发布,WebOS逐渐成为Android和IOS之外的第三世界,而WebKit也随之从浏览器内核晋升为Mobile OS的内核,除了IE和Firefox之外,市面上叫得 阅读详情

相关推荐

在AMD的WIN7上搭建IOS开发环境(mac 10.6.8 + xcode 4.2)

最近需要开发一个Mobile应用的IOS版本,需要搭建IOS开发环境,可在LP那里申请预算买Mac本失败,只好采用虚拟化的方式先搭Mac操作系统,然后再装xcode+IOS SDK,在这里也深深的抱怨一下Apple的封闭,把IOS的开发环境和Mac强绑定,更可恶的是版本也是严格匹配,要不是任务在身鬼他妈的想碰Apple这一套,不说废话,这里把整个搭建过程记录下来,免得以后忘记,也方便其他兄弟少走弯

走向架构师之路 4万+

“SenseVoice“:智能语音识别的未来已来

"SenseVoice"不仅是一个技术项目,它是智能语音技术发展的一个缩影。随着技术的不断进步和开源社区的共同努力,我们期待"SenseVoice"将为语音识别领域带来更多的创新和突破。

步子哥的博客 2496

红外避障模块介绍

该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接回输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3v-5v。该模块测距离2~~30cm,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;1.VCC外接3.3v-5v电压(可以直接与5v单片机和3.3v单片机相连).

weixin_46251230的博客 2万+

搜狗语音云开发入门--移动端轻松添加高大上的语音识别

语音服务神秘难懂,现在只需简单调用,哪里不会调哪里,从此妈妈再也不用担心我的学习了,so easy!

干勾鱼的优快云博客 8453

别让IO口保护二极管坑了你!实测讲解单片机电流倒灌的三种典型症状与防护

本文深入解析单片机电流倒灌的三大典型症状与防护方案,重点分析STM32等单片机在ADC采样异常、系统假死和通信速率异常中的表现。通过实测数据和电路设计建议,提供从基础二极管隔离到专业隔离器件的分级防护策略,帮助工程师有效预防和解决电流倒灌问题。

weixin_29280219的博客 344

Linux云服务器上搭建《僵尸毁灭工程》私服全流程指南(避坑版)

本文详细介绍了在Linux云服务器上搭建《僵尸毁灭工程》私服的全流程指南,包括环境准备、SteamCMD安装、游戏服务器部署、内存优化配置及高级调优技巧。特别针对常见问题提供解决方案,帮助玩家快速搭建稳定的私服环境。

solidity8miner的博客 602

5分钟弄懂语音识别技术原理

文/张俊博知乎链接:https://www.zhihu.com/question/20398418/answer/18080841简要给大家介绍一下语音怎么变文字的吧。希望这个介绍能让所有同学看懂。首先,我们知道声音实际上是一种波。常见的mp3、wmv等格式都是压缩格式,必须转成非压缩的纯波形文件来处理,比如Windows PCM文件,也就是俗称的wav文件。wav文件里存储的除了一个文件头以外,...

郁闷之春的专栏 4万+

别再只盯着ADC了!手把手教你拆解HLW8032模块的隔离与非隔离采样电路(附BOM清单)

本文深入解析HLW8032模块的隔离与非隔离采样电路设计,提供工程化决策指南。从安全间距到PCB布局,再到误差分析和BOM清单优化,手把手教你避开常见陷阱,确保产品级设计的可靠性和精度。附实用校准策略和关键元器件选型建议,助力硬件开发者提升设计水平。

weixin_29206669的博客 403

移动开发语音识别

安卓开发之语音识别语音对我们的重要性语音平台讯飞操作步骤注册讯飞获取创建应用下载对应的文件将下载的文件引入安卓工程编写布局代码初始化语音识别函数语音解析语音封装运行 语音对我们的重要性 时代一直进步,现在很多技术也越来越新颖,语音技术的出现更是很大的释放了我们的双手,即便你有的字不会写但是会说,又或者你开车没法打字,当然我建议开车肯定不能玩手机,你都可以用语音识别功能进行语音识别,翻译成文字。 语音平台 现在各个公司平台技术都相当成熟,提供了各种sdk等,像谷歌,百度,讯飞等,一开始我是打算使用谷歌平台,但

fjnu_se的博客 430

SqlSugar避坑指南:C#操作MySQL时你可能会忽略的5个细节

本文分享了使用C#和SqlSugar框架操作MySQL数据库时的实战避坑指南。针对连接配置、实体映射、查询性能、事务处理等关键环节,深入剖析了5个容易被忽略但至关重要的细节,帮助开发者提升项目稳定性和执行效率,避免常见陷阱。

delta的博客 276

AMDGPU IH(Interrupt Handler)实现分析

AMDGPU IH环形缓冲区机制是显卡驱动中高效处理GPU硬件中断的核心架构。该机制通过环形缓冲区存储中断事件,利用读写指针(wptr/rptr)同步硬件与驱动间的数据交互。硬件写入事件后驱动遍历处理,通过指针掩码实现环形循环,并具备溢出检测和虚拟化环境下的重置保护。其优势在于批量处理降低中断开销,指针同步确保可靠性,支持多队列扩展和SR-IOV虚拟化场景,为GPU中断管理提供了高性能基础架构。

图形/计算GPU的驱动与虚拟化技术分享园地 1639

一种语音识别的自动控制系统及方法与流程

本发明涉及语音识别技术领域,尤其涉及一种语音识别的自动控制系统及方法。背景技术:随着电子技术的不断发展,各种交互式系统都采用了语音交互的方式,语音交互已成为一种重要的人机交互方式,以提高与用户的互动效率和提高趣味性。例如问答系统,先通过语音或图像显示的方式向用户抛出问题,然后用户语音回答。再例如一些展示系统,需要用户发出语音指令来选择展示哪些目录中的内容。在这些场景下都需要对用户的语音进行准确识别...

q6q6q的专栏 1462

Python 爬虫进阶:爬取 APP 数据(Charles 抓包 + Requests)

本文详细介绍了APP数据爬取的完整技术方案。首先通过Charles抓包工具配置HTTPS代理和证书,解析APP通信协议;然后分析请求参数、反爬机制和动态签名生成规则;接着使用Python的Requests库实现模拟请求、分页爬取和数据存储;最后针对证书问题、Token失效等常见问题提供解决方案。文章强调抓包分析、参数逆向和请求模拟三大核心技术,同时提醒开发者需遵守法律法规,合理控制爬取频率。该方案适用于移动端数据采集场景,为无法直接获取网页数据的情况提供了有效解决方案。

2503_91057718的博客 2120

在终端设备上实现语音识别:ARM开源了TensorFlow预训练模型

林鳞 编译整理量子位 出品 | 公众号 QbitAI关键词识别(Keyword Spotting,KWS)是语音识别领域的一个子领域,在用户在智能设备上进行语音交互时起到重要作用。△ 关键词识别pipeline近日,ARM和斯坦福大学合作开源了预训练TensorFlow模型和它们的语音关键词识别代码,并将结果发表在论文Hello Edge: Keyword Spotting on Microcon

量子位 3786

STM32 HAL PWM (占空比) -电机软启动不到位解决

为了避免电机启动电压大造成设备损坏,或者供电不足导致重启,通常在对启动都需要一个PWM进行软启动,下面对PWM电机软启动详细介绍。

weixin_44597885的博客 867

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

支持语音输入的文本框(x-webkit-speech)

相信大家现在在浏览网页时都不难看到一些网站的文本框中带有一个话筒(点击话筒可以语音输入内容到文本框中),下面给大家介绍如何使自己的网站也支持语音输入内容。 现在各大网站都在搜索框中加入了语音输入功能,不过目前只有Chrome 11及以上版本才支持。可以用chrome浏览器在这里试试效果,点击话筒即可: 实现起来也非常简单,为input添加名为 x-webkit-speech 的属性就行

三寿的专栏 2058

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

移动端网页录音上传,服务端智能语音识别

移动端网页录音上传,服务端智能语音识别 最近,看了创业时代的魔镜,想法突如起来,能不能手机发送一条语音,语音上传到后台,自动识别语音的信息,转化为文字,将文字分析,然后回复用户艳学网的资源。 我们的资源以源码为主,一起编集艳学情缘。我们不仅分享源码 http://47.98.237.162/index ,还分享高清的无码 http://47.98.237.162/movie/index 。陆续,我...

2808

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

语音识别ASR技术通识

上午看了一篇文章: 语音识别的痛点在哪,从交互到精准识别如何做? | 硬创公开课 感觉没看懂,下午就看到了团长精心总结的这篇ASR技术通识。给个大大的��!语音识别(Automatic Speech Recognition),一般简称ASR;是将声音转化为文字的过程,相当于人类的耳朵。语音识别原理流程:“输入——编码——解码——输出”1、语音识别,大体可分为“传统”识别方式与“端到端”识别方式,

ZLJ925的博客 3万+

html5移动端调用语音功能

详细病情(支持语音输入识别) 's

qq_27596047的博客 1万+

全神经设备端语音识别器

文 /Johan Schalkwyk,Google语音团队研究员2012年,研究表明,语音识别技术可借助深度学习显著提升准确度,很多产品因此开始采用这项技术,例如...

谷歌开发者 999

人工智能 - 语音识别的技术原理是什么

转自:https://www.zhihu.com/question/20398418/answer/18080841 简要给大家介绍一下语音怎么变文字的吧。需要说明的是,这篇文章为了易读性而牺牲了严谨性,因此文中的很多表述实际上是不准确的。对于有兴趣深入了解的同学,本文的末尾推荐了几份进阶阅读材料。下面我们开始。 首先,我们知道声音实际上是一种波。常见的mp3等格式都是压缩格式,必须转成...

陈哈哈的菜园子 8236

干货:科大讯飞最新语音识别系统和框架深度剖析

雷锋网按;本文作者魏思,博士,科大讯飞研究院副院长,主要研究领域为语音信号处理、模式识别、人工智能等,并拥有多项业界领先的科研成果。张仕良,潘嘉,张致江科大讯飞研究院研究员。刘聪,王智国科大讯飞研究院副院长。责编:周建丁。语音作为最自然便捷的交流方式,一直是人机通信和交互最重要的研究领域之一。自动语音识别(Automatic Speech Recognition,ASR)是实现人机交互尤为关键的技...

q6q6q的专栏 5340

(ICASSP 19)Streaming End-to-end Speech Recognition for Mobile Devices

会议:ICASSP 2019 论文:Streaming End-to-end Speech Recognition for Mobile Devices 作者:Yanzhang He, Tara N. Sainath, Rohit Prabhavalkar, Ian McGraw, Raziel Alvarez, Ding Zhao, David Rybach, Anjuli Kannan, Yo...

Pandade 2097

语音识别技术的发展及难点分析

语音识别技术的发展与机器进行语音交流,让它听明白你在说什么。语音识别技术将人类这一曾经的梦想变成了现实。语音识别就好比“机器的听觉系统”,该技术让机器通过识别和理解,把语音信号转变为相应的文本或命令。在1952年的贝尔研究所,Davis等人研制了世界上第一个能识别10个英文数字发音的实验系统。1960年英国的Denes等人研制了第一个计算机语音识别系统。大规模的语音识别研究始于上世纪70年代以后,...

q6q6q的专栏 5258
上一篇: Geolocation背后的基本原理
下一篇: 基于引擎开发HTML5游戏实战(一)---游戏引擎
cutesource
博客等级 码龄17年 5041粉丝 151原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值