2019-05-30 13:48:17 smiletomyself 阅读数 1014
  • C++语音识别开篇

    本篇mark老师将教大家使用第三方库的调用来简单的实现语音识别。随着机器学习和人工智能的热闹,国内语音行业也可谓是百花齐放。 语音识别一个伟大的时代已在我们身边悄悄走来。

    5905 人正在学习 去看看 杨波


原文链接:https://blog.csdn.net/smiletomyself/article/details/90695430

实现语音识别功能建议

建议使用讯飞语音
优点:

  • 目前需求对应的语音听写功能免费使用;
  • 讯飞语音国内的专业性,支持普通话,粤语,英语;
  • 已完成demo的集成和功能测试;

缺点:

  • 院内网络可能对移动端的在线识别有限制;

已有语音类项目经验

  • 据了解,目前三院语音是和云之声合作的,云之声在院内搭建了自己的服务器,保证内网的在线语音识别的可用性;
  • 目前已在移睿医生病历采集项目中使用;

主流语音识别平台

科大讯飞

讯飞语音

讯飞-语音转写功能价格表

阿里云

阿里云-智能语音交互

腾讯云

腾讯云-语音识别-定价

腾讯云语音识别目前处于公测阶段,仅录音文件识别支持按识别时长计费的后付费模式;一句话识别与实时语音识别的价格请咨询腾讯云销售人员(4009-100-100 转 1)。

百度-AI开放平台

极速版产品定价

2018-07-31 17:08:50 yibuerbusanbu 阅读数 3421
  • C++语音识别开篇

    本篇mark老师将教大家使用第三方库的调用来简单的实现语音识别。随着机器学习和人工智能的热闹,国内语音行业也可谓是百花齐放。 语音识别一个伟大的时代已在我们身边悄悄走来。

    5905 人正在学习 去看看 杨波

1.前言:
本科毕业之后,开始了北漂,一直想从事一些偏上层方面的工作,开始找工作期间各种碰壁。可能自己c语言的基础还可以的原因,被现在的单位的引擎组招了过来,起初只是被用来干一些引擎的支持和测试,慢慢的开始接触到了语音识别等引擎的开发,所以利用自己在工作中所了解得在这里班门弄斧地谈谈语音识别,也是想工作进行总结。也欢迎大家指出错误和不足。
1.语音识别简介:
语音识别技术即AutomaticSpeechRecognition(简称ASR),是指将人说话的语音信号转换为可被计算机程序所识别的信息,从而识别说话人的语音指令及文字内容的技术。目前语音识别被广泛的应用于客服质检,导航,智能家居等领域。
2.语音识别过程:
在这里插入图片描述
语音识别大体上包含前端处理,特征提取,模型训练,解码四个模块。其中前端处理包括了,语音转码,高通滤波,端点检测等。
上图目前语音识别的基本流程,输入的语音数据流经过前端处理(语音格式转码,高通,端点检测),语音格式转码是将输入的语音数据转成pcm或者wav格式的语音,端点检测是检测出转码后语音中的有效语音,这样对解码速度和识别率上都会改善。经过前端处理之后的得到的分段语音数据送入特征提取模块,进行声学特征提取。最后解码模块对提取的特征数据进行解码,解码过程中利用发音字典,声学模型,语言模型等信息构建WFST搜索空间,在搜索空间内寻找匹配概率最大的最优路径,便得到最优的识别结果。
在其他章节中会详细介绍以上四个模块。
3.语音识别的学习:
由于语音识别本事就是一个非常大并且繁琐的工程,设计到知识面很广,目前我也在想如何把这个学习过程更加系统化,简单化。希望这一块能得到前辈的指点。
目前我再看这些书籍:
1).数学之美,这本书对整个语音识别过程以及各个模块讲的很详细,也很通俗易懂,是一本不错的语音识别入门的书。
2).语音信号处理,这本书对前端处理模块的学习有很大的帮助,由于是一本教材书籍,自己在有些地方看起来也很晦涩,目前也想在网上找一些相关网课看看,这样更加深理解,找到的话也会第一时间分享。
3).关于特征提起模块,网上有很多帖子写的都很详细,后面我也会整理一下。
4).解码和模型训练…未完!!!

2015-10-18 10:29:35 tangyuanjieDD 阅读数 996
  • C++语音识别开篇

    本篇mark老师将教大家使用第三方库的调用来简单的实现语音识别。随着机器学习和人工智能的热闹,国内语音行业也可谓是百花齐放。 语音识别一个伟大的时代已在我们身边悄悄走来。

    5905 人正在学习 去看看 杨波

Speech is a complex phenomenon. People rarely understand how is it produced and perceived. The naive perception is often that speech is built with words, and each word consists of phones. The reality is unfortunately very different. Speech is a dynamic process without clearly distinguished parts. It's always useful to get a sound editor and look into the recording of the speech and listen to it. Here is for example the speech recording in an audio editor.

All modern descriptions of speech are to some degree probabilistic. That means that there are no certain boundaries between units, or between words. Speech to text translation and other applications of speech are never 100% correct. That idea is rather unusual for software developers, who usually work with deterministic systems. And it creates a lot of issues specific only to speech technology.


yuwei629的专栏CMUSphinx 官网上学习教程

http://blog.csdn.net/yuwei629/article/category/1742385

2019-08-01 11:32:20 weixin_40796925 阅读数 919
  • C++语音识别开篇

    本篇mark老师将教大家使用第三方库的调用来简单的实现语音识别。随着机器学习和人工智能的热闹,国内语音行业也可谓是百花齐放。 语音识别一个伟大的时代已在我们身边悄悄走来。

    5905 人正在学习 去看看 杨波


最近自己想接触下语音识别,经过一番了解和摸索,实现了对语音识别API的简单调用,正好写文章记录下。目前搜到的帖子里,有现成的调用百度语音API来对音频文件进行识别的;也有通过谷歌语音服务来实现了实时语音识别的。由于我这谷歌语音一直调用不成功,就将二者结合,简单实现了通过百度语音API来进行实时语音识别。

语音识别

语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术,微信中将语音消息转文字,以及“Hi Siri”启用Siri时对其进行发号施令,都是语音识别的现实应用。

语音识别API

百度语音识别通过REST API的方式给开发者提供一个通用的HTTP接口。任意操作系统、任意编程语言,只要可以对百度语音服务器发起http请求,均可使用此接口来实现语音识别。调用API的流程在百度语音官方文档中有说明。

在这里插入图片描述

语音识别步骤

  1. 先注册百度云的账号,控制台中创建百度语音的应用,获取API Key和Secret Key
  2. 通过API Key 和 Secret Key获取token
  3. 将token和本地音频数据上传到API链接
  4. 根据API返回结果获取解析后的文字结果

注意上述过程中我们是使用的本地音频数据,那么我们如何将自己的语音转为相应的数据呢?只要调用麦克风记录我们的语音信息存为wav格式的文件即可。而实时语音识别,即一直保持检测麦克风,只要有声音就生成wav文件向API发送请求;当识别不到语音信息时,自动停止。

代码中我参考了调用谷歌语音的 speech_recognition 模块,因为它调用麦克风的命令特别简单,而且会根据检测麦克风结果自动结束录音。

需要通过pip install SpeechRecognition 下载 speech_recognition 模块来实现上述录音工作。

效果展示

语音识别结果如下图:
在这里插入图片描述

代码下载

语音识别代码下载

百度网盘下载:
链接:https://pan.baidu.com/s/1l8JrYKn1pR5CZPCCme17OA
提取码:rc2e

GitHub代码下载:
https://github.com/pengfexue2/yuyin.git

以上算是对语音识别的初步实现,希望后续能挖掘些更有意思的应用,欢迎继续关注哈~
最后也希望推下自己记录学习 Python、前端以及微信小程序开发的公众号 TEDxPY
在这里插入图片描述

2018-04-22 23:57:26 xm1076709179 阅读数 1875
  • C++语音识别开篇

    本篇mark老师将教大家使用第三方库的调用来简单的实现语音识别。随着机器学习和人工智能的热闹,国内语音行业也可谓是百花齐放。 语音识别一个伟大的时代已在我们身边悄悄走来。

    5905 人正在学习 去看看 杨波

语音识别就是将包含文字信息的语音通过计算机转化成文字的过程,也叫语音转写,英文叫automatic speech recognition(ASR)或者 speech to text(STT),语音识别框架一般如图所示:
这里写图片描述
从上图中可以看出,语音识别技术是一个复杂的多学科交叉技术,涉及到信号处理、统计、机器学习、语言学、数据挖掘、生理学等知识。一个完整的语音识别系统声学方面和语言学方面。声学方面包括从最初的语音信号获取(这其中包括将语音转化成电信号)到语音信号处理(包括模数转换,降噪、增强、端点检测(VAD)等),再到特征提取(MFCC、FB、PLP、BN等),最后到声学模型建模;语言学方面包括字典(词典)构造,语言模型建模等。通过建立的声学模型和语言模型就可以对输入的测试语音进行解码,得到相对应的文字。

解码原理(基于最大后验概率MAP)

假设我们有一段语音X(通常是提取的特征),要得到对应的文本W,就是求使得概率p(W|X)最大的W的过程,即求

W¯=argmaxWp(W|X)

利用条件概率公式和贝叶斯公式将上述公式转化为
W¯=argmaxWp(W,X)p(X)=argmaxWp(X|W)p(W)p(X)

p(X)表示声学观测序列的概率,不管选择解码空间中的哪一条路径,一段语音发出来后p(X)就确定了,是一个未知的常数,虽然这个概率很难估计,但是并不会影响到W¯的取值,因此,上式可以简化为
W¯=argmaxWp(X|W)p(W)

该公式就是解码的核心公式了,下面对该公式做一个简单解读
其中第一项p(X|W)就是我们的声学模型,准确的说,这个概率可以通过声学模型和词典(Lexicon)计算得到,第二项就是我们的语言模型,该怎么理解呢?
从概率上看,p(X|W)表示在给定文本W的情况下,求“生成”语音X的概率,就是说,我们之所以说某一句话而不会说其他话,是因为在说这句话之前,脑海里肯定有我们想表达的内容(这里内容就可以理解成文本W),然后,调动发声器官发出语音X,因此,语音识别的目标就是通过发出的语音X去猜测说这句话到底表达什么内容W
p(W)就是我们的先验概率,为什么这么说,因为它不依赖于我们给定的语音X,而是由经验得出的,具体的,可以理解为人类发展到现在所总结出来的语法知识,更通俗一点就是人类的表达习惯。举个例子,我们通常会说“上床睡觉”而不会说“上床上班”。这个概率可以由语言模型得到。
要使得p(X|W)p(W)最大,一方面需要文字表达尽量符合语法习惯(即p(W)尽量大),另一方面需要识别出来的文字尽量和发出的语音相符(即p(X|W)尽量大),就是说,在解码空间里(解码空间后续会说,简单理解为不同词之间有多种组合方式,不同的组合方式构成不同的W),可能有很多种组合都符合语法习惯,但是有些就和发出的语音不太吻合,例如,我们说一句话“我下班坐地铁回家”,其中有三个不同的识别结果:
1.我下班坐公交回家
2.我坐地铁回家
3.我下班坐地铁回家
显然,上述三种识别结果都符合语法习惯,但是前两种识别结果都存在误识(替换错误,后续会讲)或信息丢失(删除错误,后续会讲),即语音中所表达的信息没有被完全识别出来,因此声学模型的得分p(X|W)就没有第3种识别结果得分高。
好了,语音识别的介绍就到这里,具体如何对声学模型和语言模型进行建模,以及解码等内容在后续进行介绍。

ps:哪位大神能教我怎样用LaTexW写到argmax下面去吗,这样看着好别扭

语音识别

阅读数 717

js语音识别

阅读数 86

js语音识别

博文 来自: qq_36772866

语音识别初探

阅读数 3371

没有更多推荐了,返回首页