Some time ago, Raptor built a nice Christmas gift for his brother – a guitar tuner. The idea was simply to take guitar input amplify sound with LM386 opamp then pass to Atmega168. The trickiest part here were detecting frequencies. As you may know that strings produce multiple harmonics that are hard to detect simple algorithms like crossing zero and so on. So there were so called YIN algorithm used which is better described here.
He also managed to attach LCD which simply displays notes and bar graphs as note is played. And since frequencies and so notes are detected, adding MIDI is logical step. It’s simple and monotonic but still fun to use.