回答
那么,你可以尝试另一组频域的算法,如小波。但我不确定这是否会影响您的准确性问题。其实,我不明白你在FFT方面遇到什么问题。它总是和弦的近似值,没有完美的方式来检索声音上的这种信息。
因此,它取决于您在该频谱上进行的分析,使用单个音符,实际上有许多比FFT更好的算法,但使用和弦您很可能必须使用FFT。
您将不得不处理的问题是将高次谐波的基本谐波分开,有一件事可能有帮助,那就是只考虑吉他范围内的频率。 如果您只需要使用吉他声音,您应该花点时间研究吉他的正常频域图并尝试使用它来提高您的精确度。
嗨!使用FFT时,是否可以使用箱的强度来尝试确定构成和弦的音符?因为我认为他们会有一些相互关联的类型。 – user488792 2011-02-07 08:38:16
有一些使用DFT(FFT)的相当成功的工具,但是他们在计算DFT之后做了大量的处理。
尝试使用this link获取当前技术状态摘要,或者用于开源和弦提取算法的谷歌“Chordino”或“Chordata”。
简短的答案是,你需要远远超过一种算法。良好的和弦识别方法可以更恰当地描述为“系统”,但通常它们确实基于对频域的初始变换(通常是DFT)。
如果你想要的歌曲的和弦representaton与此类似
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为好答案,并能够在答案中引用您自己的论文。 – gary 2011-01-27 14:49:44
我在使用LabROSA Chord Recognition时遇到困难,您能指导我如何使用它吗?我使用终端命令extractFeaturesAndTrain_svm和doChordID_svm,但它不可识别 – 2017-03-21 08:04:58
如果您正确设置了软件,FFT可以并且会给你所有的单音。 FFT的全部内容是区分色调,或者如果您是天体物理学家,您想知道明星发出的光线中的各个元素(sulpher,hydrogen ...)。
谐波不是一个问题,因为它们的功率比基本频率低,例如C = 440hz,但C = 880hz,但880是FFT结果中较小的峰值。
nope,如果您尝试绘制FFT产生的频谱,例如对于在小提琴上演奏的C5音符,您会看到C5的低音振幅比C6。 – 2016-05-14 17:21:39
@YuriyKravets我认为他意味着你可以找到根音,因为它会是最大的“权力”,因为他说的 – 2016-09-18 10:35:13
- 1. 从音频样本中识别单个吉他和弦
- 2. 是否有Android库来识别吉他和弦?
- 3. 吉他和弦检测
- 4. 贤频检测和色彩(吉他弦)
- 5. 文本,基于字符串的和弦识别算法?
- 6. cocos2d适用于iPad的吉他琴弦
- 7. 在和弦进程中计算吉他和弦的最舒服的手指位置
- 8. 如何用Flash的声音合成器模拟吉他弦/和弦?
- 9. 在linux和/或python中产生吉他和弦的最简单方法
- 10. 通过原始音频再现吉他弦与和声
- 11. 在电路显示器上显示吉他和弦
- 12. 在Android SDK中生成吉他和弦图像
- 13. 使用PHP创建图像以显示吉他和弦
- 14. 和弦检测算法?
- 15. 计算正弦和余弦
- 16. 2D形状识别和解析算法
- 17. 算法分析和结构识别
- 18. 计算余弦算法
- 19. 歌曲识别算法
- 20. iPhoto人脸识别算法
- 21. 重复识别算法
- 22. 模式识别算法
- 23. 识别加密算法
- 24. 识别GSM加密算法
- 25. 山脉识别算法
- 26. 服装识别算法
- 27. 字符识别(OCR算法)
- 28. 手势识别算法 - Kinect
- 29. 用于吉他琴弦的FFT音高检测
- 30. Google主页使用的是什么技术(吉他弦)
问问Melodyne的家伙:http://www.youtube.com/watch?v = jFCjv4_jqAY – herzmeister 2010-10-27 12:25:49
你认为FFT在你的情况下是不是真的? – Biggles 2010-10-27 12:37:53