倒谱分析与mfcc系数--倒谱计算与显示_语音合成中的Mel谱和MFCC谱无区别

语音合成目前比较流行的方案是Tacotron(2) + WaveNet(WaveRNN, LPCNet)等神经网络声码器。

这些方案的流程大致相同,先由文本生成特征谱,再将特征谱重建为音频。在选择特征谱的时候,有的使用了Mel谱,有的使用了倒谱。

本文通过梳理计算倒谱的流程,试图说明使用Mel谱和倒谱并无区别。

下图是Matlab计算倒谱的过程

23a3b088-6517-eb11-8da9-e4434bdf6706.png

可以分成以下几步:

  1. 音频时域信号分帧
  2. 对每一帧进行傅里叶变换,并取幅值,得到线性谱
  3. 对线性谱进行Mel刻度的加权求和,得到Mel谱
  4. 取log10,得到Fbank
  5. 取离散余弦变换,得到倒谱系数

从以上过程可以知道,Mel谱和倒谱系数的区别,在于一个取对数和取离散余弦变换的过程。

我们知道,离散余弦变换是一个线性变换。线性变换对于神经网络来说是小菜一碟。所以Mel谱和倒谱系数的主要区别是取对数的过程

在几乎所有的开源代码中,使用Mel谱特征的时候,都会对Mel谱特征求db值,也就是求一个N*log10()的值。其中N与mel谱幅值是否平方有关:如果Mel谱单是傅里叶变换后的幅值,那么N一般取10;如果Mel谱是傅里叶变换后幅值的平方,那么N一般取20。按照这样的方法,Mel谱特征和倒谱特征只差了一个线性变换矩阵,对于神经网络来说相当于没差。

所以,在使用Mel谱特征时,如果计算了db值,那么和使用Mfcc倒谱特征效果应是相同的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值