借助频谱图进行深度学习以进行声音识别


12

我正在研究使用频谱图对声音(例如动物的声音)进行分类的可能性。这个想法是使用深层卷积神经网络识别光谱图中的片段并输出一个(或多个)类标签。这不是一个新主意(例如,参见鲸鱼声音分类音乐风格识别)。

我面临的问题是我有不同长度的声音文件,因此有不同大小的声谱图。到目前为止,我所见过的每种方法都使用固定大小的声音样本,但我不能这样做,因为我的声音文件可能长达10秒或2分钟。

例如,在开头有鸟声,在结尾有青蛙声(输出应为“ Bird,Frog”)。我当前的解决方案是向神经网络添加一个时间成分(创建更多的递归神经网络),但是我想暂时保持简单。有任何想法,链接,教程...吗?


1
最简单的方法是使用固定长度的FFT而不是STFT(频谱图)。这将消除您的可变长度问题。您为什么不只应用递归神经网络?您只需要一个可行的示例吗?如果是这样,您是否灵活使用哪个软件?
Emre'1

1
我认为使用固定长度的FFT会丢失很多信息。如果我愿意的话,我认为我必须先进行细分,然后在其中寻找“有趣的”部分。我可能会这样做,或者去循环神经网络(一个很好的例子,但不是超级必要,我想使用千层面)。我试图避免的原因是递归神经网络的输出更加难以处理(在每个时间步长,但我只有整个文件的标签)。因此,我想从最简单的模型开始,逐步使其变得更复杂。
user667804 '16

您能否告诉您最终使用了什么以及找到的最佳方法?@ user667804
nia

查阅本文以获取解决方案:ceur-ws.org/Vol-1609/16090547.pdf 在频谱图的固定大小的块上使用CNN,然后对输出求平均以生成一个最终预测(单个输出的平均值似乎有效最好)。
user667804

Answers:


4

对于自动语音识别(ASR),滤波器组功能在频谱图表1上的表现与CNN一样好。您可以在fbank上训练DBN-DNN系统以对动物的声音进行分类。

在实践中,较长的语音被分成较短的语音,这是因为维特比解码不适用于较长的语音。您可以执行相同的操作。

您可以将较长的语音分为固定长度的较小语音。将较长的语音分为较小的语音很容易。问题在于增加长度,使较小的发音达到固定长度。

您可以扭曲频谱图的频率轴以增加较小的发音。这种数据扩充已被证明可以改善ASR性能数据的扩充。

对于其中包含多种声音的较长语音,可以使用音乐分段算法将其划分为多种语音。这些话语可以通过划分或扩充而具有固定的长度。


4

RNN的结果不够好,也很难训练,所以我选择了CNN。

因为特定的动物声音只有几秒钟长,所以我们可以将声谱图分成大块。我用了3秒的时间。然后,我们对每个块进行分类,并对输出求平均以为每个音频文件创建一个预测。这确实非常有效,并且易于实现。

可以在这里找到更深入的解释:http : //ceur-ws.org/Vol-1609/16090547.pdf

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.