Homebrew guitar tuner also includes MIDI out

A few years ago, [Frédéric]‘s brother in law wanted a guitar tuner for Christmas. Instead of going out and buying one, [Frédéric] broke out the soldering iron and built one from scratch.

[Frédéric]‘s tuner is built around an ATMega168 uC on a Real Bare-Bones Board with an LM386 amplifier. The display is a standard 20×2 LCD character display, and the interface is torn from the pages of stomp box schematics with a very hefty foot switch.

Detecting the frequency of a note played into [Frédéric]‘s tuner involves a fair bit of math. To measure the frequency, the Arduino samples the waveform coming from the input jack. This signal is delayed for a fraction of a second and the area underneath the real and delayed waveforms is measured. This delay slides across the original waveform until the area between the real and delayed samples are minimized. At that point, delayed wave form will be exactly one cycle behind the real signal, and the cycles per second can be calculated. It’s called the YIN algorithm, and you can read more about it here.

Since [Frédéric] already knew the exact frequency being played into the tuner, he figured it would be trivial to add a small analog audio to MIDI converter. This feature (as shown in the video after the break) turns the sounds from a guitar into MIDI notes. It’s monophonic and probably a little superfluous, but still very cool.

Comments

  1. Bogdan says:

    The design and built is very good and i kind of like the mess of wires.
    But today, in 2012 you can find apps for smart phones that do the same things and more…. and cost zero.

  2. MIDI data is rarely stereo… :)

  3. zuul says:

    quite a bit of latency :/

  4. ZenoArrow says:

    Enjoyed the Chrono Trigger tunes. :-)

  5. Chris in NC says:

    Hope it isn’t done completely mathematically. It will not be in tune at all without tempering.

  6. jameswilddev says:

    A strobe tuner is pretty easy to implement too.

    Have a row of lights, and flash one after another, so you run through each light once per cycle of the target frequency.

    Then modulate this signal with a schmitt trigger on the input signal, and if the two signals are of a similar frequency the same set of lights should be off. If the frequencies differ, the pattern appears to scroll.

    The algorithm shown here is a great idea. For monophonic pitch tracking, it’s brilliantly quick to compute for a range of notes and pretty accurate.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 92,295 other followers