1. 信息系统及安全对抗实验中心首页
  2. 学术报告

走近特定音频识别(之五)—— 音频预处理技术

上一篇博文向大家介绍了,一个典型的特定音频识别系统的原理如下图所示:

                           走近特定音频识别(之五)—— 音频预处理技术
特定音频识别系统原理图
​    上图中可以看到,离线训练和在线识别两个阶段中,都有 预处理 和 生成特征向量 这两个模块,事实上,这两个模块是大多数音频识别系统(例如特定音频识别、说话人识别、音频场景识别等)所必须的。特别是预处理模块,是几乎所有的音频处理系统(例如语音编码、音频压缩、音频检索等)不可缺少的组成部分。
    预处理,顾名思义,就是在进行系统的核心处理步骤之前所进行的处理动作。不同的音频处理系统,预处理所涉及的步骤及算法也不尽相同。
    一个特定音频识别系统的经典音频预处理模块的处理步骤如下图所示:
                                走近特定音频识别(之五)—— 音频预处理技术
经典音频预处理模块示意图
    首先是解码过程,我们常见的音频文件都是按照不同的编码方式(例如wav、MP3、acc、ape、fla、mp4、wma等)存储在文件系统当中的,因此,在进行识别或者训练之前,必须将不同编码方式下的音频文件通过解码,统一转换为后续处理步骤可以处理的数据格式(例如PCM、wav 等等)。
    解码之后,音频文件需要进行分帧处理,也就是把音频数据按照时间顺序,分割成20毫秒左右的音频片段(被称作音频帧)。实际的操作过程中,往往采用滑窗的方法进行,即采用一个20毫秒长的窗口,从音频的起点开始向后滑动,每隔一段特定的时长(例如10毫秒,这个时长被称作帧移),就做一次分帧处理。在分帧时,往往并不适用矩形窗,而使用双肩并不是直角的窗口,例如汉明(Hamming)窗和汉宁(Hanning)窗等。
    对于特定音频识别系统来说,静音及能量过低的音频片段,对后续的训练和识别过程都是有负面影响的,因此,在预处理阶段去除静音及能量过低的音频片段,是预处理模块的一项基本步骤。一个简单的处理办法是:设定一个能量阈值,能量低于该阈值的音频帧,判断为静音或能量过低的音频帧,予以丢弃。
    接下来的步骤是生成音频段。由于音频帧受时间的限制,所包含的信息相对有限,对于特定音频的共性特征不易表现,因此不能直接采用帧特征进行特定音频的学习和识别,而是将一定数量的音频帧组成音频段,通过分析和处理音频段内的所有帧特征得到音频段特征,利用段特征进行特定音频训练和识别,可以得到更好的识别效果。音频段特征的生成方法如下图所示。
                                  走近特定音频识别(之五)—— 音频预处理技术
   音频段的生成方法示意图
    在实际情况下,音频信号往往受到背景噪声、编码损耗、以及非理想的传输通道的影响,如电话信道、手机信道等等,这些都会对特定音频识别系统的性能造成一定的影响。因此,信道自适应也是一项重要的预处理步骤。
    在倒谱域,卷积噪声的影响变成了加性的。假设传输信道的性质(相对于语音信号而言)在较长的时间内是不变的,因此其倒谱参数也就不变,并且假设卷积噪声同语音信号不相关,因此就可以在倒谱域通过一个高通滤波器,把慢变的卷积噪声滤掉。倒谱均值归一化(Cepstral Mean Normalization, CMN; 又称为倒谱均值相减, Cepstral Mean Subtraction, CMS)是一种简单有效的解决方法,复杂的方法包括RASTA滤波,短时高斯化(CDF),特征映射(Feature Mapping)等。
    到这里,就把一个典型的特定音频识别系统的预处理模块介绍完毕了,里面涉及到了一些专业术语和比较复杂的处理算法,有兴趣的同学可以自行维基百科或者谷歌:) 下一节,将向大家介绍生成特征向量模块。

原创文章,作者:BFS,如若转载,请注明出处:https://www.isclab.org.cn/2014/10/28/%e8%b5%b0%e8%bf%91%e7%89%b9%e5%ae%9a%e9%9f%b3%e9%a2%91%e8%af%86%e5%88%ab%ef%bc%88%e4%b9%8b%e4%ba%94%ef%bc%89%e2%80%94%e2%80%94-%e9%9f%b3%e9%a2%91%e9%a2%84%e5%a4%84%e7%90%86%e6%8a%80%e6%9c%af/