3

我正在考虑尝试制作一个程序,该程序将使用仅包含鼓声的音频文件自动生成鼓标签。

我曾考虑使用 FFT 在 xxxx ms 间隔内获得平均频谱峰值,然后将其与包含该特定架子鼓和音响装置的所有鼓部分(小鼓、墓穴、基鼓等)的表格进行比较。

但我有一种感觉,这不会那么容易。你们对我可以使用哪些方法来解决我的问题有什么建议吗?

//埃里克

4

1 回答 1

3

除了微不足道的信号外,任何事情都不容易。几乎所有西方“古典”音乐和商业音乐都具有重合的鼓声。

1:叠加:原始源在频域中以与它们在时域中类似的方式相加。每个 FFT bin 包含来自当前正在演奏的所有乐器的贡献(以及那些没有阻尼但仍在衰减或共鸣的乐器)。挑选各种来源是困难的——当然也不能与光谱库进行比较。

2:FFT 根据其定义在时域中对音频进行窗口化,并在该窗口周期内产生每个 bin 中基函数的幅度和相位。您可以说的最好的就是在窗口期内出现的内容对应于鼓声。如果要计算 1024 点 FFT,则窗口持续时间在 44.1kHz 时为 23ms。从音乐的角度来看,120bpm 的 16 分音符相隔 31.3 毫秒。您可能会使用较小的 FFT。

3:打击乐器的信号看起来很像噪音——至少在敲击乐器的地方是这样。也就是说,将有能量分布在整个频谱上,没有明显的主导频率。撞击后,调谐打击乐开始看起来更“音调”。

您可能需要查看时域方法来准确检测起始点(起始检测)。从那里您可以查看信号的时域或频域特征,以尝试推断出有问题的仪器。对于正在播放的音乐类型的先验知识,您可能还可以做很多事情,从而使您能够预测可能存在的模式。

这是更广义的音频源分离问题的一个特例。在这个领域有很多学术活动,因此发表了很多描述方法的论文。寻源 分离音乐信息 检索音频特征 检测

于 2013-05-23T23:16:10.923 回答