1
$\begingroup$

I have a question about measuring precision of chromatic tuners.

I want to divide 2 cases.

CASE1:

link; Korg AW-2G's precision

precision

If you check the link or this picture, it says that Korg AW-2G has the precision of +/- 1 cent.

What's the way or measurement to get this result (+/- 1 cent)?

CASE2:

There are people using Arduino (ATMEL328 MCU) with microphone or piezoelectric diaphragm for the ADC input.

One blog introduced the autocorrelation method for detecting the instrument's pitch. After calculating autocorrelation, using parabolic interpolation gives "accurate" results. (This is not sarcasm, don't get me wrong. :D)

Suppose I made a chromatic tuner using ATMEL328 and a piezoelectric diaphragm. Also, suppose I chose sampling rate 9240 Hz, 512 samples, the autocorrelation method (with parabolic interpolation).

In this case, how should I define the precision of this chromatic tuner? I can't buy tuning forks to compare the results. Let's suppose I'm testing with electrical guitar, classical guitar, and violin. So any ideas?

  • Best Regards~
$\endgroup$
  • $\begingroup$ What do you mean with 512 samples? $\endgroup$ – firion Jan 21 '16 at 9:42
  • $\begingroup$ (To Francesco Setragno) I'm using a buffer which has a length of 512. After sampling is done, it stores in this buffer and I do this 512 times. $\endgroup$ – David Lee Jan 22 '16 at 13:07
  • 2
    $\begingroup$ Since you mention guitar I think it's important to note that for string instruments, it is tricky to define pitch accurately. The reason is that the overtones of actual physical strings are slightly stretched out of tune and there's no real fundamental frequency. Now pitch is a perceptive quantity, and you cannot really measure it without understanding perception in all detail (which we still don't). Most guitar tuners are not accurate enough to run into problems with overtone stretching anyway, but for very accurate measurements, you need to precisely define what you are measuring first. $\endgroup$ – Jazzmaniac Jan 22 '16 at 14:06
  • $\begingroup$ Guitar is not a perfectly harmonic instrument, so autocorrelation should more closely approximate the pitch that we hear, vs FFT tracking of the fundamental, for instance $\endgroup$ – endolith Jan 22 '16 at 14:50
  • 1
    $\begingroup$ There is always a fundamental frequency, but the partials will be a little sharper than exact multiples of it, so the tone we perceive is pulled a little higher than the true fundamental. I don't know how much in numbers. Autocorrelation and FFT will both produce the same value for a truly harmonic signal, like a sawtooth wave or bowed violin. $\endgroup$ – endolith Jan 22 '16 at 20:57
0
$\begingroup$

Precision and accuracy are 2 different things.

1 cent is 1/100th of the frequency difference between 2 adjacent semitone pitches in equal temperament tuning. The frequency ratio is exp(ln(2)/1200) or roughly 1.00059

Precision of 1 cent might mean the tuner reports frequency error from the nearest semitone in 1 cent units, whether accurate or not.

To test accuracy, you might want to synthesize test signals that "sound like" your desired instrument (in software, or using a calibrated programmable synthesizer). Feed those test signal to your tuner (or your tuner's pitch estimation algorithm in a software environment as unit testing). If the results matches the synthesized pitch to within 0.5 cents, then your accuracy is 1 cent at that frequency. Vary the test signal (perhaps randomized) to different semitone notes and cent (or cent fraction) offsets over your tuners entire range to find the worst case to evaluate (get a statistical estimate of) your tuners accuracy.

You can add Gaussian random white noise or recorded typical background room noises to your generated test signals to test measurement precision (repeatability) at realistic S/N ratios as well.

One "gold standard" is to measure the WWV audio frequencies (500 and 600 Hz), and use those to calibrate your synth and test your tuner.

$\endgroup$
  • $\begingroup$ Thanks for your answer. My bads about mixing up the term "precision & accuracy". I'll double check before choosing this detailed answer. I will create an audio signal using Arduino's DAC, like 110 Hz with harmonics (220 ahd 330 Hz) adding AWGN. Then I feed this DAC's output to the ADC input to test the accuracy. By changing the AWGN's strength, I can check the precision. Is this correct? $\endgroup$ – David Lee Jan 22 '16 at 13:24
  • $\begingroup$ back when i was a kid (and a ham radio operator), they even had a minute each hour at 440 Hz on WWV. i should check the format to see what they do now. $\endgroup$ – robert bristow-johnson Jan 23 '16 at 7:35
  • 1
    $\begingroup$ i just did! they do 1 minute each hour doing A-440 (the second minute of the hour). tune your instrument tuners to that rock! $\endgroup$ – robert bristow-johnson Jan 23 '16 at 7:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.