吉他和弦检测

时间:2011-03-28 10:39:31

标签: audio detection guitar music-notation

虽然这里的大多数其他问题都是关于如何确定哪些音符构成一个和弦,但我的问题略有不同。

您如何确定播放的声音是单个音符还是和弦?我曾尝试搜索一些论文,但到目前为止,我只看到了解决如何检测和弦音符的论文,而不是区分所产生的声音是单音还是和弦。

谢谢!

3 个答案:

答案 0 :(得分:2)

您需要在功率谱上进行某种模式匹配。对于单个音符,您将看到基波+多次谐波,所有这些谐波当然都是基频的整数倍。对于和弦,例如一个简单的大调和弦,如C大调,有音符C,E和G,你将得到3个基本面+每个的谐波。来自不同基本原理的一些谐波将重合(由于音符之间几乎有理性的整数比,这使得和弦声音“良好”),但是频率分量之间仍然存在间隔,这不仅仅是直的倍数,它们的模式确实决定了和弦的本质。它可能是某种分类器或神经网络的良好候选者。

答案 1 :(得分:1)

如果它听起来像是你的和弦,那是因为你的大脑能够区分和弦的谐波。

因此,当您从远处聆听一个和弦时,弦乐将被混合在一起,以便听到和弦的一般音符,就像您正在将声音从多个声道压缩为一个。

如果录制的音质足够好,您应该可以将声音分成不同的阈值,这些阈值由您尝试拾取的音符决定,即drop-d,正常调音。

尝试在声音编辑器中执行此过程,然后尝试将其作为程序处理。

答案 2 :(得分:0)

通过使用称为傅里叶变换的方法,您可以找到任何仪器的任何单一频率甚至噪声。这是一个数学过程,其中执行频率折叠,以便对您提供的样本中的每个音调进行排序。这类似于科学家如何研究太阳和其他恒星,查看所有频率信息,看看哪些元素的数量是多少。在我的硕士论文中,我使用了所谓的FFT或快速傅里叶变换。

您可以使用FFT将谐波与纯音相区分。您将需要使用许多FFT迭代,因为您实际上无法等待FFT解码到天堂的阶梯。在本地查看较小的片段。

您可以在很多地方找到为您执行此操作的软件,您可以查看Wolfram Alpha和类似网站的应用和代码来执行此操作。