Picture of Visual / Aural Guitar Tuner
strobe illustration.gif
beat illustration.gif
Build a strobe tuner with an integrated tone generator to teach tuning by ear.

I have always dabbled in instruments. Over the course of my life, I've attempted (with varying success) Piano, Guitar, Banjo, Penny Whistle, Ocarina, Panpipes, Great Highland Bagpipes, Smallpipes, and Didgeridoo (don't ask, It was late, and I was a bit tipsy). In the process, I have continually hit one major hurdle. I am absolute rubbish at tuning by ear. I cannot tell if a guitar is out of tune in the least, unless it is so far off that you can play "The Bells of Saint Mary" without fretting at all. I was up late one night, experimenting with some PWM code for the Arduino when I suddenly had an epiphany. "Beat" tuning is very similar to measuring speed with a strobe. I thought that perhaps combining the obvious visual input of a strobe with the auditory input of a tone, could help me to better grasp tuning by ear. Thus an idea was born

"The Tune Trainer" is a combination of two devices. One is a strobe that flashes at the frequency of a tuned string. The other is a tone generator. together they give the user two methods of tuning

1) Strobe - The musician sets the tuner for a string and strums said string while aiming the strobe at it. The strobe causes the apparent speed of motion of the string to decrease as the user approaches the correct frequency. as the the string gets closer to tuned, the string's vibration will happen in visible pulses of speed and apparent lethargy, which slow as the tuning improves. These variations in speed should coincide with the frequency of audible "beats" when beat tuning.

2) Tone - The musician sets the tuner for a string and strums said string while listening carefully. If the string is very far from true, he'll hear discord. once he is close enough that the discord disappears, he will begin to hear "beats" in the combined sound of the two tones, caused by constructive and destructive interference between the waves. The beats should decrease in tempo and amplitude as you approach a perfect tuning. (in theory)

The user can chose Both or either method to tune, hopefully allowing the combined methods to train the ear in the aural method of tuning.

The other neat thing about this project is strobe tuning itself, which looks AWESOME!!!1!

Is there any way you can reformat your code to be readable? It's sort of unclear what you've done in defining the numbers related to the given pitches. You should clarify as well, that you are counting periods in uS, and that is the nature of the #define'd numeric values.

mrmerino3 years ago
Ok... I don't feel comfortable with arduino yet, too many ways to goof up. Is this something I can do with a 555?
I want to build a box that unlocks when notes are sung. Have you ever seen a project like that?
PoisonedV7 years ago
This is awesome
Although I have to add, I dislike using arduino in permanent projects. Pricey.
Sparkfun sells the 28-pin DIP ATMega 328 for $4.30; a crystal is maybe $1 and then you might need a voltage regulator, another 50 cent part. You don't need to throw a $35 Arduino at everything that works with an Arduino. Though you will need to make a one-time purchase of some of the reusable bootloader programming equipment and such. :)
larsjet7 years ago
is t future project with 2 cameras, I have those cameras as well
gschoppe (author)  larsjet7 years ago
I haven't gotten the lens assembly worked out yet, but its a prototype tele-presence unit.
5Volt8 years ago
Strobe tuning ! Interesting a Physics class experiment. As a tuning instrument : I'm not a musician but it looks good to me. Ciao
zzag8 years ago
I have one of these: Planet Waves strobe pick


but had always thought it would be a neat AVR project to try and duplicate. You've nudged me closer.

Nice post... thanks.
gmoon8 years ago
The strobed LED is a neat trick. I might have to build my own version of your device--I've got several different AVRs types here. Shouldn't be too hard to adapt your code for gcc (yeah, I'm aware the Arduino is avr based.) Since I'd like a version that supports alternate tunings, maybe adding a LCD to display the current tuning mode. And a few less buttons--just a mode button, and forward & reverse (on/off, too.)