技术类

基于纵横码的语音输入法初探

常州技术师范学院计算机科学系

郑成增 徐鸿翔 陈志锋 尹长青

一、前言

1、纵横码简介
  纵横汉字编码法是一种具有直观性和科学性的汉字编码法,也是一种按照字形和字义对汉字进行分类的一种分类法,它用“0”-“9”十个数字作为基本码元,对汉字的笔形、部首和整个汉字及基本词组进行编码。它类似四角号码字典的汉字取码法,是一种纯数码编码方案。

2、语音识别技术现状
  语音识别技术并非是一项新的技术,事实上,Bellano ratories早在本世纪五十年代就开始进行语音识别的试验,并取得了一定成果。然而,它的应用却被当时的技术水平所限制,那时的语音识别系统只能够识别那些隔裂开来的字词。如果你想让计算机能听明白你所说的语音,你就必须用静音(停机)将所说的话分展开来。此外,大多数系统还要求讲话者花费数小时去对它进行训练,以使客观存在能听懂他的(或她的)个人发音,这是极不方便的,这对于推广应用,受到很大限制。这种制约在当前为个人计算机所提供的语音识别产品中依然存在。譬如要求用户对它进行训练的系统有kurzweil, Dragon System 以及 IMD 的产品,通常可支持四人使用,在词汇量方面要求或者限制在一定数量范围内,有的甚至只限于某种引起专用词汇。

3、纵横语音输入可行性分析
  目前,特定的少量词汇孤立单词语言识别系统的识别率已达99%以上,且所需声卡已作为微机的标准选用件。纵横码采用0-9十个数字录入汉字,是一种纯数字码输入方案,与汉字读音语音语义及安形相对无关。利用几个数字的语音编码输入汉字,采用这种方案仅对十个数字进行识别,音域范围大大减小,完全可超过99%的识别率,这种识别率只取决于该编码系统的重码等因素。而该编码系统是一种重码率极低的系统。因而用纵横码进行实用的语音录入是可行的,加上纵横的易学性、快速性,使人们利用纵横码输入法,采用最自然的输入方式--语音输入汉字成为可能。

二、语音识别原理分析

1、识别过程

  目前,大多数语音识别系统多采用了模式匹配的原理。根据这个原理,未知语音的本模式要与已知语言的参考模式(标准模式)逐一进行 比较,达到与参考模式相匹配,便可作为识别结果输出。下图所示是根 据模式匹配原理过程的自动语言识别系统的原理性方框图。(图一) 

图一   自动语音识别系统原理性方框图

该图中,未知(待识别)语音经过话筒变换成电信号(即图中的语音信号)后加在识别系统输入端,首先要经过预处理。预处理包括反混叠失真滤波器,预加重器、端口检验器和模数转换器。

 
  经过预处理后,语音信号的特征被提取出来。被提取的特征包括:短时平均能量或幅度、短时平均零率、短时自相关函数、线性预测系数(或反射系数或对面积比参数)、清音/浊音标志、基音频率、短时傅里叶变换、倒谱、共振峰等语音的特征参数的时间序列便构成了语音的本模式,将其与已经存储在机内的参考模式逐一进行比较(模式匹配),归纳出获得最佳匹配模式(由判决规则决定)便中识别结果。参考模式是在系统使用前获得并存储起来的。为此,要输入一系列已知语音信号,提取它们的特征作为参考模式,这一过程称为训练过程。在训练阶段,开关S置于“训练”,接点。

2、语音编码研究初步
  我们在噪音测试仪上很清楚地测得0-9十个数字时间波形图(图二):

 

  在PC机上(插Creative SB16卡)也可用话筒拾取语音信号。经声卡放大以及低通滤波后,可按8KHZ频率取样,信号按256点为一帧,帧移为128点,采用差分脉冲编码调制(PPCM)。这样可对0-9十个数字进行编码,从而组合为纵横汉字的语音编码序列。

3、语音特征提取方法
  线性预测又叫线性预测分析,更常被称为线性预测编码,简写为LPC,准确地说,线性预测是指最佳线性向前一步纯预测。从计算量的观点来看,线性预测编码(LPC)是种最吸引人的语音特征提取技术。LPC分析的全极点性质能够精确地估计语音的谱峰。不过,只有对符合全极点模型的语音来说才是这样的。对于鼻音和不少辅音来说,LPC对谱峰带宽的估计一般都超限了。因而,采用此法还需要进行一定的平滑解调处理。语音的线性预测,其基本思想是:主要信号的每个取样值,可以用它过去的若干个取样值的加权和(线性组合)来表示;各加权系数的确定原则是使预测误差的均方值最小(即遵循所谓最小均方准则)。预测误差的定义为真实取样值与预测值之差。如果利用过去P个取样值来进行预测,称为P阶线性预测。线性预测是表示语音信号波形的重要方法之一,有很广泛的应用。用其能够以少数低信息率的时变参数来表示语音信号波形还能够对语音参数(如基音频率、共振峰、功率谱等)进行精确有估计,具体方法常采用 Levinsion-Durbim(有时也用非线性时间归一化进行处理,在此不做介绍)。

三、Levinson-Durbin 算法

 

  求取信号的模型参数可以通过线性预测来完成,而线性预测误差功率可以由式

 

所表示的Yule-Walker方程解出。通过解上式,可以求取线性预测系数及预测误差功率。
  将上式写成矩阵形式,并注意平稳随机信号的相关函数的对称性,可以得到下面的结果:

 

  值得注意的是,上列方程组的系数矩阵中,沿任何一条对角线上的元素都相同,这样的矩阵称为Toeplitz性质;同时系数矩阵还是一个对长矩阵。利用系数矩阵的对长Toeplitz性质,提出了一种高效算法来求解该方程组,这就是著名的Levinson-Durbin算法,简称为Levinson算法,该算法的运算量数量级为O(P2),而线性方程组的一般解法的运算量数量级为O(P3),后者比前者要大得多。Levinson算法是一个迭代计算过程。它从最低阶预测器开始由低阶到高阶,逐阶进行递推计算,亦即,总是由前一阶预测器系数递推计算出下一阶预测器系数。这样,迭代的最后结果,不仅求出了所要求的P阶预测器的系数,而且得到了所有低阶预测器的系数。下图(图三)描述了迭代计算过程。

  

    

图三 由P阶预测器递推计算P+1阶预测器

在该图中,最上面表示了由过去P个取样值预测当前值Xn;下面依次画出了1阶、2阶、3阶...P阶预测器的预测系数;旁边写出了各阶预测器的预测误差。预测系数有两个下标,第一个下标表示阶数,第二个下标指示该阶预测器系数的序数。用该方法提取的0-9的线性预测系数进行了初步的计算,其结果有待进一步分析处理。

四、结束语

  纵横编码较其它编码方案,实现语言输入有其更大的优越,因它是一种纯数字作基本码元,实现来有其更大的可行性和方便性。但实现语言输入是一种技术性十分繁杂的研究,本文仅就有关问题提出一些原理性思路和初步解决方法,在连续数字读音的切分、连续语音识别、非特定人声音的识别等方面尚有大量工作要做。

参考文献

  [1]钱培德等.CCDOS操作系统大全(续集)        清华大学出版社 1993

返回论文集一目录