我意识到这里已经有相当多关于和弦检测算法的问题;然而,这些问题中的大多数似乎更多地与将歌曲解释为和弦集合或和弦转录有关。我的问题应该简单得多,因为我只对记录吉他和弦的单个弦段感兴趣,然后分析它以返回所演奏的和弦。并且,如果这被证明太难,那么简单地能够判断特定和弦是否被正确播放就足够了,例如,向用户呈现试图演奏的和弦,并且在拨奏之后,应用程序将告诉他们是否演奏了正确的和弦(某种记忆游戏)。我认为第二种选择会更简单,因为应用程序已经知道要期望的和弦。
我已经在一个吉他调谐器中使用了FFT和谐波产品频谱,作为同一应用程序的一部分,我真的想要一些关于如何分析FFT输出的频谱来识别吉他和弦的建议。我也对任何其他关于此事的建议持开放态度,如果能得到任何帮助,我将非常感激。
谢谢
发布于 2012-03-27 21:20:21
对于任何想知道如何做这类事情的人,看看谐波产品谱和音调类轮廓/色度矢量。这些组合是关键。此外,使用搜索词"multiple F0 estimation“而不是"chord detection”将保证更好的结果:)
发布于 2012-02-25 13:35:16
你可以尝试对最常见的和弦进行指纹识别,然后在你的指纹集中寻找最匹配的归一化频谱。例如,将其视为频域中的模式匹配问题。
发布于 2012-04-08 04:23:39
虽然现在回复为时已晚,但我希望这能对你有所帮助..
如果你正在为电子或MIDI吉他或任何其他MIDI乐器编程,那么有一个非常有效的Java包JFugue来处理这些东西,比如检测和弦音符etc..for任何乐器,这个包中有更多的功能。我建议你去看看Jfugue.org
https://stackoverflow.com/questions/9437316
复制相似问题