Pitch recognizer C++ API

I think they use octave dividers which don’t actually do any pitch detection but I might be wrong on that…

the old boss octave pedal uses a simple circuit which does a divide down.
The newer digital ones like the digitech whammy etc probably use a bit of code like the yin algorythm and an envelope follower. Alternatively the digitech might use a PSOLA algorythm to transpose the pitch.
https://www.hobby-hour.com/electronics/s/oc2-octave.php
As I understand it the boss circuit just clips the input every second time the input goes above the set threshold halving the frequency. Something along those lines.

2 Likes

Adamski, I did a fast test with your code for mom pitch detection today and it works very well. Do you think it is suitable also for polyphonic pieces or entire tracks?
Or would you recommend something else?

Glad that it works well for you. No, it will not be suitable for polyphonic pitch detection or entire tracks - that is a much more complex problem to solve. I’m not sure if there are any open source projects out there that do that but it’s worth searching around, also for academic papers on the subject.

I imagine you have found something by now but if not check this guy out. Adam Stark | Music Technology, Software, Research, Algorithms. He’s got a chord detection algorithm that’s open source. Although it is not the same as polyphonic pitch detection it may suit your needs. He also has a Gist by him also has some tools that could be leveraged to create polyphonic pitch detection.

2 Likes

thanks tjrn , I already had a look at his Gist and it was really helpful