bkshepherd / DaisySeedProjects

A collection of hardware and software projects based around the Electro-Smith Daisy Seed
MIT License
231 stars 35 forks source link

Tuner example with q library #21

Closed xconverge closed 3 weeks ago

xconverge commented 1 month ago

Up to you if you want to merge this, it does bring in more dependencies and requires cpp20 but it is also a neat library

I figure even closing the MR if deemed to intrusive is great for someone to reference if they want to

I explored quite a few ways of doing pitch detection (yin algorithm, basic period detection and zero crossing logic, etc) and joel over at cycfi has just knocked it out of the park with this one. I am eager for his updated library to test it out

Demo: https://www.youtube.com/watch?v=FQ_RqBbvLtw

The algorithm used here: https://www.cycfi.com/2018/03/fast-and-efficient-pitch-detection-bitstream-autocorrelation/

Upcoming version information: https://www.cycfi.com/2024/09/pitch-perfect-enhanced-pitch-detection-techniques-part-1/