1、首先,让我们看看人体的声音系统是如何进行工作的。人体的空气通过肺,然后通过导管传递到喉咙。喉咙本身是一个非常复杂的系统,包括发音的主要核心部分-声带。人体嘴唇,鼻腔,咽喉等通过振荡等处理流程共同控制了发音,频率,男女发音等不同的语音参数。
人的语言系统可以转化成一个工程化的处理流程来模拟真正的人体发音。通过工程转化以后的示例结果如下。因为性别的不同,男性和女性的音高有所不同,女性的范围大概在120-500Hz之间,男性则为50-250hz 之间。
2、语音识别需要考虑很多的环境因素和人自己本身的因素。人们发音环境受很多因素的影响:
每个人都发音都是独特的,而且每个人都口音也不同。
每个人都说话方式也完全不同,在有压力的状态下和无放松环境中,语音可能完全不同。
讲话环境不同可能导致不同的语音信号,增加了语音识别的复杂程度。
总体来说,语音识别的基本流程概括如下:
根据以上图例说明,基本的语音识别流程大概几个主要的处理流程。首先原始的语音通过Feature Extraction 功能提取过程,此过程通过各种环境变量,把原始语音中有价值的语音数据提取出来,过滤掉一些不相关的数据,形成一组紧凑,稳定的,可识别的数据,以方便通过数据模型来进行处理。
在模式识别中,此处理流程需要通过语法,语音模型和词汇处理来对提取出来的语音进行加工。在模式识别处理中,识别模型使用了Hidden Markov Models (HMM) 模型来进行处理。HMM是一种数学结构模型,它分为两个部分。第一个部分是把语音按序转化成一种有方向性的图形。第二部分在给定的状态下,把所需功能进行模式化处理。如果大家需要了解更多具体的HMM细节,请参考相关技术文档。
3、Endpoint detection(终端检测)是针对背景噪音进行处理。它主要解决的问题是来自背景噪音的连续信号中部分独立的语音进行分析处理。比较早的语音识别技术只能识别各自独立的,缺乏对终端检测的准确判断。比较新的语音识别技术中可以对识别连续的语音。新语音识别技术可以通过训练样本来进行获得准确的结果。
在话语识别中,两个主要的任务就是speaker verification 和 speaker identification。其中speaker verification 主要的目的就是实现讲话人的验证,讲话人通过密码输入,其他相关编码来识别器身份。讲话者的验证最终输出的结果是接受此验证或者拒绝此验证;
而speaker identification 的主要作用是从讲话人中间确定某一个的身份。最终的输出结果是以模型为基础,从各种讲话人中找到最相似的结果。
Text-to-Speech(TTS)文本语音合成也是MRCP重要的一个技术概念。其主要目的是通过前后端引擎的处理,把自然文本语言转化成语音流的过程。通过合成处理以后,其结果必须是正确的,智能的,当然也要具有语言的自然性。语音IVR就是一个非常典型的例子。以下图例是一个语音合成的实现流程图:
前端处理主要负责用户输入的文本文字经过解析分析对比,然后形成语句单元,声音音量等相关标签。后端处理则根据前端的输出结果存储,重新排序,存储,和数据库的语句查询重新构建语音流。后端处理中的Unit Selection是一个比较重要的技术话题,它涉及了数据库存储方面的问题和语义单元存储方式的问题,包括存储全句还是偏语或者其他的关键词等。我们这里不再做过多讨论。在未来的MRCP合成中会涉及。
4、在本期的分享学习中,我们介绍了几个基本的关于语音识别的概念和基本的处理流程。因为篇幅的关系和讨论的侧重点不同,这其中没有涉及很多重要的概念,例如统计模型,语言模型,训练,Mel-cepstrum等话题。我们主要把未来需要的几个重点概念和处理流程做了简要介绍,结合了几个拓扑图来帮助大家进一步了解语音识别的技术核心要素。当然,这些内容远远不能涵盖语音识别的技术深度,并且难免存在很多问题,用户需要自己通过语音识别的权威技术资料做进一步的研究。
关注微信公众号:asterisk-cn,获得有价值的行业分享
freepbx 技术论坛:www.ippbx.org.cn
Asterisk, freepbx技术文档: www.freepbx.org.cn
欧米(Omni)智能客服解决方案
融合通信商业解决方案,协同解决方案首选产品:www.hiastar.com