吉他和弦识别算法?

Posted

技术标签:

【中文标题】吉他和弦识别算法?【英文标题】:Guitar Chord Recognition Algorithm? 【发布时间】:2011-05-01 06:58:51 【问题描述】:

有什么好的数字信号处理算法可以很好地处理吉他和弦?由于快速傅里叶变换,我认为只有在吉他上弹奏的单个音符上才准确,而不是同时弹奏的音符(即和弦)。

谢谢!

【问题讨论】:

向 Melodyne 的人提问:youtube.com/watch?v=jFCjv4_jqAY 您认为 FFT 在您的案例中不准确的依据是什么? 【参考方案1】:

简短的回答是,您需要的算法远不止一种。好的和弦识别方法可以更恰当地描述为“系统”,但通常它们确实基于到频域的初始变换(最常见的是 DFT)。

如果你想要类似这首歌的和弦表示

C G Am F7 F6 C ...

那么这实际上是一个在识别一段音频中的音符时略微消除的问题。其实有两个问题(粗略地说):

    随时查找存在哪些音高 随着时间的推移对这些音高进行分组,以便能够将和弦标签分配给时间间隔。

事实证明,从时域(普通音频)转换到频域(频谱表示)的方式的重要性有限。事后做什么非常重要,并且通常使用复杂的概率模型(类似于语音识别中的模型:HMM、DBN 等)来解决这个问题。

尝试使用谷歌学者“和弦转录”,或“和弦检测”,或“和弦标记”进行该领域的高级研究。

这些方法中的大多数使用离散傅里叶变换 (DFT) 来创建初始频谱图。在进一步的处理过程中,它们也往往略有不同,尽管已经使用了不同的时间序列平滑技术:隐马尔可夫模型、动态贝叶斯网络、支持向量机 (SVMstruct) 和条件随机场等。 最先进的转录器使用自动调音、键信息、低音音符信息和公制位置信息来改进结果。我的thesis(第 2 章)提供了一个很好的概述。

开源和弦检测算法:

Chordino http://isophonics.net/nnls-chroma http://clam-project.org/ 的脊索数据 LabROSA 和弦识别http://labrosa.ee.columbia.edu/projects/chords/

希望这会有所帮助。

【讨论】:

+1 以获得良好的答案并能够在答案中引用您自己的论文。 我在使用 LabROSA Chord Recognition 时遇到困难,您能指导我如何使用它吗?我使用终端命令 extractFeaturesAndTrain_svm 和 doChordID_svm,但无法识别【参考方案2】:

好吧,您可以尝试另一组频域算法,例如小波。但我不确定这是否会解决您的准确性问题。实际上,我不明白您在使用 FFT 时遇到了什么问题。它始终是和弦的近似值,没有完美的方法来检索那种关于声音的信息。

因此,这取决于您对该频谱进行的分析,对于单音符,实际上有很多比 FFT 更好的算法,但对于和弦,您很可能必须使用 FFT。

您必须处理的问题是将基本谐波与高次谐波分开,可能有帮助的一件事是仅考虑吉他范围内的频率。 如果您只需要处理吉他声音,则应该花一些时间研究吉他的正常频域图,并尝试使用它来提高准确性。

【讨论】:

嗨!使用 FFT 时,是否可以使用 bin 的强度来尝试确定组成和弦的音符?因为我认为它们之间会有某种关联。【参考方案3】:

有一些相当成功的工具使用 DFT (FFT),但它们在计算 DFT 后会进行大量处理。

尝试this link 了解当前最先进的技术水平,或使用谷歌“Chordino”或“Chordata”了解开源和弦提取算法。

【讨论】:

【参考方案4】:

如果您正确设置软件,FFT 可以而且会为您提供所有单音。 FFT 的重点是区分色调,或者如果您是天体物理学家,您想知道来自恒星的光中的单个元素(硫、氢......)。

谐波不是问题,因为它们的“功率”低于基频,例如 C=440hz,但 C=880hz 也是如此,但 880 将是 FFT 结果中较小的尖峰。

【讨论】:

不,这不是真的,如果您尝试绘制 FFT 产生的频谱,例如,对于在小提琴上演奏的 C5 音符,您会发现 C5 的振幅低于 C6。 @YuriyKravets 我认为他的意思是你可以找到根音,因为正如他所说,它将是具有最大“力量”的那个【参考方案5】:

科学家之间有一个contest,人们试图分析音乐的不同参数。本次比赛的一个部分是和弦识别。该竞赛是公开的,因此任何人都可以参与并展示该领域的结果。 2011年度成绩公布here。

我的一个朋友在这方面取得了不错的成绩(在这次比赛中也是如此)。您可以在他的webpage 上了解他的方法。

【讨论】:

以上是关于吉他和弦识别算法?的主要内容,如果未能解决你的问题,请参考以下文章

推荐一个好用的吉他自学软件

《岁月神偷》弹唱和弦吉他谱_六线谱

guitar pro5.0如何写和弦(扫弦)

如何使用 guitar pro 制作扫弦的吉他谱

基本乐理知识——和弦

安卓版的guitar pro吉他谱文件放在哪