DIY pedalboard is almost complete, chromatic tuner

Interesting. I don't think the Hz will always be accurate to two decimal places due to the 96Ksps max rate.

The sample period time dictates the *accuracy* rather than simply the highest frequency. If you think about the more samples the more accurate you can measure the length of the frequency wave length.

E6 = 1318.51Hz

To sample this at 0.01Hz accuracy we'd need 1318.51*100*2 samples/sec = 262Ksps to detect the distance between the crossover points at 0.01Hz. Reliably we'd need 10x the samples to be accurate. 1/(1318.51*100*10*2)= 0.000000379 second sample time. 1/0.000000379 = 2,638,522.427 sample rate.

9600Ksps = 1/96000 = 0.0000104 seconds per sample, or to be reliable, you'd want 10 samples, so 0.000104 seconds minimum period to collect those 10 samples and then the /2 this becomes 4.8KHz is the highest we can detect at a 0.01Hz rate whilst at 96KHz.

Ok, I did a correction and found my error - cool.

Looking at the code - I see you do a smoothing filter at 48KHz which impacts this... looking further and I see the daisy seed has
sai_config.sr = SaiHandle::Config::SampleRate::SAI_48KHZ;

So this is mean it's only above to get 0.01Hz up to 2.4KHz. Which is still good as long as you don't attempt harmonic tuning in the 6th Octave!
 
Last edited:
Back
Top