只是为了弄清楚-这个属性不是基本的,但重要的。在使用DCT代替DFT进行频谱计算时,这是根本的区别。
为什么要进行倒谱均值归一化
在说话人识别中,我们要消除任何声道效果(声道的冲激响应,音频路径,房间等)。假设输入信号为且信道脉冲响应由,则记录的信号为两者的线性卷积:h [ n ]x[n]h[n]
y[n]=x[n]⋆h[n]
通过傅立叶变换,我们得到:
ÿ[ f] = X[ f] ⋅ ħ[ f]
由于FT的卷积乘法等价特性- 这就是为什么在此步骤中FFT如此重要的特性。
计算倒频谱的下一步是获取频谱的对数:
ÿ[ q] = 日志ÿ[ f] = 日志(X[ f] ⋅ ħ[ f] ) = X[ q] + H[ q]
因为:。显然,q是quefrency。可能有人注意到,通过在时域中进行卷积倒谱,我们最终在倒谱(querency)域中增加了结果。日志(a b )= 对数一个+ 日志bq
什么是倒谱均值归一化?
现在我们知道在倒频谱域中任何卷积失真都由加法表示。我们假设它们都是固定的(这是一个很强的假设,因为声道和声道的响应没有改变),并且固定的语音部分可以忽略不计。我们可以观察到,对于第i个帧,真实的是:
ÿ一世[ q] = 高[ q] + X一世[ q]
通过取所有帧的平均值,我们得到
1ñ∑一世ÿ一世[ q] = 高[ q] + 1ñ∑一世X一世[ q]
定义区别:
[R一世[ q]= Y一世[ q] - 1ñ∑ĴÿĴ[ q]= 高[ q] + X一世[ q] - (高[ q] + 1ñ∑ĴXĴ[ q] )= X一世[ q] - 1ñ∑ĴXĴ[ q]
最后,我们去除了通道失真的信号。将以上所有方程式变成简单的英语:
- 计算倒谱
- 从每个系数中减去平均值
- (可选)除以方差除以执行倒谱均值归一化(与减法相反)。
倒谱均值归一化是否必要?
这不是强制性的,尤其是当您试图在单个环境中识别一位发言人时。实际上,它甚至会恶化您的结果,因为它容易因附加噪声而导致错误:
ÿ[ Ñ ] = X [ Ñ ] ⋆ ħ [ Ñ ] + 瓦特[ Ñ ]
ÿ[ f] = X[ f] ⋅ ħ[ f] + W[ f]
日志ÿ[ f] = 日志[ X[ f] (高[ f] + W[ f]X[ f]) ] =日志X[ f] + 日志(高[ f] + W[ f]X[ f])
在较差的SNR条件下,标记项可能会超过估算值。
尽管执行CMS时,通常可以获得很少的额外收益。如果您从系数的导数中获得更高的性能提升,那么您的识别率就会真正提高。最终的决定权取决于您,尤其是还有很多其他方法可用于改善语音识别系统。