我有点卡在这里因为我似乎无法找到一些算法来试图区分产生的声音是和弦还是单个音符。我正在研究吉他乐器。
目前,我正在尝试的是尝试获得具有最高振幅的前5个频率,然后确定它们是否是基波的谐波(具有最高振幅的谐波)。我正在研究单音符比和弦包含更多谐波的理论,但我不确定是否是这种情况。
我正在考虑的另一件事是尝试添加谐波的各种幅度值,以及将包含“假定的和弦”的音符与FFT的结果进行比较。
你可以帮帮我吗?真的很感激。目前,我只是在主要和小和弦上工作。非常感谢!
答案 0 :(得分:4)
和弦识别仍然是一个研究课题。一个好的解决方案可能需要一些相当复杂的AI模式匹配技术国际音乐信息检索协会似乎每年举办一次关于自动转录类问题的比赛。您可以查看会议和研究论文,了解已尝试的内容以及它的工作情况。
另请注意,基波间距不一定是具有最高FFT幅度结果的频率。使用吉他,通常不是。
答案 1 :(得分:2)
你需要根据我们听到声音的方式来考虑它。寻找前5个频率对你没什么好处。
您需要查找(最大频率幅度)/ srt(2)内的所有频率,以确定信号的和弦/非和弦方面。