Show Posts
Pages: [1]
1  Using Arduino / Programming Questions / Re: guitar frequencies on: January 13, 2013, 06:58:40 am
I'm afraid frequency counter library won't work. It detects the frequency of a single frequency signal, and the guitar has several harmonic frequencies superimposed to the major tone, for a single guitar string. If you play all the 6 strings, probabily you get a real mess. The best approach to solve the problem would be to apply FFT (more on http://arduino.cc/forum/index.php/topic,38153.0.html), but it won't be easy. The reason is that the resulting signal is composed by the 6 string tones added to at least 3 harmonic for each tone. I believe it won't be simple to separate and to identify all these frequencies. Besides, to correctly detect the tone, the FFT shall have a resolution of at least 5 Hz (to distinguish between E2 and F2), and this means that the FFT window should be very large, depending on the sampling frequency. This makes real time frequency detection far from feasible.
I've been working on a similar problem, but I want detect a single guitar string frequency. It is still a hard problem, and I realized that FFT wouldn't run in real-time, due to the required large window (above 1024 points for 40 kHz sampling). Up to now I have an algorithm running on Matlab that gives the right frequency in real time to almost 70% of the tones (I think that I can improve it). It doesn't use FFT - it is based on zero-crossing times. If I manage to put it in the Arduino, then I will post it here.
Pages: [1]