本章节主要介绍本次训练的前两步,数据来源,以及特征提取的作用和步骤以及每一步的意义,因为也是刚入门,如有错误,欢迎指正。
一.训练数据
1.数据来源
因为训练需要大量数据模型,数据源考虑从网上下载,此处下载下来大概有100多种鸟类的声音,因为每种都有好几个音频数据,因为只是研究训练模型,本次只计划挑选其中的20条左右用来训练,且因为下载的音频格式是ogg,不确定能否可以直接使用,这个后期在看,如有必要可以考虑转换。
2.特征提取(Feature Extraction)
有非机器学习的方法提取出特征,Fbank或者MFCC,这种特征模拟了人耳的特性,因为人耳无法区分非常相近的两个声音,用这个特性可以区分特征,简单来说,就是在预处理中,我们从原始波形中提取频率特征(本次使用Fbank特征)到说话人模型中。 简单来说,就是提取音频中的声纹特征信息 提取主要分以下四步
- 第1步:预加重
- 第2步:分帧和加窗
- 第3步:傅里叶变换和功率谱
- 第4步:梅尔滤波器组
参考链接:
- 1.www.jianshu.com/p/06895b387…
- 2.zhuanlan.zhihu.com/p/276394091
- 3.zhuanlan.zhihu.com/p/130926693
- 4.www.cnblogs.com/yifanrenshe… -推荐
2.1 预加重
目的:为了增加语音的高频分辨率
- 对语音的高频部分进行加重。
- 公式: y(t) = x(t) - a*x(t-1)
大概理解:因为信号是连续的,预加重的时候用每一个信号减去后一个信号*系数, 其中系数a介于0.9-1.0之间一般用0.95 或者0.97(暂时不知道为啥)
2.2 分帧和加窗
目的:将连续的信号切成固定长度的连续片段,方便下一步的傅里叶变换
- 分帧:就是有overlap的split
- 分帧是指在跟定的音频样本文件中,按照某一个固定的时间长度分割,分割后的每一片样本,称之为一帧,其中连续两帧之间需要有重叠
- 加窗
-
为了解决由于信号的非周期截断,使全局更加连续,让每帧的信号中间大一些,两边小一些
-
加窗本次使用汉明窗(Hamming)
-
公式
假设分帧后的信号为 S(n),n=0,1,2…,N-1,其中N为帧的大小
S(n) = S(n) * W(n) W(n,a) = (1-a) - a * cos(2π/N-1) ,0<=n<=N-1同样,a是一个系数,一般情况取值为0.46
2.3 短时傅里叶变换 和 功率谱
目的: 分帧后的每一帧,通过短时傅里叶变换得到一个频谱,每个频谱通过计算,得到频谱对应的能量谱
1)短时傅里叶变换 * 为了更清晰的看出信号特征,得到每帧在频谱上的能量分布对于每一帧的加窗信号,进行N点FFT变换,也称短时傅里叶变换(STFT),N通常取256或512。
- 为了获取语音信号的能量谱
2.4梅尔滤波器组
目的:模拟人耳对声音的非线性感知,低频更有辨别力
参考链接: