在“阿里巴巴与四十大盗”的故事中,喊一声“芝麻开门吧!”门就自动打开了,这在过去看来是天方夜谭的梦想,今天借助于计算机和高技术的威力,人类古老而美好的愿望已成为现实。在实现人机对话方面,有许多方法,而语音合成与识别被公认为是最容易被接受的方法。语音合成使计算机告诉人进行那些工作,语音识别则使机器听懂人的命令而执行相应的动作。用语音识别手段输入命令,要比键盘输入操作速度快1~3倍,使用者不必经过特殊训练就能掌握方法。显然它的应用领域是极其广泛的,其社会性需求与应用效益不可限量。象协助残疾人的机电装置、能听会说的家用电器、语音打字机以及远程与紧急控制场合使用的语音识别与合成装置都是人们极感兴趣的研究课题。随着技术的进步,语音识别装置已经开始进入实用阶段。但是那些要求获得接近100%识别率的系统,往往庞大不堪,成本很高。而另一方面,许多应用场合并不苛求很高的识别率,而是要求降低造价,简化结构和缩小体积的系统,为此人们做了大量的努力。近几年来,国外研制出许多单片语音识别电路,已逐步接近或达到了上述要求,如莫托洛拉(Motorola)的MD4760,日本电气(NEC)的μPD7761D、μPD7762G,冲电气(OKI)的MSM6250RS等,有较好的实用性。东芝1986年问世的单片语音识别电路T6658A,集成度高,外围电路十分简单。该电路在指定发音人状态的最多识别量为40个单词(这里所谓的单词是长度范围在0.16~0.96秒之间发生的语音),其识别率可达90%以上(日语)。下面简要介绍语音识别的一般方法并以T6658A为例说明语音识别装置的构成,以飨读者。
语音识别方法
我们结合图1说明语音的一般识别方法。首先要滤除输入语音信号的噪音和进行预加重处理,以增强高频分量,然后用线性预测系数等方法,进行频谱分析,找出语音的特征参数做为未知模式,接着利用计算机与预先存储的标准模式进行比较。当标准模式与输入的未知模式的特征相一致时,便被机器识别,产生识别结果输出。我们将标准模式的存储空间称为“字典”,而把标准模式称为词条或样板,所谓建立字典,就是先让计算机学习要识别的语音并记录下来。

如果输入的语音与标准模式完全一致固然好,但是语音含有很多不确定因素,完全一致的条件往往不存在,因为没有人能以绝对相同的语调把一个词说两遍。因此要预先制定好计算输入语音的特征模式与各特征模式的类似程度、或者距离度的算法规则固化在ROM中,把该距离最小,即最类似的模式作为识别相应语音的手段。指定发音人与非指定发音人这两种不同发音方式的语音识别率有很大差别,对此,T6658A采用所谓抵消特征差异的方法对非指定发音人的发音建立字典以期提高识别率。当然影响识别率的因素还有一些,如连续发音(如英语)与断续发音(如汉语)的不同(二者区别在于单词间隔有200ms以上的空隙时间)。目前大多数语音识别装置实际采用的都是断续发音方式。实践表明,当被识别的词汇数量增加,要求获得很高识别率时,其系统的成本与规模都会陡增。
T6658A的特性及语音识别系统构成
T6658A的几个特点包括:(1)采用了开关电容技术与CMOS运放技术将话筒放大器、带通滤波器等模拟电路与识别处理器、主接口等数字电路集成在一块芯片上,其结果使系统构成十分简单;(2)对于指定发音人采用断续讲话方式,最多可识别40个单词。最长识别响应时间为0.48秒;(3)可用外接键盘或由外接主CPU输入两种控制方式;(4)电路的I/O电平与LSTTL兼容;(5)在电路“待命”方式,电源仅维持寄存字典内容的RAM,使得功耗极小。电路采用单5V供电,在“识别”期间电路工作电流为4.5mA(典型值),而在“准备”期间静态电流仅3μA(最大值);(6)采用小型67脚扁平塑封。
图2是T6658A的内部电路方框图。它由模拟电路与数字电路两大部分组成:

1.模拟部分包括:(1)话筒放大器,二级放大共提供400倍的总增益,第二级用于高通滤波进行预加重处理,补偿语音特性。(2)带通滤波器,提供四个通道用于提取发音人声音特征。(3)整流器和低通滤波器,滤除高频成分并获得包络波形。(4)多路转换器和A/D转换器,由多路转换器按一定时间间隔将低通滤波器获得的各通道输出转换为一个序列送入A/D转换器,A/D转换器采用逐次逼近的方法转换。这一单元还具有自动增益控制(AGC)功能,对语音输入电平的波动进行响应,及时改变A/D转换器的参考电压,解决了识别处理所需的电平标准化问题。
2.数字部分包括:(1)4位CPU:在所有操作中,包括模式匹配和与外接电路的数据。转换均由它执行。CPU还提供运算指令。以准确计算未知模式与样板之间的允许距离。这部分电路提供512字×10位的ROM和16字×4位的RAM。(2)主接口:是T6658A与外接主CPU间传送指令和输出识别结果的单元电路,它还包括用于手控方式的键盘扫描电路。(3)RAM接口:T6658A与作为单词寄存器的外接RAM的接口电路,设计用于标准RAM,可以外接四个1024字×4位RAM或一片2048字×8位RAM。
电路的识别过程:模拟电路各通道的输出经A/D转换器每10ms转换一次做为四位时间序列数据存入CPU的输入缓冲器。如果这一序列的长度小于0.16秒或大于0.96秒,则不被寄存器和处理器接受。符合长度的数据被采样后(16点×4通道)被输出至外接RAM作为单词寄存,或由CPU进行“模式匹配”的计算处理。当检测出两者距离后,将最短的一个作为识别结果输出,如果距离大于算法规定范围,则无对应输出。
T6658A的两种控制方式:(1)手动控制方式,用键盘完成单词的寄存处理,并提供键盘扫描和消抖电路;(2)CPU控制方式,来自主CPU的如单词寄存等命令经K\(_{1}\)~K4至T6658A,作为识别结果的输出经WD\(_{1}\)~WD4可同时输出给K\(_{1}\)~K4,如果主CPU采用双向运行,则连接部分更简单,图3是CPU控制的典型结构。

语音识别中最重要的指标是识别率。据报道,对T6658A的试验分析表明,对于英语和法语(本国人的发音)识别率为70%左右,对于日语则不低于80%;对于小范围的非指定发音人的识别精度可达90%以上的水平。这一识别率虽不是很高,但与其电路的造价相比,应该说性能价格是比较高的。用这样简单的方法构成语音识别系统显然是有一定实用价值的。(周伟都)