Digital Guitar Tuner

Eric Tai | Daniel Tsui

ECE 476: Spring 2005

 

Introduction | High Level Design | Program/Hardware Design | Results | Conclusions | Appendix

 

High Level Design

 

Rationale

††††††††††† Originally, we tapped the 476 Project Ideas web site as a source of inspiration.We noticed that a big fraction of the class were creating projects that either used the TV, or a video game controller, and we decided to make something that would be different from others.Both of us were guitar players, who have to either tune our guitars by ear, or from some web site that puts out sounds at predetermined frequencies.Both ways are very annoying.We figured that we could make a guitar tuner in class and also be able to use it for our own independent purposes.

†††††††††††

Background Knowledge

††††††††††† In order for a guitar to be in-tune, the fundamental frequency of each string must be exactly matching its corresponding note. Below is a table of the strings on a guitar and their corresponding fundamental frequencies.

 

String

Frequency

E2

83.407

A2

110.00

D3

146.83

G3

196.00

B3

246.94

E4

329.63

 

 

Logical Structure

††††††††††† There were several main stages needed for the guitar tuner: amplification, analog-to-digital conversion, low-pass filtering, and comparison.(FIGURE)When a waveform leaves the guitar, it has a mean voltage of zero volts and a peak-peak of 400-600mV.Amplification boosts this signal so that it has a mean voltage of 2.5V and a peak-peak of 5V.This waveform can then be fed into the ADC, which converts the analog waveform into a stream of numbers, varying from 0 to 255.Assuming that the zero-crossing point is around 128 in that number span, the time elapsed for one full period of the waveform can be measured.This period is then compared against the known period in so that a set of LEDís can light up, indicating whether or not the waveform input matches what is expected for that certain string.

 

 

Hardware/Software Tradeoffs

††††††††††† For the signal processing, we used the Atmel MEGA32 chip that has been used in lab all semester. Since lectures taught the functionality of this chip, we did not have to learn very many new ideas. Both embedded C and Assembly were taught in lecture, but we figured that we could use C because of its simplicity. We were not in a pressing need for extra cycles.

 

††††††††††† As done in lecture and in one of the labs this semester, the best way to implement the ADC with the guitar waveform was to create an analog amplifier and DC Bias. Since the ADC has a VRef of 5V, it made sense that the guitar waveform should also have a max of 5V. This meant that the waveformís mean would sit at around 2.5V so that it would have enough room to vibrate in the positive and negative direction.

 

††††††††††† A guitar waveform has a fundamental frequency as well as overtones, and the best way to filter these overtones was to create a digital filter. Because there were six strings that all vibrated at different frequencies, implementing analog filters would mean that six separate filters would have to be made. It was cheaper and easier to write the filter in code.

†††††††††††

 

Relationship to available IEEE, ISO, ANSI and other standards

††††††††††† There should be no standards that would affect this project.The frequencies for each of the notes have been set a long time ago and are now common knowledge.

 

Intellectual Property

††††††††††† There are a large number of guitar tuners that are on the market currently. While many of those products have copyrights/patents affiliated with its production, we do not know if we were infringing on any intellectual property because many of those companies do not divulge their trade secrets.Chances are, we arenít infringing on any intellectual property, because of how each of the components is already part of the public domain.