吉他和弦识别算法?
什么是适合吉他和弦的数字信号处理算法?由于快速傅里叶变换,我认为仅对吉他上演奏的单个音符准确,但对同时演奏的音符(即和弦)不准确。
谢谢!
Whats a good digital signal processing algorithm that is good on guitar chords? Since Fast Fourier Transform I think only is accurate on single notes played on the guitar but not notes that are played simultaenously (i.e. chords).
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

发布评论
评论(5)
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
简而言之,您需要的不仅仅是一种算法。好的和弦识别方法可以更恰当地描述为“系统”,但通常它们确实基于频域的初始变换(最常见的是 DFT)。
如果您想要与此类似的歌曲的和弦表示
,那么这实际上是一个与识别音频片段中的音符稍微相关的问题。事实上,有两个问题(粗略地说):
事实证明,从时域(普通音频)转换到频域(频谱表示)的方式的重要性有限。之后做什么非常重要,并且通常使用复杂的概率模型(类似于语音识别中的模型:HMM、DBN,...)来解决这个问题。
尝试使用谷歌学者“和弦转录”、“和弦检测”或“和弦标签”来进行该领域的高级研究。
大多数这些方法使用离散傅立叶变换 (DFT) 来创建初始频谱图。在进一步处理过程中,尽管使用了不同的时间序列平滑技术:隐马尔可夫模型、动态贝叶斯网络、支持向量机 (SVMstruct) 和条件随机场等,但它们往往仅有细微的差别。
最先进的转录器使用自动调音、调性信息、低音音符信息和度量位置信息来改进结果。我的论文(第 2 章)给出了很好的概述。
开源和弦检测算法:
希望这会有所帮助。
The short answer is that you need much more than one algorithm. Good chord recognition methods could more aptly be described as "systems", but usually they are indeed based on an initial transform to the frequency domain (most often DFT).
If you want a chord representaton of the song similar to this
then this is actually a problem that is slightly removed from recognising the notes in a piece of audio. In fact, there are two problems (roughly speaking):
It turns out that the way you transform from the time domain (normal audio) to the frequency domain (spectral representation) is only of limited importance. It's very important what you do afterwards, and often sophisticated probabilistic models (similar to those in speech recognition: HMMs, DBNs, ...) are used to tackle this problem.
Try google scholar "chord transcription", or "chord detection", or "chord labelling" for advanced research in this area.
Most of these approaches use a discrete Fourier transform (DFT) to create the initial spectrogram. During further processing, too, they tend to differ only slightly, though different time-series smoothing techniques have been used: hidden Markov models, dynamic Bayesian networks, support vector machines (SVMstruct), and conditional random fields -- among others.
The most advanced transcribers use automatic tuning, key information, bass note information, and information of the metric position to improve the results. My thesis (Chapter 2) gives a nice overview.
Open source chord detection algorithms:
Hope this helps.