用于吉他调音的频率检测 [英] Frequency detection for guitar tuning

查看:726
本文介绍了用于吉他调音的频率检测的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我计划推出一款移动吉他调音器应用。我做了一个初步的研究,发现了一些常用的音高检测方法,如快速傅里叶变换,自相关等。



我还发现FFT不是非常好的检测频率的机制。
由于这个项目中有2个部分正在检测吉他弦的频率并将该频率与弦应该在的频率相匹配,我想到使用已经实现的类库来检测频率串。



我目前不知道这个项目有多难,所以我的问题是项目的哪个部分更难?它是匹配2个频率还是检测字符串的频率?还有一种方法可以使用FFT但同时获得字符串的准确频率。



感谢您的时间。

解决方案

TarsosDSP项目是一个java音频处理库,包含几种基音检测算法。您可以使用提供的


I am planning to implement a mobile guitar tuner app. I did an initial research and found out some commonly used methods for pitch detection such as fast Fourier transformation , autocorrelation ,etc.

I have also found out that FFT is not a very good mechanism to detect frequency. Since there are 2 parts in this project which is detecting the frequency of a guitar string and matching that frequency with the frequency which the string should be in,i thought of using an already implemented class library for detecting the frequency of a string.

I currently have no idea how tough this project will be, so my question is which part of the project is tougher? Is it matching the 2 frequencies or detecting a frequency of a string ? Also is there a way to use the FFT but at the same time get the accurate frequency of the string.

Thank you for your time.

解决方案

The TarsosDSP project, a java audio processing library, contains several pitch detection algorithms. You can test them using the provided pitch detection example, an see which one works best in your case. The source code can be found on the TarsosDSP github page

The library is open source and available on Android. I think it is a good match for your application.

To match a frequencies to a target frequencies, i would convert both to the absolute cents scale (or MIDI cents). 100 cents equals a semi-tone. You then can round up to the nearest 100 to get the assumed target tone. Consult this page to convert frequencies in hertz to cents

这篇关于用于吉他调音的频率检测的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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