Your suggestion for dealing with the harmonics is great. But my tuner attempts to determine by itself which string is being tuned. I suppose with expensive programmable filters you could detect the pitch, then dial in the filter real quick to protect against the harmonics, which intensify with time. But if you put in a filter sufficient to chop the harmonics of the low E string (86 Hz or so) you'd never pick up the high E two octaves up. My hackbuddy and I have decided to return to this project and see if we can get it to work. The idea will be: count on the fundamental being strong for the first several cycles (seems to be safe), then start ignoring any transitions that aren't close to the expected timings. For example, if you're tuning the 110 Hz A string, you'd initially get a 110 cycle square wave. Then as the vibrations decay, you'd start seening double, triple, or some oddball combination. If I remember right, the second harmonic is the most prominent and can be isolated. But I'll have to look again. Anyway, it might be as simple as ignoring every odd pulse, once the expected pitch is established. Owell I'll try it and post the results! ps: about the code I've offered to put up... I was going to make it available via ftp this morning but I forgot to move the files. I'll do it tomorrow when I'm dialed in from home. David -- Their address sums up their attitude: One Microsoft Way http://www.rt66.com/dthomas/