确定音频数据中的乐器

信息处理 声音的
2022-02-07 07:26:11

在音频数据中寻找不同的乐器或能源究竟是什么?

所以 FFT 可以提取频率,但是如何在低音线旁边检测打击乐呢?

频率箱是否会被检查到仪器的频率映射中?这将导致可能的仪器发生碰撞。

FFT 输出的频率是否可以直接映射到音高频率图表,还是应该先进行转换?

2个回答

这里似乎有四个问题。我无法为每个问题给出完整的答案,但让我依次解决。

在音频数据中寻找不同的乐器或能源究竟是什么?

对此并没有真正的单一答案。对许多密切相关但最终不同的问题进行了大量研究。一般来说,仪器的光谱特性会随着时间的推移而变化。在其他声音中跟踪音符的所有谐波和非谐波分量的变化并非易事。

所以 FFT 可以提取频率,但是如何在低音线旁边检测打击乐呢?

通常,您会使用短时傅立叶变换,以便获得时间数据和光谱信息。从这里你有几个问题需要考虑:

源分离:查找ICANMFCASA等技术。这将在检测到的源之间分配能量,从而使您能够检测到单独的仪器。

基频检测:我建议对频带进行汇总自相关,而不是纯粹的时域或频域方法。

还有来源识别(我不太了解)。

频率箱是否会被检查到仪器的频率映射中?这将导致可能的仪器发生碰撞。

您需要分配频率信息,而不仅仅是将其全部分配给一台仪器。

FFT 输出的频率是否可以直接映射到音高频率图表,还是应该先进行转换?

在音高频率图表上给出的基频可能实际上并不存在于音符中(“缺失的基本问题”)。因此,在您可以使用图表之前,需要一种基本频率检测算法,例如我上面建议的算法。

音频数据的 FFT 中的一些频率(通常是绝大多数)代表音乐音高的一些泛音。甚至可能是不同音高源的不同泛音数量的组合。在进行任何音符音高映射之前,需要弄清楚一个频率代表哪个音高源的哪个泛音。由于许多乐器的泛音可能会重叠,因此您可能还需要弄清楚如何将它们作为过程的一部分进行分离。