输入:来自不同扬声器的 0 到 9 数字的麦克风录音。
输出:从 0 到 9 的数字。
我这样做是为了好玩。所以首先我将使用一些样本训练我的神经网络,然后用它来分类数字。
问题是每个人说出数字所需的时间不同,每个人说出不同数字的时间也不同。这给了我不同持续时间的声音信号。但是神经网络的输入必须是固定大小的。如何使所有输入信号的长度相同,以便将其输入到神经网络?有什么标准的技术吗?傅里叶变换?
输入:来自不同扬声器的 0 到 9 数字的麦克风录音。
输出:从 0 到 9 的数字。
我这样做是为了好玩。所以首先我将使用一些样本训练我的神经网络,然后用它来分类数字。
问题是每个人说出数字所需的时间不同,每个人说出不同数字的时间也不同。这给了我不同持续时间的声音信号。但是神经网络的输入必须是固定大小的。如何使所有输入信号的长度相同,以便将其输入到神经网络?有什么标准的技术吗?傅里叶变换?
所以问题是你想对一些音频样本进行分类,但每个样本都有不同的大小。AFAIK 没有使用(简单)神经网络执行此操作的特殊方法。
对于一般分类器,我相信有很多方法,但这些方法非常简单,因此您可以开始解决这个问题:
无论哪种方式,在“特征提取”部分,您都需要使用一些基于光谱的转换。我建议使用频谱的对数或计算 MFCC 向量。你也可以从原始音频训练你的网络,但这有点不寻常。
您应该注意,由于粒度的原因,这两种方法完全破坏了系统的动态。尝试使用帧大小或聚合相邻帧来增加或减少粒度。