吉他和弦识别算法? [英] Guitar Chord Recognition Algorithm?

查看:809
本文介绍了吉他和弦识别算法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请告诉我一个很好的数字信号处理算法,它是吉他和弦好?由于快速傅立叶变换我觉得只有是准确的在吉他演奏单音,但不能被simultaenously弹奏的音符(即和弦)。

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).

谢谢!

推荐答案

简短的回答是,你需要不止一个算法等等。好的弦识别方法可以更恰当地被描述为系统,但通常它们是确实根据初始变换到频域(最多DFT)。

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).

如果你想有一个和弦重新类似于此歌曲的presentaton

If you want a chord representaton of the song similar to this

C G Am F7 F6 C ...

那么这实际上是稍微偏离了一段音频识别注释去掉一个问题。事实上,有两个问题(粗略地说):

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):


  1. 发现该球场是在任何时候present

  2. 分组这些间距随时间以便能够和弦标签分配给的时间间隔。

原来,从时域(正常的音频)到频域(频谱再presentation)转换的方式是唯一的限制的重要性。你做了什么事后,往往复杂的概率模型(类似于那些在语音识别:HMM模型,动态Bayesian,...)这是非常重要的。是用来解决这个问题。

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.

大多数这些方法使用离散傅立叶变换(DFT)来创建初始频谱。期间进一步处理,同样,它们往往仅略有不同,但不同的时间序列平滑技术已被用于:隐马尔可夫模型,动态贝叶斯网络,支持向量机(SVMstruct),和条件随机场 - 等等。
最先进的誊写使用自动调谐,关键信息,贝司音符信息和指标的位置,提高了结果的信息。我论文(第2章)给出了一个很好的概述。

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.

开源和弦检测算法:

  • Chordino at http://isophonics.net/nnls-chroma
  • Chordata at http://clam-project.org/
  • LabROSA Chord Recognition http://labrosa.ee.columbia.edu/projects/chords/

希望这有助于。

这篇关于吉他和弦识别算法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆