第九章 语音处理

1. 9.1语音处理

ppt page 1:

大家好,接下来给大家讲解第9章语音处理第1节,本节内容是语音处理简介

 

我们将从以下三个方面来给大家做一个介绍:1、语音识别模型 2、语音合成模型 3、语音处理流程。

 

ppt page 2:

本小节学习目标:理解语音识别和语音合成的过程

 

ppt page 3:

以下是语音处理的一个小场景,主要包含了语音识别和语音合成的闭环过程,后面我们会详细给大家讲解语音识别和语音合成的过程

 

ppt page 4:

语音信号处理(speech signal processing)简称语音处理

语音处理是用以研究语音发声过程、语音信号的统计特性、语音的自动识别、机器合成以及语音感知等各种处理技术的总称。

由于现代的语音处理技术都以数字计算为基础,并借助微处理器、信号处理器或通用计算机加以实现,因此也称数字语音信号处理

 

ppt page 5:

现在语音处理技术已经深入到我们的生活中,如车载导航可以通过语音来说出目的地,智能家居可以通过声音来控制家电,音乐播放器可以通过说话来搜索音乐等等,以后会有更多的生活产品和企业产品都会用上语音功能。

 

ppt page 6:

首先,我们先来介绍一下语音识别技术。

语音识别技术就是让机器通过识别和理解把语音信号转变为相应的文本或命令的高端技术,通俗而言就是让计算机”听懂人类语音。

语音识别技术所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声的原理和听觉的原理、人工智能等等。

语音合成与语音识别的过程正好相反,指将计算机自己产生的或外部输入的文字信息转换为语音输出

 

ppt page 7:

接下来,我们介绍一下语音识别模型。

语音识别模型从功能步骤上可以分为三步:

1、从语音中提取特征,获取语音向量;

2、将语音向量进行解码;

3.经过解码获取结果。

在语音识别中,关键的技术就是对于语音向量的训练解码过程,主要包括了声学模型的构建、语音字典的构建以及语言模型的构建。整个语音识别典型模型如下图所示:

 

接下来,我们来介绍图中关键的步骤

 

ppt page 8:

第一步,声学特征提取:

对于一段语音,从输入开始,在声学特征提取阶段主要完成如下操作:

(1)格式转换。当语音输入之后,进行模数转换,将模拟信号转变为数字信号。在实际的音频文件处理中,一般都选择未经过压缩的纯波形文件,比如Windows.wav文件。常见的音频格式(MP3),都是经过压缩处理的,需要进行格式转换

(2)音频预处理。对音频数字信息的预处理主要是去除首尾端的静音部分,从而降低对后续步骤造成的干扰。

(3)分帧处理。分帧处理就是把声音文件切开成一小段一小段,称之为一帧。在分帧操作时,并不是简单的随意将音频文件切开,而是通过移动窗函数的方式来实现,让每一帧音频并不是独立存在的而是互相关联的。

(4)特征提取。完成分帧处理后,语音就变成了很多小段,我们可以在每一小段语音上进行特征提取。常用的是用梅尔频率倒谱系数(简称MFCC)方法来获得声学特征

Python提供了一个用于音频、语音信号分析的工具包,其中提供了处理语音的方法,包括MFCC方法

 

ppt page 9:

第二步,解码

解码包括声学模型、字典、语言模型三部分内容

1)声学模型。声学模型可以理解为对发声的建模。它能够把语音输入转换成语言发音的声音元素,然后将这些音素转为可以识别的字母的模型。

  声学模型一般使用高斯混合模型(GMM)或者深度神经网络(DNN)等方法来完成声音元素的识别,再使用隐马尔可夫模型(HMM)或者动态时间归整(DTW)等算法来对齐识别结果,从而判断对应的单词。

2) 字典

字典是用于判断连续声音元素表达的具体是哪一个单词。因为多数情况下,通过模型识别的每个声音元素并不是个完整的单词,无法对应到正确的语言文字输出。当需要识别出多个声音元素时,利用字典可以判断所表达的具体单词。 

3) 语言模型

语言模型的作用是在声学模型给出发音序列之后,从候选的文字序列中找出概率最大的字符串序列,目前最常用的是N-Gram语言模型和基于RNN的语言模型

 

ppt page 10:

语音合成模型

语音合成模型从功能步骤可以分为两步:一是文本处理,二是语言合成。

1、文本处理。

在文本处理中,主要是把文本转成因素序列,并标出每个音素的起止时间、频率变化等信息,文本处理是语音合成前的预处理步骤,涉及很多处理中的细节问题,例如拼写相同但读音不同的词的区分、缩写的处理,停顿位置的确定等

文本处理主要的工作是把文本数据转换成语音内部表示(phonemic internal representation)。具体内容包括:

1) 文本归一化:对形形色色的自然文本数据进行预处理或者归一化,包括句子的词例还原,非标准词,同形异义词排歧等;

2) 语音分析:文本归一化之后的下一步就是语音分析,具体方法包括通过大规模发音词典,字位-音位转换规则;

3) 韵律分析:分析文本中的平仄格式和押韵规则,这里主要包含三方面的内容,包括:韵律的机构,韵律的突显度,音调。

 

2、语言合成

在语音合成中,依据音素序列生成语音。在生成语言的过程中,主要有三类方法:

1) 拼接法:拼接法指从事先录制的大量语音中,选择所需的基本单位拼接合成语音。这样合成的语音,虽然是由真人录制的声音,听起来都是正确的读音,但是缺少文本中的情感。而且,如果出现语音库中没有对应的语音。或者文本处理时标注出错等情况,最终的发音自然也是错误的,因此,为了保证语音的高质量特性,语音库庞大足够庞大才能保证覆盖率

2) 参数法:参数法根据统计模型来产生每时每刻的语音参数,主要是基频、共振峰频率等。然后把这些参数通过声码器(vocoder)生成波形。由于这种方法使用统计模型进行预测,因此对于语音库中的标注错误并不敏感。但最后输出的是用声码器合成的声音,毕竟有损失,所以听起来不自然

3) 基于波形的统计合成系统:波形统计语音合成是基于深度学习的神经网络实现的,主要特点是不对语音信号进行参数化,而是采用神经网络算法直接预测合成语音模型的每一个采样点。采用这种方法合成的语音,在音质方面略差于拼接法,但相对于拼接法而言系统更稳定,由于需要预测每一个采样点,需要进行大量的运算,因此合成速度较慢,以前由于各种原因导致无法实现基于波形的统计合成系统,后来谷歌发布的WaveNet模型,证明的语音信号可以在时域上进行预测,此类实现方法是现阶段研究的一个热点

 

ppt page 11:

以下是语音合成处理流程。

 

ppt page 12:

本节小结:本节主要讲解本节主要讲解语音处理,包括语音识别和语音合成的过程。本节讲到这里,谢谢大家