许多文章都在使用CNN提取音频功能。输入数据是具有两个维度(时间和频率)的频谱图。
创建音频频谱图时,您需要指定两个尺寸的确切大小。但是它们通常是不固定的。可以通过窗口大小指定频率维度的大小,但是时域呢?音频样本的长度不同,但是CNN的输入数据的大小应该是固定的。
在我的数据集中,音频长度从1s到8s。填充或剪切始终会对结果产生太大影响。
因此,我想更多地了解这种方法。
最佳答案
CNN是基于帧窗口计算的。您假设周围有30个框架,然后训练CNN对它们进行分类。在这种情况下,您需要具有框架标签,您可以从其他语音识别工具包中获得框架标签。
如果要进行纯神经网络解码,则最好训练递归神经网络(RNN),它们允许任意长度的输入。为了提高RNN的准确性,您最好还具有CTC层,该层将允许在没有网络的情况下调整状态对齐。
如果您对此主题感兴趣,可以尝试https://github.com/srvk/eesen,这是一个为使用递归神经网络进行端到端语音识别而设计的工具包。
也相关Applying neural network to MFCCs for variable-length speech segments
关于signal-processing - 如何处理CNN中使用的音频频谱图的动态输入大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37045126/