本文将简要介绍语音是如何转换成文字的过程,希望能让读者轻松理解这一技术。
首先,我们需要了解声音本质上是一种波。常见的音频格式如MP3、WAV等,都是压缩或非压缩的波形文件。为了处理这些波形文件,我们通常需要将其转换成非压缩格式,例如Windows PCM文件,也就是我们常说的WAV文件。WAV文件主要包含一系列的声音波形点。
在进行语音识别之前,有时需要去除首尾的静音部分,以减少对后续处理步骤的干扰。这种静音切除的操作被称为VAD(Voice Activity Detection),需要用到一些信号处理技术。为了分析声音,通常需要将声音分成一个个小段,每一段称为一帧。分帧操作通常采用移动窗函数实现,而不是简单的切割。相邻的两帧之间会有一定的重叠,如下图所示: [align=center](此处插入图像)[/align]
在这个例子中,每帧的长度为25毫秒,相邻两帧之间有15毫秒的重叠,即以25毫秒的帧长和10毫秒的帧移进行分帧。
分帧后,声音被分解成许多小段。然而,波形在时域上难以描述,因此需要将波形转换成另一种形式。常见的方法之一是提取MFCC(Mel频率倒谱系数)特征,这是一种根据人耳特性设计的多维向量,可以描述某一帧的声音内容。这个过程被称为声学特征提取。实际上,声学特征提取有许多细节和技术,这里不做详细讨论。
最终,声音被转换成一个12行(假设声学特征为12维)、N列的矩阵,称为观察序列,其中N为总帧数。观察序列中的每一帧都被表示为一个12维的向量,颜色深浅表示向量值的大小。 [align=center](此处插入图像)[/align]
接下来,我们将介绍如何将这个矩阵转换成文本。为此,需要引入两个重要概念: - 音素:单词的发音由音素组成。对于英语,常用的是由39个音素组成的音素集,来源于卡内基梅隆大学的音素集。汉语则直接使用所有的声母和韵母作为音素集,另外汉语识别还需要区分有调和无调,这里不详述。 - 形状:形状是一种比音素更细粒度的语音单位,通常将一个音素划分为三个形状。
语音识别的工作原理并不复杂,主要分为三个步骤: 1. 将每帧声音识别成形状; 2. 将形状组合成音素; 3. 将音素组合成单词。
如下图所示: [align=center](此处插入图像)[/align]
图中,每个小竖条代表一帧,若干帧对应一个形状,每三个形状组合成一个音素,若干个音素组合成一个单词。也就是说,只要确定每帧声音对应哪个形状,语音识别的结果就出来了。
那么,每帧声音对应哪个形状呢?一种简单的方法是,找出某帧对应哪个形状的概率最大,然后认为该帧属于那个形状。例如,下图显示,某帧对应S3形状的概率最大,因此该帧被归为S3形状。 [align=center](此处插入图像)[/align]
这些概率来自哪里呢?有一种称为“声学模型”的工具,它存储了大量的参数,通过这些参数可以计算出每帧和形状之间的对应概率。获取这些参数的过程称为“训练”,需要大量语音数据,训练过程相对复杂,这里不详述。
然而,这种方法存在一个问题:每帧都会得到一个形状编号,最终整个语音会得到一堆混乱的形状编号,相邻两帧的形状编号几乎完全不同。例如,如果有1000帧,每帧对应一个形状,每3个形状组合成一个音素,那么大约会产生300个音素,但实际语音中可能并没有这么多音素。如果直接这么做,得到的形状编号很可能无法组合成音素。实际上,相邻帧的形状应该大部分是相同的,因为每帧时间非常短暂。
解决这个问题的常用方法是使用隐马尔可夫模型(Hidden Markov Model,HMM)。虽然这个名字听起来很高深,但实际上使用起来很简单: 1. 构建一个形状网络; 2. 从形状网络中寻找与声音最匹配的路径。
这样就能把结果限制在预设的网络中,避免了之前提到的问题。当然,这也带来了另一个局限:如果预设的网络只包含特定的句子,那么无论说什么,识别结果都只能是这些句子中的一部分。
如果想识别任意文本,可以将网络构建得足够大,包含任意文本的路径。但是,网络越大,识别准确率越难保证。因此,要根据实际任务需求,合理选择网络的大小和结构。
构建形状网络的过程是从单词级网络展开到音素网络,再展开到形状网络。语音识别过程实际上是在形状网络中搜索一条最佳路径,这条路径对应的最大概率就是解码过程。路径搜索的算法是一种动态规划剪枝算法,称为Viterbi算法,用于寻找全局最优路径。
路径搜索过程中涉及的累积概率由三部分构成: 1. 观察概率:每帧与每个形状对应的概率; 2. 转移概率:每个形状转移到自身或下一个形状的概率; 3. 语言概率:根据语言统计规律得到的概率。
其中,前两种概率从声学模型中获取,最后一种概率从语言模型中获取。语言模型是通过大量文本训练得出的,利用语言自身的统计规律来提高识别准确性。语言模型非常重要,如果不使用语言模型,当形状网络较大时,识别结果可能会一团乱麻。
以上介绍了传统的基于HMM的语音识别技术。实际上,HMM的应用远不止于此,上述内容只是为了便于理解,并不追求严谨。
[b]End[/b]