语音作为一种典型的非平稳随机信号,人类交流信息最方便、最快捷的一种方式,在高度发达的信息社会中, 音频信号处理技术有非常广泛的应用。而在自动控制领域,其在雷达、系统控制、通信、航空航天等众多方面都获得了极其广泛的应用。

随着计算机和语音处理技术以及移动互联网的发展,语音识别在智能手机、平板等便携设备中得到了广泛应用,用户可以通过语音识别应用控制便携设备的各项功能,大大的提高了效率,完全“说”出了未来。

语音识别技术,也被称为自动语音识别(英语:Automatic Speech Recognition, ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。

语音识别技术 的应用包括语音拨号、语音导航、室内设备控制、语音文档检索、简单的听写数据录入等。语音识别技术与其他自然语言处理技术如机器翻译及语音合成技术相结合,可以构建出更加复杂的应用,例如语音到语音的翻译。

语音识别技术 所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和听觉机理、人工智能等等。

按识别器的类型:孤立单词识别和连续语音识别 (详细)

按识别器对使用者的适应情况:特定人语音识别和非特定人语音识别 (详细)

按语音词汇表的大小:有限词汇识别和无限词汇识别 (详细)

语音识别系统 是建立在一定的硬件平台和操作系统之上的一套应用软件系统。语音识别一般分两个步骤。第一部是系统“学习”或“训练”阶段。第二步是“识别”或“测试”阶段。语音识别技术加上各种外围技术的组合,才能构成一个完整的实际应用的语音识别系统。

训练(Training):预先分析出语音特征参数,制作语音模板(Template)并存放在语音参数库中。

识别(Recognition):待识语音经过与训练时相同的分析,得到语音参数,将它与库中的参考模板一一比较,并采用判决的方法找出最接近语音特征的模板,得出识别结果。

失真测度(Distortion Measures):在进行比较时要有个标准,这就是计量语音特征参数矢量之间的“失真测度”。

主要识别框架:基于模式匹配的动态时间规整法(DTW:Dynamic Time Warping)和基于统计模型的隐马尔柯夫模型法(HMM:Hidden Markov Model)。(详细)

简单地说,语音识别主要包括3个步骤:
1、对输入的语音进行特征提取
2、将提取的语音信号与计算机内的语音模型进行匹配
3、将匹配结果进行输出或转化为特定的指令

模板匹配的方法发展比较成熟,目前已达到了实用阶段。在模板匹配方法中,要经过四个步骤:特征提取、模板训练、模板分类、判决。常用的技术有三种:动态时间规整(DTW)、隐马尔可夫(HMM)理论、矢量量化(VQ)技术。

1、动态时间规整(DTW)

语音信号的端点检测是进行语音识别中的一个基本步骤,它是特征训练和识别的基础。所谓端点检测就是在语音信号中的各种段落(如音素、音节、词素)的始点和终点的位置,从语音信号中排除无声段。在早期,进行端点检测的主要依据是能量、振幅和过零率。但效果往往不明显。60年代日本学者Itakura提出了动态时间规整算法(DTW:DynamicTimeWarping)。算法的思想就是把未知量均匀的升长或缩短,直到与参考模式的长度一致。在这一过程中,未知单词的时间轴要不均匀地扭曲或弯折,以使其特征与模型特征对正。

2、隐马尔可夫法(HMM)

隐马尔可夫法(HMM)是70年代引入语音识别理论的,它的出现使得自然语音识别系统取得了实质性的突破。HMM方法现已成为语音识别的主流技术,目前大多数大词汇量、连续语音的非特定人语音识别系统都是基于HMM模型的。HMM是对语音信号的时间序列结构建立统计模型,将之看作一个数学上的双重随机过程:一个是用具有有限状态数的Markov链来模拟语音信号统计特性变化的隐含的随机过程,另一个是与Markov链的每一个状态相关联的观测序列的随机过程。前者通过后者表现出来,但前者的具体参数是不可测的。人的言语过程实际上就是一个双重随机过程,语音信号本身是一个可观测的时变序列,是由大脑根据语法知识和言语需要(不可观测的状态)发出的音素的参数流。可见HMM合理地模仿了这一过程,很好地描述了语音信号的整体非平稳性和局部平稳性,是较为理想的一种语音模型。

3、矢量量化(VQ)

矢量量化(VectorQuantization)是一种重要的信号压缩方法。与HMM相比,矢量量化主要适用于小词汇量、孤立词的语音识别中。其过程是:将语音信号波形的k个样点的每一帧,或有k个参数的每一参数帧,构成k维空间中的一个矢量,然后对矢量进行量化。量化时,将k维无限空间划分为M个区域边界,然后将输入矢量与这些边界进行比较,并被量化为“距离”最小的区域边界的中心矢量值。矢量量化器的设计就是从大量信号样本中训练出好的码书,从实际效果出发寻找到好的失真测度定义公式,设计出最佳的矢量量化系统,用最少的搜索和计算失真的运算量,实现最大可能的平均信噪比。