语音识别技术分析:语音变成文字其实没有那么神秘

发布者:巳午未最新更新时间:2017-09-05 来源: elecfans关键字:语音识别  文字 手机看文章 扫描二维码
随时随地手机看文章

  简要给大家介绍一下语音怎么变文字的吧。希望这个介绍能让所有同学看懂。

  首先,我们知道声音实际上是一种波。常见的 mp3、wmv 等格式都是压缩格式,必须转成非压缩的纯波形文件来处理,比如 Windows PCM 文件,也就是俗称的 wav 文件。wav 文件里存储的除了一个文件头以外,就是声音波形的一个个点了。下图是一个波形的示例。

  

  在开始语音识别之前,有时需要把首尾端的静音切除,降低对后续步骤造成的干扰。这个静音切除的操作一般称为 VAD,需要用到信号处理的一些技术。

  要对声音进行分析,需要对声音分帧,也就是把声音切开成一小段一小段,每小段称为一帧。分帧操作一般不是简单的切开,而是使用移动窗函数来实现,这里不详述。帧与帧之间一般是有交叠的,就像下图这样:

  

  图中,每帧的长度为 25 毫秒,每两帧之间有 25-10=15 毫秒的交叠。我们称为以帧长 25 ms、帧移 10 ms 分帧。图中,每帧的长度为 25 毫秒,每两帧之间有 25-10=15 毫秒的交叠。我们称为以帧长 25 ms、帧移 10 ms 分帧。

  分帧后,语音就变成了很多小段。但波形在时域上几乎没有描述能力,因此必须将波形作变换。常见的一种变换方法是提取 MFCC 特征,根据人耳的生理特性,把每一帧波形变成一个多维向量,可以简单地理解为这个向量包含了这帧语音的内容信息。这个过程叫做声学特征提取。实际应用中,这一步有很多细节,声学特征也不止有 MFCC 这一种,具体这里不讲。

  至此,声音就成了一个 12 行(假设声学特征是 12 维)、N 列的一个矩阵,称之为观察序列,这里 N 为总帧数。观察序列如下图所示,图中,每一帧都用一个 12 维的向量表示,色块的颜色深浅表示向量值的大小。

  

  接下来就要介绍怎样把这个矩阵变成文本了。首先要介绍两个概念:

  1.音素:单词的发音由音素构成。对英语,一种常用的音素集是卡内基梅隆大学的一套由 39 个音素构成的音素集,参见 The CMU Pronouncing DicTIonary。汉语一般直接用全部声母和韵母作为音素集,另外汉语识别还分有调无调,不详述。

  2.状态:这里理解成比音素更细致的语音单位就行啦。通常把一个音素划分成 3 个状态。

  语音识别是怎么工作的呢?实际上一点都不神秘,无非是:

  第一步,把帧识别成状态(难点);

  第二步,把状态组合成音素;

  第三步,把音素组合成单词。

  如下图所示:

  

  图中,每个小竖条代表一帧,若干帧语音对应一个状态,每三个状态组合成一个音素,若干个音素组合成一个单词。也就是说,只要知道每帧语音对应哪个状态了,语音识别的结果也就出来了。图中,每个小竖条代表一帧,若干帧语音对应一个状态,每三个状态组合成一个音素,若干个音素组合成一个单词。也就是说,只要知道每帧语音对应哪个状态了,语音识别的结果也就出来了。

  那每帧音素对应哪个状态呢?有个容易想到的办法,看某帧对应哪个状态的概率最大,那这帧就属于哪个状态。比如下面的示意图,这帧对应 S3 状态的概率最大,因此就让这帧属于 S3 状态。

  

  那这些用到的概率从哪里读取呢?有个叫「声学模型」的东西,里面存了一大堆参数,通过这些参数,就可以知道帧和状态对应的概率。获取这一大堆参数的方法叫做「训练」,需要使用巨大数量的语音数据,训练的方法比较繁琐,这里不讲。

  但这样做有一个问题:每一帧都会得到一个状态号,最后整个语音就会得到一堆乱七八糟的状态号,相邻两帧间的状态号基本都不相同。假设语音有 1000 帧,每帧对应 1 个状态,每 3 个状态组合成一个音素,那么大概会组合成300个音素,但这段语音其实根本没有这么多音素。如果真这么做,得到的状态号可能根本无法组合成音素。实际上,相邻帧的状态应该大多数都是相同的才合理,因为每帧很短。

  解决这个问题的常用方法就是使用隐马尔可夫模型(Hidden Markov Model,HMM)。这东西听起来好像很高深的样子,实际上用起来很简单:

  第一步,构建一个状态网络。

  第二步,从状态网络中寻找与声音最匹配的路径。

  这样就把结果限制在预先设定的网络中,避免了刚才说到的问题,当然也带来一个局限,比如你设定的网络里只包含了「今天晴天」和「今天下雨」两个句子的状态路径,那么不管说些什么,识别出的结果必然是这两个句子中的一句。

  那如果想识别任意文本呢?把这个网络搭得足够大,包含任意文本的路径就可以了。但这个网络越大,想要达到比较好的识别准确率就越难。所以要根据实际任务的需求,合理选择网络大小和结构。

  搭建状态网络,是由单词级网络展开成音素网络,再展开成状态网络。语音识别过程其实就是在状态网络中搜索一条最佳路径,语音对应这条路径的概率最大,这称之为「解码」。路径搜索的算法是一种动态规划剪枝的算法,称之为 Viterbi 算法,用于寻找全局最优路径。

  

  这里所说的累积概率,由三部分构成,分别是:

  观察概率:每帧和每个状态对应的概率

  转移概率:每个状态转移到自身或转移到下个状态的概率

  语言概率:根据语言统计规律得到的概率

  其中,前两种概率从声学模型中获取,最后一种概率从语言模型中获取。语言模型是使用大量的文本训练出来的,可以利用某门语言本身的统计规律来帮助提升识别正确率。语言模型很重要,如果不使用语言模型,当状态网络较大时,识别出的结果基本是一团乱麻。

  这样基本上语音识别过程就完成了。

  以上介绍的是传统的基于 HMM 的语音识别。事实上,HMM 的内涵绝不是上面所说的「无非是个状态网络」那么简单。以上的文字只是想让大家容易理解,并不追求严谨。


关键字:语音识别  文字 引用地址:语音识别技术分析:语音变成文字其实没有那么神秘

上一篇:双摄像头系列原理
下一篇:HDR显示技术全面解析

推荐阅读最新更新时间:2024-05-03 01:35

含简体中文字库的集成化液晶显示器模块
当前液晶显示器模块有字符型、图形点阵型和简单的数字码形,如果同屏显示三种内容,只能使用点阵型,同时通过大量编程操作来实现。这就给用户开发造成很大工作量。 很明显的是:显示1个英文字或中文字符,送1个码最简单。但是我们使用的现有模块都没有中文字库,要送1个中文,就必须编一组点阵的字库码,对于一般的工程技术人员来讲,这是十分不方便的。必须要动用很大的工作量编写字库程序和字库调用程序以及译码过程。这对于1个小公司或小产品开发,是困难较大的,造成产品成本高,开发周期长,可是1个有液晶显示的产品,不显示中文字又很不理想,必须要作这些工作。 多年来台湾、香港和大陆都考虑找到一种含有字库的M
[网络通信]
基于片上系统SoC的孤立词语音识别算法设计
1. 引言 目前,嵌入式语音识别系统的实现主要通过单片机MCU和数字信号处理器DSP来实现 。但是单片机运算速度慢,处理能力不高;虽然DSP处理速度很快,但是产品的成本很高,电源能量消耗也很大。因此,为了满足嵌入式交互系统的体积越来越小、功能越来越强的苛刻需求,语音识别片上系统SoC(System on Chip)应运而生。 语音识别片上系统SoC本身就是一块芯片,在单一芯片上集成了模拟语音模数转换器ADC、数模转换器DAC、信号采集和转换、处理器、存储器和I/O接口等,只要加上极少的电源就可以具有语音识别的功能,集成了声音信息的采集、取样、处理、分析和记忆。SoC具有片内处理器和片内总线,有着更灵活的应用方式。它具有速度快,
[单片机]
基于片上系统SoC的孤立词<font color='red'>语音识别</font>算法设计
自然语言和三维姿态模型结合,AI研究者将文字转成肢体语音
卡内基梅隆大学(Carnegie Mellon University)的人工智能研究人员发明了一种人工智能代理,能够将文字转化成身体动作。这种方法被称为Joint Language-to-Pose,或JL2P,它将自然语言与三维姿态模型相结合。 JL2P动画目前仅限于简笔画,但将文字翻译成类似人类动作的能力有朝一日可以帮助类人机器人在现实世界中执行物理任务,或帮助创意人员为视频游戏或电影等制作虚拟人物动画。 JL2P能够做一些比如走路或跑步,演奏乐器(如吉他或小提琴),遵循方向指示(左或右),或控制速度(快或慢)的动作。这项研究最初发布于arXiv.org上的一篇论文,并且将于9月19日在魁北克举行的3D视觉国际会议上由CMU
[手机便携]
自然语言和三维姿态模型结合,AI研究者将<font color='red'>文字</font>转成肢体语音
ARM嵌入式孤立词语音识别系统电路设计
语音识别技术就是能使计算机“听瞳“人类的语言,然后根据其义来执行相应的命令,从而实现为人类服务。随着语音识别的深入研究,对它的技术应用主要有两个方面:一个方向是大词汇量连续语音识别系统,主要应用于计算机的听写机,以及与电话网或互联网相结合的语音信息查询服务系统,这些系统都是在计算机平台上实现的;另外一个重要的发展方向是小型化、便携式语音产品的应用,这些应用系统大都使用专门的硬件系统实现。随着后PC年代的到来,后一种发展将成为语音识别技术和嵌入式系交叉研究的一个非常热门的话题,将进一步推动语音识别技术往智能化方向发展。 音频接口原理图 系统采用的音频编解码器是UDAl341t33I。UDAl341是一个单片模数和数模转换器,带
[单片机]
ARM嵌入式孤立词<font color='red'>语音识别</font>系统电路设计
乾坤未定皆黑马,唯有创新方致远 | 2021年度移动机器人产业视频(附文字
广告摘要声明广告 以下是视频文字版: 十五年前,恰遇国家战略新兴产业兴起的盛世,高工咨询诞生了! 高工从新能源起步,进入了太阳能光伏、LED、锂电、电动车、智能汽车、新材料、机器人、氢电等新兴产业。 高工推出“工搜搜”工程师搜索平台,将纸质产品目录数字化,既帮助设计工程师、采购工程师找到合适的产品,也帮助企业向客户精准推广产品,提升企业品牌知名度。 高工,就是“高瞻远瞩,工于精深”。 高工坚持“四独”原则,独立的立场,独立的调研,独立的判断,独到的观点。 高工秉承“以脚步丈量产业”的优良传统,每年巡回调研数以百家企业。 坚持数据从企业来,报告回到企业去。 高工会议是行业交友的桥梁,是获取信息的平台,是企业展现软硬实力的舞台。
[机器人]
汽车上的高科技属实很鸡肋,这些装备你会买吗?
1这些配置真值得选装吗? 如今一辆新车,要想获得竞争力,除了漂亮的外观、精致的内饰、宽敞的空间、强悍的动力等传统项目以外,科技配置加成也是不可或缺的一部分了。     当然,这些科技配置,也是得益于很多IT领域愈发成熟的技术被移植到了汽车上,比如液晶屏、触控、 语音识别 、高清摄像头、强大的 CPU 等等。       早些年,主要是一个超豪华车才会涉及到一个科技性配置,但是随着技术发展,成本降低,越来越多的科技配置已经不是超级豪车专属,更多平民车型也可以享受到。     但是我发现,一方面,这些所谓科技配置,基本上要么进行选配,要么仅仅是高配车才支持。总之,要想获得这些所谓“黑科技”加成,多掏银子
[嵌入式]
长虹发布AI 3.0 引领电视行业跨入AI3.0时代
人工智能电视自诞生业界就存在这很大的争议,人工智能电视这词还只是一个很模糊的概念,范畴还无法确定。据报道,长虹首推AI 3.0 打破市场原有同质竞争僵局,他能否成为未来人工智能电视的标准,能否引领行业跨入AI3.0时代。 相较OLED、量子点等特定显示技术电视,人工智能电视在概念标准上长久存在争议。什么样的电视机属于人工智能电视范畴,是当前市面主推的“语音识别”电视,还是可进行“语义分析”,拥有内容推荐应用的电视?中国电子商会消费电子产品调查办公室曾给“人工智能电视”作出定义,核心是能懂用户,做到真正意义的交互,而非用户单向操控电视。 严格意义上讲,“语音识别”电视还只是人工智能电视的雏形,是AI1.0时代的产物;而“语义
[家用电子]
为什么世界500强中85%企业选择微软云
eeworld晚间消息:据Gartner预测,2016年全球公有云市场规模将达到2,040亿美元,以Microsoft Azure为核心,微软正在全力打造遍布全球的云计算平台,目前微软云Azure已经覆盖32个区域,其中24个区域实现了正式商用——这个数字比其他任何主要云服务商都要多。在全球“财富500强”企业中,有85%的企业选择了微软云服务。 微软云有三大优势:拥有超过30年企业用用与服务经验的软件公司,快速提供专业服务;2、符合全世界超过50种以上不同安全与隐私保护等规范,用最严谨的态度保护客户数据,符合世界各地安全与云服务的相关法规。3、拥有完整的伙伴生态系统,微软在全球超过千家合作伙伴,各式大型企业客户,在完整的生态
[网络通信]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved