torchaudio MFCC设置n_mels过高



我目前正在为语音识别模型pytorch工作。

当我使用torchaudio.transforms.MFCC(sample_rate=16000, n_mfcc=40)进行数据预处理时,会出现n_mels(128)设置过高或n_freqs(201)设置过低的警告。当然,这只是一个警告,但我有点担心。此外,当我使用torchaudio.transforms.MFCC(sample_rate=8000, n_mfcc=40)时,它工作得很好,没有任何警告。

(1)在较高的采样率下,可能是什么原因导致这个警告?

(2)这个警告到底告诉了我什么?这会影响我的模型性能吗?

我是stackoverflow和pytorch编码的新手,如果我在问题上犯了任何错误,我很抱歉。

您的音频具有一定的频率内容。高频内容可能受到采样率的限制,但也可能存在低通/高切割效果,使限制更低。

当您将音频从8k上采样到16k时,采样可能代表更高的频率内容-但过程不会创建任何此类内容-因此频谱的顶部将为空。

torchaudio的默认值是使用samplerate/2作为最大滤波器组频率。所以当你增加采样时滤波器组的最高频率上升,但是在那些箱子里没有数据。这会触发你看到的警告。

要去掉警告,可以:

  1. 减少采样,使采样/2对你的音频内容是合理的
  2. 将fmax设置为音频中最高频率的内容。

空的过滤器组行可能会影响模型性能。0能量会扭曲标准化。这是否值得注意取决于许多因素,如模型、训练过程、问题的难度、所需的性能等。但最安全的方法不是避免它。

相关内容

  • 没有找到相关文章

最新更新