历史上的今天
返回首页

历史上的今天

今天是:2025年02月28日(星期五)

正在发生

2019年02月28日 | 小科普:深度解析语音识别技术

2019-02-28

语音识别已成为人与机器通过自然语言交互重要方式之一,本文将从语音识别的原理以及语音识别算法的角度出发为大家介绍语音识别的方案及详细设计过程。

 

语言作为人类的一种基本交流方式,在数千年历史中得到持续传承。近年来,语音识别技术的不断成熟,已广泛应用于我们的生活当中。语音识别技术是如何让机器“听懂”人类语言?本文将为大家从语音前端处理、基于统计学语音识别和基于深度学习语音识别等方面阐述语音识别的原理。

 

随着计算机技术的飞速发展,人们对机器的依赖已经达到一个极高的程度。语音识别技术使得人与机器通过自然语言交互成为可能。最常见的情形是通过语音控制房间灯光、空调温度和电视的相关操作等。并且,移动互联网、智能家居、汽车、医疗和教育等领域的应用带动智能语音产业规模持续快速增长, 2018年全球智能语音市场规模将达到141.1亿美元。

 

 

目前,在全球智能语音市场占比情况中,各巨头市场占有率由大到小依次为:Nuance、谷歌、苹果、微软和科大讯飞等。

 

 

语音识别的本质就是将语音序列转换为文本序列,其常用的系统框架如下:

 

 

接下来对语音识别相关技术进行介绍,为了便于整体理解,首先,介绍语音前端信号处理的相关技术,然后,解释语音识别基本原理,并展开到声学模型和语言模型的叙述,最后,展示我司当前研发的离线语音识别demo。

 

1.前端信号处理

 

前端的信号处理是对原始语音信号进行的相关处理,使得处理后的信号更能代表语音的本质特征,相关技术点如下表所述:

 

1)       语音活动检测

 

语音活动检测(Voice Activity Detection, VAD)用于检测出语音信号的起始位置,分离出语音段和非语音(静音或噪声)段。VAD算法大致分为三类:基于阈值的VAD、基于分类器的VAD和基于模型的VAD。

 

基于阈值的VAD是通过提取时域(短时能量、短时过零率等)或频域(MFCC、谱熵等)特征,通过合理的设置门限,达到区分语音和非语音的目的。

 

基于分类的VAD是将语音活动检测作为(语音和非语音)二分类,可以通过机器学习的方法训练分类器,达到语音活动检测的目的。

 

基于模型的VAD是构建一套完整的语音识别模型用于区分语音段和非语音段,考虑到实时性的要求,并未得到实际的应用。

 

2)       降噪

 

在生活环境中通常会存在例如空调、风扇等各种噪声,降噪算法目的在于降低环境中存在的噪声,提高信噪比,进一步提升识别效果。

 

常用降噪算法包括自适应LMS和维纳滤波等。

 

3)       回声消除

 

回声存在于双工模式时,麦克风收集到扬声器的信号,比如在设备播放音乐时,需要用语音控制该设备的场景。

 

回声消除通常使用自适应滤波器实现的,即设计一个参数可调的滤波器,通过自适应算法(LMS、NLMS等)调整滤波器参数,模拟回声产生的信道环境,进而估计回声信号进行消除。

 

4)       混响消除

 

语音信号在室内经过多次反射之后,被麦克风采集,得到的混响信号容易产生掩蔽效应,会导致识别率急剧恶化,需要在前端处理。

 

混响消除方法主要包括:基于逆滤波方法、基于波束形成方法和基于深度学习方法等。

 

5)       声源定位

 

麦克风阵列已经广泛应用于语音识别领域,声源定位是阵列信号处理的主要任务之一,使用麦克风阵列确定说话人位置,为识别阶段的波束形成处理做准备。

 

声源定位常用算法包括:基于高分辨率谱估计算法(如MUSIC算法),基于声达时间差(TDOA)算法,基于波束形成的最小方差无失真响应(MVDR)算法等。

 

6)       波束形成

 

波束形成是指将一定几何结构排列的麦克风阵列的各个麦克风输出信号,经过处理(如加权、时延、求和等)形成空间指向性的方法,可用于声源定位和混响消除等。

 

波束形成主要分为:固定波束形成、自适应波束形成和后置滤波波束形成等。

 

2.语音识别的基本原理

 

已知一段语音信号,处理成声学特征向量之后表示为,其中表示一帧数据的特征向量,将可能的文本序列表示为,其中表示一个词。语音识别的基本出发点就是求,即求出使最大化的文本序列。将通过贝叶斯公式表示为:

 

 

其中,称之为声学模型,称之为语言模型。大多数的研究将声学模型和语言模型分开处理,并且,不同厂家的语音识别系统主要体现在声学模型的差异性上面。此外,基于大数据和深度学习的端到端(End-to-End)方法也在不断发展,它直接计算,即将声学模型和语言模型作为整体处理。本文主要对前者进行介绍。

 

3.声学模型

 

声学模型是将语音信号的观测特征与句子的语音建模单元联系起来,即计算。我们通常使用隐马尔科夫模型(Hidden Markov Model,HMM)解决语音与文本的不定长关系,比如下图的隐马尔科夫模型中,

 

 

将声学模型表示为

 

 

其中,初始状态概率和状态转移概率()可用通过常规统计的方法计算得出,发射概率()可以通过混合高斯模型GMM或深度神经网络DNN求解。

 

传统的语音识别系统普遍采用基于GMM-HMM的声学模型,示意图如下:

 

 

其中,表示状态转移概率,语音特征表示,通过混合高斯模型GMM建立特征与状态之间的联系,从而得到发射概率,并且,不同的状态对应的混合高斯模型参数不同。

 

基于GMM-HMM的语音识别只能学习到语音的浅层特征,不能获取到数据特征间的高阶相关性,DNN-HMM利用DNN较强的学习能力,能够提升识别性能,其声学模型示意图如下:

 

 

GMM-HMM和DNN-HMM的区别在于用DNN替换GMM来求解发射概率,GMM- HMM模型优势在于计算量较小且效果不俗。DNN-HMM模型提升了识别率,但对于硬件的计算能力要求较高。因此,模型的选择可以结合实际的应用调整。

 

4.语言模型

 

语言模型与文本处理相关,比如我们使用的智能输入法,当我们输入“nihao”,输入法候选词会出现“你好”而不是“尼毫”,候选词的排列参照语言模型得分的高低顺序。

 

语音识别中的语言模型也用于处理文字序列,它是结合声学模型的输出,给出概率最大的文字序列作为语音识别结果。由于语言模型是表示某一文字序列发生的概率,一般采用链式法则表示,如是由组成,则可由条件概率相关公式表示为:

 

 

由于条件太长,使得概率的估计变得困难,常见的做法是认为每个词的概率分布只依赖于前几个出现的词语,这样的语言模型成为n-gram模型。在n-gram模型中,每个词的概率分布只依赖于前面n-1个词。例如在trigram(n取值为3)模型,可将上式化简:

 

 

5.语音识别效果展示

 

基于PC的语音识别展示demo如下视频所示:

 

此处插入视频zal_asr_demo_video.mp4

 

视频包括使用“小致同学”唤醒设备,设备唤醒之后有12秒时间进行语音识别控制,空闲时间超过了12秒将再次休眠。

 

我们的语音识别算法已经部分移植到了基于AWorks的cortex-m7系列M1052-M16F12 8AWI -T平台。语音识别的声学模型和语言模型是我司训练的用于测试智能家居控制的相关模型demo,在支持65个常用命令词的离线识别测试中(数量越大识别所需时间越长),使用读取本地音频文件的方式进行语音识别“打开空调”所需时间0.46s左右。下面是在M1052-M16F128AWI- T的实测效果:

 

说明: E:\YeeLearn\Speech_Recognition-18.02.02\文档\微信文章\微信图片_20190122164825.png?imageView2/2/w/550

 

最后附上M1052-M16F128AWI-T产品图片:

 

说明: E:\YeeLearn\Speech_Recognition-18.02.02\文档\微信文章\产品图.png?imageView2/2/w/550

 

6.关于算法库获取

 

目前语音识别系统处于研发阶段,广大客户可将自身需求反馈给广州立功科技股份有限公司与立功科技·致远电子相关市场人员,我们会以最快速度研发客户需要的产品。

 



推荐阅读

史海拾趣

Empro Technology Corp公司的发展小趣事

随着产品的热销,Empro Technology Corp开始积极寻求市场拓展和战略合作。公司与国际知名电子产品制造商建立了紧密的合作关系,共同研发新产品,共同开拓市场。同时,公司还通过参展国际电子展等方式,不断提升品牌知名度和影响力。

台湾义隆电子(ELAN)公司的发展小趣事

作为一家有社会责任感的企业,义隆电子一直关注可持续发展问题。公司积极推广绿色生产理念,采取环保措施减少生产过程中的污染排放。同时,义隆电子还关注社会公益事业,积极参与各种慈善活动,回馈社会。这些举措不仅提升了公司的品牌形象,也为公司的长期发展奠定了坚实基础。

请注意,以上故事框架仅供参考,具体的故事内容需要根据义隆电子的实际情况进行撰写。

Henkel公司的发展小趣事

在产品多元化的基础上,义隆电子开始积极拓展国际市场。公司以台湾新竹科学园区为营运总部,在亚洲、美洲等多个国家和地区设立了分支机构和设计中心。通过与全球合作伙伴的紧密合作,义隆电子的产品逐渐进入欧洲、亚洲和美洲等市场,实现了全球布局。

Aerovox Corporation公司的发展小趣事

义隆电子在多个技术领域保持领先地位,如数字模拟混合技术、高阶设计流程等。这些技术优势使得公司能够迅速掌握市场脉动,开发出具有实用性的新产品。同时,义隆电子还注重将先进技术应用于实际产品中,如高性能的触摸屏控制器、触摸板模块等,这些产品广泛应用于智能手机、平板电脑等消费电子产品中,赢得了市场的广泛认可。

EOZ S.A.S公司的发展小趣事

为了进一步扩大市场份额,EOZ S.A.S公司积极实施国际化战略。公司通过参加国际电子展、建立海外研发中心和生产基地等方式,加强与国际市场的联系和合作。同时,EOZ S.A.S还针对不同国家和地区的消费者需求进行产品定制和本地化营销,成功将产品打入多个国际市场并取得良好业绩。

国盛科技(BOCHEN)公司的发展小趣事

国盛科技(BOCHEN)的前身是成都国正电子有限责任公司,由周正军先生于1999年创立,初期便致力于电子元器件的制造。面对当时行业内的技术壁垒和专利限制,国盛科技坚持以创新驱动,不断加大研发投入,逐渐在电子元器件领域站稳脚跟。这一时期,公司通过引进和培养核心技术人员,逐步建立起一支具备国内一流研发水平的团队,为后续的快速发展奠定了坚实基础。

问答坊 | AI 解惑

关于运放平衡电阻的问题

一般反相/同相放大电路中都会有一个平衡电阻,这个平衡电阻的作用是什么呢?…

查看全部问答>

为什么不开设有关FPGA(CPLD)论坛?

   eeworld里面有这么多的论坛,缺少了FPGA感觉太遗憾了…

查看全部问答>

Wince 6.0下如何根据屏幕的大小自动调整显示部分的尺寸

最近刚刚接触6.0,用的是友坚的6410开发板,是4.3寸的显示屏,发现打开的界面不能完全显示出来,一般是下半部分无法显示,请问有没有什么方法能够根据屏幕的大小自动调整显示界面的尺寸??…

查看全部问答>

请教!avr m8 AD转换问题!

现在做了一个AD转换用Proteus仿真时就OK,但做硬件时出错!请指教! #include #include #include \"delay.h\" #define Led_1 0b11111110                  #define Led_2 ...…

查看全部问答>

300分求牛人帮我把一个VC小游戏移植到EVC

自己移..上百个错误。. 求牛人留下E-MAIL.…

查看全部问答>

请问CPropertySheet怎么加菜单啊

用VC2005的MFC智能设备程序,请问怎么才能给属性表添加菜单啊?…

查看全部问答>

请各位指点迷津

请各位指点迷津:电子技术基础自我感觉掌握不错,通过几个电子套件,焊接成功,不知道以后该这么走,本意想向维修方向发展,不知道怎么走,请各位大侠指点迷津…

查看全部问答>

Raw os 内核状态机篇

现在有很多操作系统的内部任务状态机制不全,直接导致了bug的产生,具体名字就不指明了。 Raw os  的内部任务状态非常健全,以下结构体定义了任务的状态机制。 enum RAW_TASK_STATUS {     RAW_RDY = 0,     RA ...…

查看全部问答>

选择FPGA开发板

由于项目需求,现要选择一款FPGA的开发板,由于本人是菜鸟一个,之前没有接触过FPGA,不知道如何选择。具体要求就是xilinx virtex-6的主芯片,主要用于多路的信号处理,要求处理速度快,存储器容量要大。不知如何选择,有哪些可供选择。 有哪位大 ...…

查看全部问答>

提问+MSP430复位选择

想做一个复位功能,想到用看门狗,发现有两种情况实现PUC :满足定时要求和写错密码。请问哪一种更好一点。 另有没有别的软件复位的方法?…

查看全部问答>