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

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

                           走近特定音频识别(之五)—— 音频预处理技术
特定音频识别系统原理图
​    上图中可以看到,离线训练和在线识别两个阶段中,都有 预处理 和 生成特征向量 这两个模块,事实上,这两个模块是大多数音频识别系统(例如特定音频识别、说话人识别、音频场景识别等)所必须的。特别是预处理模块,是几乎所有的音频处理系统(例如语音编码、音频压缩、音频检索等)不可缺少的组成部分。
    预处理,顾名思义,就是在进行系统的核心处理步骤之前所进行的处理动作。不同的音频处理系统,预处理所涉及的步骤及算法也不尽相同。
    一个特定音频识别系统的经典音频预处理模块的处理步骤如下图所示:
                                走近特定音频识别(之五)—— 音频预处理技术
经典音频预处理模块示意图
    首先是解码过程,我们常见的音频文件都是按照不同的编码方式(例如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)等。
    到这里,就把一个典型的特定音频识别系统的预处理模块介绍完毕了,里面涉及到了一些专业术语和比较复杂的处理算法,有兴趣的同学可以自行维基百科或者谷歌:) 下一节,将向大家介绍生成特征向量模块。

原创文章,作者:admin,如若转载,请注明出处: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-%e9%9f%b3%e9%a2%91%e9%a2%84%e5%a4%84%e7%90%86%e6%8a%80%e6%9c%af/

(2)
adminadmin
上一篇 2014年10月28日 下午4:45
下一篇 2014年10月31日

相关推荐

  • 基于大语言模型的事件根因分析

    主要探讨基于大语言模型的事件根因分析。阐述其研究背景、意义,涉及 RCACopilot 和 RCAgent 算法,包含数据收集、处理、输出,以及算法的具体流程等。通过实验对比展示其…

    2024年11月27日
    1.2K
  • 设计模式在Web开发中 的实践

    模式是一种可复用的解决方案,可用于解决软件设计中遇到的常见问题。本次报告带大家了解web开发中部分设计模式思想以及应用实例 ,以及了解消息中间件(异步、解耦、削峰)的简单使用。

    2020年10月19日
    1.2K
  • 多人协作利器Git

    详细介绍Git的原理、初级和进阶用法

    2020年9月4日
    1.6K
  • 对抗环境强化学习

    强化学习(Reinforcement learning ,RL )是机器学习领域之一,研究如何通过一系列的顺序决策来达成一个特定目标。本次报告从强化学习的基本框架开始,介绍了强化学…

    2019年12月17日
    1.5K
  • 成员推理攻击

    成员推理攻击(Membership Inference Attack)作为一种隐私攻击方法,其攻击对象是机器学习目标模型,攻击目标是推理一条或一批数据是否作为目标模型的训练集,以此…

    2022年10月16日
    3.8K
  • 动态规划算法简介

    1 基本概念 维基百科对动态规划(Dynamic programming,DP)的定义:它是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂…

    2015年1月29日
    1.6K
  • DNN模型水印及其鲁棒性评估

    模型水印技术是一种利用特定信息认证保护模型知识产权的方法。本次报告分析了深度学习领域现有的模型水印嵌入方法,从性能鲁棒性和稳定鲁棒性两方面讲述模型水印鲁棒性评估方法,并以实例分析和…

    2023年11月30日
    1.2K
  • 数据挖掘中的数据清洗方法

          数据清洗是数据挖掘工作中很重要的一部分工作,目的是解决数据的质量问题,将“脏”数据变成标准的、干净的数据,更…

    2018年5月14日
    1.5K
  • Automated Machine Learning

          机器学习是件很复杂的事情,在机器学习向更多领域扩展的时候,遇到了机器学习专家这一资源的限制。自动机器学习(A…

    2019年3月4日
    1.2K