如何处理 CNN 中使用的音频频谱图的动态输入大小?

Luv*_*Luv 7 speech-recognition signal-processing spectrogram conv-neural-network

很多文章都在使用 CNN 来提取音频特征。输入数据是具有时间和频率两个维度的频谱图。

创建音频频谱图时,您需要指定两个维度的确切大小。但它们通常不是固定的。可以通过窗口大小来指定频率维度的大小,但是时域呢?音频样本的长度不同,但CNNs的输入数据的大小应该是固定的。

在我的数据集中,音频长度范围从 1s 到 8s。填充或切割总是对结果影响太大。

所以我想更多地了解这种方法。

Nik*_*rev 3

CNN 是在帧窗口的基础上计算的。您采用 30 个周围帧并训练 CNN 对它们进行分类。在这种情况下,您需要有帧标签,您可以从其他语音识别工具包中获取该标签。

如果你想要纯神经网络解码,你最好训练循环神经网络(RNN),它们允许任意长度的输入。为了提高 RNN 的准确性,您最好还拥有 CTC 层,它允许在没有网络的情况下调整状态对齐。

如果您对该主题感兴趣,可以尝试https://github.com/srvk/eesen,这是一个专为使用循环神经网络进行端到端语音识别而设计的工具包。

还相关将神经网络应用于可变长度语音片段的 MFCC