Accurate pitch measurement with microcontrollers

83 views Asked by At

My goal is to measure the pitch of my violin with a small computer/microcontroller very accurately (a Raspberry Pi would be too big). I'm aiming for an accuracy of 0.1 Hz; 0.5 Hz could also work. The problem is that a violin produces a lot of frequencies known as harmonics. I only need the main frequency of each string, for example, 440 Hz.

I did a lot of research on the internet and performed some tests, but my measurements fluctuate by several Hz. I tried FFT and Autocorrelation in C++ on an older ESP32 with a "only" 20 kHz sampling rate.

My question is: What algorithm would work best in my case? Is an FFT capable of measuring as accurately as I need with such limited hardware power? What hardware is the best? Would a Raspberry Pico with MicroPython be a better option?

Thanks for your help!

0

There are 0 answers