论文笔记:语音情感识别(四)语音特征之声谱图,log梅尔谱,MFCC,deltas

一:原始信号
从音频文件中读取出来的原始语音信号通常称为raw waveform,是一个一维数组,长度是由音频长度和采样率决定,比如采样率Fs为16KHz,表示一秒钟内采样16000个点,这个时候如果音频长度是10秒,那么raw waveform中就有160000个值,值的大小通常表示的是振幅。


二:(线性)声谱图
(1)对原始信号进行分帧加窗后,可以得到很多帧,对每一帧做FFT(快速傅里叶变换),傅里叶变换的作用是把时域信号转为频域信号,把每一帧FFT后的频域信号(频谱图)在时间上堆叠起来就可以得到声谱图,其直观理解可以形象地表示为以下几个图,图源见参考资料[1]。
(2)有些论文提到的DCT(离散傅里叶变换)和STFT(短时傅里叶变换)其实是差不多的东西。STFT就是对一系列加窗数据做FFT。而DCT跟FFT的关系就是:FFT是实现DCT的一种快速算法。
(3)FFT有个参数N,表示对多少个点做FFT,如果一帧里面的点的个数小于N就会zero-padding到N的长度。对一帧信号做FFT后会得到N点的复数,这个点的模值就是该频率值下的幅度特性。每个点对应一个频率点,某一点n(n从1开始)表示的频率为\(F_n = (n-1)*Fs/N\),第一个点(n=1,Fn等于0)表示直流信号,最后一个点N的下一个点(n=N+1,Fn=Fs时,实际上这个点是不存在的)表示采样频率Fs。
(4)FFT后我们可以得到N个频点,频率间隔(也叫频率分辨率或)为 Fs / N,比如,采样频率为16000,N为1600,那么FFT后就会得到1600个点,频率间隔为10Hz,FFT得到的1600个值的模可以表示1600个频点对应的振幅。因为FFT具有对称性,当N为偶数时取N/2+1个点,当N为奇数时,取(N+1)/2个点,比如N为512时最后会得到257个值。
(5)用python_speech_feature库时可以看到有三种声谱图,包括振幅谱,功率谱(有些资料称为能量谱,是一个意思,功率就是单位时间的能量),log功率谱。振幅谱就是fft后取绝对值。功率谱就是在振幅谱的基础上平方然后除以N。log功率谱就是在功率谱的基础上取10倍lg,然后减去最大值。得到声谱图矩阵后可以通过matplotlib来画图。
(6)常用的声谱图都是STFT得到的,另外也有用CQT(constant-Q transform)得到的,为了区分,将它们分别称为STFT声谱图和CQT声谱图。

1160281-20181221224530922-479480973.png

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值