2.5 语音识别
人的表达方式有多种,其中语音是最迅速、最常用和最自然的一种。语音识别以语音为研究对象,它是多媒体音频技术的一个重要研究方向,其最终目标是实现人与机器进行自然语言通信。最早的自动语音识别研究工作开始于20世纪50年代。1952年,当时AT&T的Bell实验室实现了第一个可识别10个孤立英文数字的语音识别系统—Audry系统。进入20世纪90年代,随着多媒体时代的来临,人们迫切要求语音识别系统从实验室走向实用。许多发达国家如美国、日本、韩国,以及IBM、Apple、AT&T、NTT等著名公司,都为语音识别系统的实用化开发研究投入巨资。
目前语音识别的主要应用是通过文本-语音转换(Text-To-Speech,TTS)和语音识别(Speech Recognition,SR)实现的。TTS和SR是为应用开发者增加的两个用户接口设备,开发者可将TTS和SR加进应用程序中。
2.5.1 文本—语音技术
1. TTS的基本概念
文本—语音转换(Text-to-Speech,TTS)是将文本形式的信息转换成自然语音的一种技术,其最终目标是力图使计算机能够以清晰自然的声音,以各种各样的语言,甚至以各种各样的情绪来朗读任意的文本。也就是说,要使计算机具有像人一样甚至比人更强的说话能力。因而它是一个十分复杂的问题,涉及语言学、韵律学、语音学、自然语言处理、信号处理、人工智能等诸多学科。
TTS分为综合型和连贯型两种类型。综合型语音就是通过分析单词,由计算机确认单词的发音,然后这些音素就被输入一个复杂的模仿人声发声的算法,这样就可以读文本了。通过这种方式,TTS能读出任何单词,甚至读出自造的词,但是它发出的声音不带任何感情,带有明显的机器语音味道。
连贯型语音系统分析文本从预先备好的文库里抽出单词和词组的录音。数字化录音是连贯的,因为声音是事先录制的语音,听起来很舒服。遗憾的是,如果文本包含没有录的词和短语,TTS就读不出来了。连贯型TTS可以被看作一种声音压缩形式,因为单词和常用的短语,只能录一次。连贯型TTS会节省开发时间并减少错误,使软件增加相应的功能。连贯型TTS只播放一个WAV文件,只占用计算机系统很少的处理能力。
汉语文本-语音转换的研究约始于20世纪60年代,最初发展较为缓慢,到了70年代后期,由于计算机科学的发展,才有了较快的进步。近期,百度发布文本到语音转化系统Deep Voice,它是全部由深度神经网络构建的系统,在文本到语音的转化速度上比谷歌的计算机语音合成系统WaveNet快400倍。
总之,TTS系统最根本的两个主要目标便在于它的自然度(Naturalness)和可理解性(Intelligibility)。可理解性指合成语音的清晰度,即听者对于原信息的提取和理解程度。自然度是衡量一个TTS系统好坏的最重要的指标。其描述了理解内容之外的信息,如整体容易程度、流畅度、全局的风格一致性、地域或者语言层面的微妙差异等。因此,研究更好的文本-语音转换方法,提高合成语音的自然程度就成为当务之急。
2. TTS系统的组成与工作过程
典型的TTS系统(如百度的Deep Voice)包含如下5个模型:字母到音素(graphemeto-phoneme)的转换模型;定位音素边界的分割模型;音素时长预测模型;基础频率预测模型;音频合成模型。
字母到音素的转换模型将字符转换为音素(如ARPBET等标准音标系统)的串。
定位音素边界的分割模型则是在语音数据库中确定音素的边界。如给定一个声音文件和一个对应的内容字符到音素脚本,分割模型确定在声音文件中每个音素的开始和结束边界。
音素时长模型预测每个音素在音素串中的发声时长。
基础频率预测模型决定一个音素是否被发声。如果发声,则通过音素的时长预测其需要的基础频率。
音频合成模型结合上面4个模型,在高码率下对应文本合成语音。
这里可以利用分词知识库对文本进行语义、语法和词法分析,进而知道哪些是短语或句子,哪些是词及停顿等问题;语言学处理包括文体分析,还要将输入的文字转换成计算机能够处理的内部参数。
人类发音具有不同的声调、语气和停顿方式,发音的长短也不同。韵律生成提取出其中的韵律特征,以解决要发什么音、怎样发音的问题。韵律生成方法采用基于规则的方法。
语音生成是根据韵律建模的结果,从原始语音数据库中取出相应的语音基元,利用特定的语音合成技术对语音基元进行韵律特性的调整和修改,最终合成符合要求的语音。
3. TTS的应用领域
文本—语音转换在各种计算机相关领域中有着广泛的应用前景。目前,人与计算机之间进行交互的最常规手段是通过键盘输入信息,通过屏幕或打印机以视觉形式输出信息。这种方式不同于人与人之间通过语音来交流信息的自然的交往方式,因而不仅极大地限制了普通用户使用计算机,而且在某些特定场合使用起来也很不方便。因此,构造一个以语音为媒介的与计算机进行交互的系统即智能计算机界面,是人们长久以来的梦想,也是科技人员孜孜以求的目标。显然,智能计算机界面包括两个相对独立的部分:“倾听”部分,即语音识别;“诉说”部分,即文本—语音转换。随着这两方面技术的不断发展,人机接口将会从根本上得到改善,从而使计算机以崭新的面貌进入人类生活,发挥出更大的作用。
除了人机交互外,TTS系统在医疗、教育、通信、信息、家电等领域也具有相当广泛的用途。
2.5.2 语音识别系统实例—深度学习
语音识别是把输入的语音信号经过数字信号处理后得到一组特征参数,然后将这组特征参数与预存的模板进行比较,从而确定说话者所说内容的一门新的声音识别技术。
语音识别系统根据不同的分类方式及依据,分为以下几类:根据对说话人说话方式的要求,可以分为孤立字(词)语音识别系统、连接字语音识别系统及连续语音识别系统;根据对说话人的依赖程度,可以分为特定人和非特定人语音识别系统;根据词汇量大小,可以分为小词汇量、中等词汇量、大词汇量、无限词汇量语音识别系统。
不同的语音识别系统,虽然具体实现细节有所不同,但所采用的基本技术相似。语音识别技术主要包括特征提取技术、模式匹配准则及模型训练技术3个方面,此外,还涉及语音识别单元的选取技术。
选择识别单元是语音识别研究的第一步。语音识别单元有单词(句)、音节和音素3种,具体选择哪一种,由具体的研究任务决定。特征提取就是通过对语音信号进行分析处理,去除对语音识别无关紧要的冗余信息,获得影响语音识别的重要信息。对于非特定人语音识别来讲,希望特征参数尽可能多地反映语义信息,尽量减少说话人的个人信息。模型训练是指按照一定的准则,从大量已知模式中获取表征该模式本质特征的模型参数,而模式匹配则是根据一定的准则,使未知模式与模型库中的某一个模型获得最佳匹配。
语音识别已经存在数十年了,但是直到2016年后,人们才有了成熟和易用的产品(如亚马逊公司的Alexa、微软开发的Cortana和苹果公司的Siri等语音助理产品),原因是深度学习的发展让语音识别足够准确,能够让语音识别在普适环境中得到使用。
只有语音识别的准确率从95%达到99%时,语音识别才能成为人与计算机交互的主要方式。在这里,4%的准确性差距就相当“难以容忍的不可靠”到“令人难以置信的有用性”之间的差距。由于有深度学习,人们在逐步实现这一过程。
在将音频进行传统的采样量化进行数字化后,作为音频数据的预处理,这里以20 ms时间段将取得的幅值数据进行分组,每组含有320个样本(16000Hz)。
从图2.13可知,这段音频可以分解为不同频率的声音,低音、中音甚至高音混合在一起,构成了人类复杂的语音。在预处理中,我们使用傅里叶变换来分离各个频带,然后通过将每个频带(从低到高,50Hz为一个频带)中的能量相加,为该音频片段创建了一个特征图(见图2.14)。
图2.13 20ms的声音样本示例和折线图
图2.14 20ms的声音样本的频带能量特征图
将所有音频片断特征图拼起来,就得到了图2.15所示的人类语音的完整频谱图,神经网络可以更加容易地从频谱图中找到规律,如低音部分能量较高,就可能说明这是来自一个男性讲者的声音。
图2.15 人类语音的完整频谱图
对于每一音频频谱切片,将其输入到深度神经网络,神经网络都会试图找出与声音对应的字母。其输出结果是一个和相应字符的匹配概率,这里使用循环神经网络(具有能影响未来预测的记忆的神经网络)。其每个字母都将影响它对下一个字母的预测。例如,如果我们已经说出“HEL”,那么接下来我们很可能说出“LO”以说出“HELLO”,而不太可能会说像“XYZ”这种根本无法发音的词。因此,具有先前预测的记忆将有助于神经网络对未来进行更准确的预测。当在神经网络上运行整个音频剪辑(一次一块)后,最终将得到与每个音频块最可能对应的字符的一个映射。
根据图2.16,可能的转录拼接有“HELLO”“HULLO”和“AULLO”,显然“HELLO”在文本数据库中更频繁地出现,因此选择“HELLO”作为最后的转录,从而完成音频识别。
图2.16 完成从音频片段到词语的转录