0 前言
在做ASR和KWS实验时,必不可少的需要对语音数据预处理,提取特征(业内常见是提取为MFCC),最后再喂入模型中。数据预处理可分为离线处理和在线处理:
- 离线处理: 训练之前先对语音数据进行加噪音、调低\高音量、1.5倍速播放等(有人用工具audiomentations),然后再提取MFCC特征到特征文件里(特征文件格式.h5,.csv),训练时数据集从特征文件读取,不需要再预处理了.
优点: 只需提取特征一次就可以多次训练,时间减少很多;
缺点: 每个epoch喂入模型的数据特征都是一样的(提取到特征文件,其实特征就被写死了),变相的降低了数据集可增强的空间,模型泛化能力会降低; - 在线处理: 对数据进行预处理,然后提取MFCC特征,最后喂入模型中。每一个epoch都会进行预处理,再喂入模型;
优点: 数据集可增强空间变大(相当于有epoch个数据集),模型泛化能力强;
缺点: 训练时间长,显存消耗大;
后面章节将介绍语音预处理、特征提取到特征文件
1 语音预处理
语音预处理常用工具是librosa或者audiomentations,下面将介绍基于audiomentations的数据