语音处理的应用非常广泛,最基本的应用就是语音的数字传输,即对语音进行数字化后在数字通信系统中进行传输,以实现数字语音通信。图1-2中列出了语音处理的一些典型应用。
图1-2 语音处理的一些典型应用
下面简要介绍一下这些应用。
1.语音编码
语音编码是语音数字处理最重要的一种应用。语音编码的目的是用尽可能低的数码率来获得尽可能高的合成语音质量。实现语音编码(特别是中低速率)的设备通常称为声码器。虽然光和微波通信等系统可以提供很宽的频带,但在很多情况下仍然需要压缩编码速率以节省频带。一方面,编码后可以在有限带宽的信道上传输多路语音,提高信道的利用率;另一方面,可以在窄带的模拟信道(如短波)上传输数字语音。特别是在军事通信系统等需要复杂加密的应用场合,声码器具有不可替代的作用。此外,语音的数字存储、语音应答等也是语音编码的重要应用。在语音编码技术中,线性预测、矢量量化、码本激励等是最重要的几种实现技术。
根据语音编码的采样率,可以分为窄带(4kHz)语音编码、宽带(7kHz)语音编码和20kHz的音乐带宽编码。窄带语音编码的采样率通常为8kHz,一般应用于语音通信中;宽带语音编码的采样率通常为16kHz,一般用于要求更高音质的应用中,如会议电视;而20kHz的音乐宽带编码主要适用于音乐数字化,其采样频率高达44.1kHz。
近几十年来,语音编码技术发展非常迅速。以窄带语音编码为例,自20世纪70年代国际上推出64kbit/s PCM语音编码标准(G.711)以来,已相继有32kbit/s ADPCM(G.726)、16kbit/s LD-CELP(G.728)、8kbit/s CS-ACELP(G.729)等国际标准推出。而地区性或行业性的标准也有不少,如第二代移动通信系统中的语音编码(13kbit/s GSM),美国国防部的2.4kbit/s保密电话标准(LPC10/10e、MELP/MELPe)等。
目前,在2.4kbit/s以上的编码速率,质量已得到人们的认可,并已广泛应用。未来的研究重点是突破2.4kbit/s以下极低速率的语音编码技术和算法。
2.语音识别
语音识别的作用是将语音转换成等价的书面信息,也就是让计算机听懂人说话。目前语音识别已经成为语音信号数字处理研究领域中的重点和难点技术。语音识别可以有许多分类方法,例如,根据语音识别对象来划分,可以分为孤立词识别、连续语音识别等;根据词汇量来划分,可以分为小词汇量(50个词以下)语音识别、中词汇量(50~500个词)语音识别、大词汇量(500个词以上)和超大限词汇量(几万个词)语音识别等;根据对说话人的要求来划分,可以分为特定说话人(speaker dependent)语音识别、多说话人语音识别和非特定说话人(speaker independent)语音识别等。
语音识别虽然从原理上看实现并不困难,但在实际实现时遇到的困难很多。例如,发音的多变性、不同人发同一个音、同一个人在不同的条件下发同一个音等都会有不同的发音参数;发音的模糊性,即在实际的连续语音流中语音声学变量与音素变量之间不存在一一对应关系;语音流中变化多端的音变现象,这些音变对人类的听觉系统来说很容易辨认,但机器识别却很不容易。
语音识别的应用很广,如声控打字、用声音控制计算机等。如果将语音识别与语音合成结合起来,就可以实现极低比特率的语音通信系统。
目前,一些中小词汇表的孤立词或连续语音识别系统已进入市场。目前研究的重点是实现大词汇表、非特定人的连续语音识别系统,它可用于人机直接对话、语音打字机及两种语音之间的直接通信等一系列重要场合。
3.说话人识别
说话人识别的作用是根据语音辨别说话人,广义的语音识别也包括说话人识别。但说话人识别并不注意语音信号中的语义内容,而是希望从语音信号中提取出人的特征,即根据语音判别是谁讲的话。语音信号既载有说话人的语言信息,同时也载有说话人本身的特征信息。每个人的发音器官都有自己的特征,说话时也都有自己的特殊语言习惯。在分析语音信号时,可以提取说话人的个人特征,从而有可能识别说话人是谁。在研究语音识别时,要消除说话人的个人特征,以免影响识别的准确率;而在研究说话人识别时,则要专门研究人的特征,从众多的语音信号中分析和提取这些特征,去除不含个人特征的语音信息。
说话人识别有两类:说话人确认;说话人辨认。前者是指确认说话人的身份,说话人说一句或几句测试语句,经处理后获取的特征参数与储存的特定人语音的参数比较,做出“是与否”的判决。后者是要辨认待识别的语音来自若干人中的哪一位,要将待识别语音与每一位的语音进行比较,找出距离最近的语音所对应的说话人。从语音信号处理的角度来看,二者基本上是相同的,都需要确定选用的参数和计算距离的准则。前者需确定“是与否”的门限,后者需与待识别语音比较它们各自的距离。比较的方法大致与识别语音的方法相同,也要进行端点检测和时间规整。参数的选择原则,一是要能反映说话人的个性,二是要兼顾识别率和复杂程度。比较简单的特征参数是基音和能量,也可以用LPC参数与共振峰,但其计算量稍大。也有用语谱图来识别的,称为“声纹”。
然而语音是动态的,它和说话人所处的环境、情绪和身体状况关系很大。一个人在不同时间、不同情况下讲同一句话,差异也不一定比不同人小,不像“指纹”是静态的、绝对的。在现阶段还需结合识别人员的经验以提高识别的准确率,这方面的研究还在继续。说话人识别错误有两种情况:一是没有认出正确的说话人;二是认错了人,后者的效果往往更坏。
还有一些识别难度更大,但更有实际价值的领域,如下所示。
(1)用通过电话信道的语音进行“说话人识别”,由于电话频带窄、有失真、噪声大,不同信道条件各异,所以该识别十分困难。但由于大量待识别话音均取自于电话信道,所以解决这问题的意义很大。
(2)在“辨认”说话人时,语句往往不能规定,在没有指定语句条件下的识别较困难,必须有更多的样本用做训练和测试,以降低误识率,这类无指定测试语句的识别称为“与文本无关”的说话人识别,而在有指定语句条件下进行的识别称为“与文本有关”的说话人识别。
4.语音理解
语音理解是指利用知识表达和组织等人工智能技术进行语句的自动识别和语意的理解。它与语音识别的主要不同是对语法和语义知识的充分利用程度。由于人们对语音具有广泛的知识,可以对要说的话具有一定的预见性,所以人对语音具有感知分析的能力。依靠人对语言和谈论的内容具有的广泛知识,以及利用知识提高计算机理解语言的能力,是语音理解研究的核心。
利用理解能力,不仅可以排除噪声的影响,理解上下文的意思并用来纠正错误,澄清不确定的语义,而且能够处理不合语法或不完整的语句。一个语音理解系统除了包括原语音识别所要求的部分外,还必须增加知识处理部分。知识处理包括知识的自动收集、知识库的形成、知识的推理与检验等,当然还希望能具备自动进行知识修正的能力。因此,语音理解可以认为是信号处理与知识处理的产物。语音知识包括音位知识、音变知识、韵律知识、词法知识、句法知识、语义知识及语用知识。这些知识涉及语音学、汉语语法、自然语言理解及知识搜索等许多交叉学科。
实现完善的语音理解系统是非常困难的,然而面向特定任务的语音理解系统是可以实现的,如飞机票预售系统、银行业务、旅馆业务的登记及询问系统等。
5.语音合成
语音合成的目的就是让计算机说话。
最简单的语音合成应当是语音响应系统,其实现技术非常简单。在计算机内建立一个语音库,将可能用到的单字、词组或一些句子的声音信号编码后存入计算机,当输入所要的字、词组或句子代码时,就能调出对应的数码信号并将其转换成声音。
按规则的文字—语音合成系统是将文字转换成语言,让计算机模仿人来朗读文本。该系统具有以下作用:有一个存储基本语音单元的音库;当用各种方式输入文字信息时,计算机能将文字内容按照语言规则,转换成由基本音元组成的序列;按说话时音元连接的规则控制音元序列,输出连续自然的声音。这种系统也称“文—语转换系统”(Text To Speech, TTS)。
建立音库时,语音单元的选择是一个很重要的问题。因为一种语言的音素通常只有几十个,采用音素作为音元可以降低存储容量,但用音素合成语音非常复杂,而且自然度较差,所以一般认为汉语中采用音节作为音元比较合适,这是因为汉语中的一个音节就是一个字的音,汉语中只有412个无调音节,形成音库比较适中。也可以用单字和词组作为音元,但一个字不能只存一种发音,这是因为汉语是多音字,字的发音与上下文有关,只有存储与上下文关联的几种发音,使用时按上下文关系调用,合成的语音才能比较自然,这就要求系统有很大的存储容量。
该系统中的“规则”有两层含义:一是文字变语言,如“。”要置换成“句号”;二是要按照复杂的语音规则和上下文的关系决定音调、语气、重音、音长、停顿、过渡等,组成发音控制参数序列。
要使文—语转换系统合成出高质量的语音,不仅要掌握语音信号的数字处理技术,而且要有语言学知识的支持。
更高层次的合成是“按概念或意向到语音的合成”,即将“概念、意向”组成语言并变成声音,就如大脑形成说话内容并控制发声器官产生声音一样。
6.语音增强
在实际的应用环境中,语音都会不同程度地受到环境噪声的干扰。语音增强就是对带噪语音进行处理,降低噪声的影响,改善听觉的效果。有些语音编码和语音识别系统在无噪声或噪声很小的环境中性能很好,但当环境噪声增大时,性能却急剧下降。因此,最大程度地去除噪声,改善听觉效果,也是语音编码和语音识别等系统必须解决的问题。
实际语音可能遇到的干扰可以分为以下几类:
(1)周期性噪声,如电气干扰,发动机旋转引起的干扰等,这类干扰在频域上表现为一些离散的窄峰;
(2)冲激噪声,如电火花、放电产生的噪声干扰,这类干扰在时域上表现为突然出现的窄脉冲;
(3)宽带噪声,这是指高斯噪声或白噪声一类的噪声,其特点是频带宽,几乎覆盖整个语音频带;
(4)语音噪声,如话筒中同时进入多个人的声音,或者在传输时遇到串音引起的语音噪声。
对于上述各种不同类型的噪声,语音增强的方法也是不同的。例如,周期性噪声可以用滤波的方法滤除;冲激噪声可以通过相邻的样本值,采取内插方法滤除,或者利用非线性滤波器滤除;宽带噪声是一种难以滤除的干扰,因为它与语音具有相同的频带,在消除噪声的同时将不可避免地影响语音的质量,现在常用的方法有谱减法、自相关相减法、最大似然估计法、自适应抵消法等;语音噪声也是很难消除的,一般可以采用自适应技术跟踪某个说话人的特征的方法来消除。