In 2016, I created an audio DSP library called Q. It was, in a sense, my audio DSP playground. Having been involved in open-source C++ development, including contributions to the renowned Boost C++ libraries, I have embraced modern C++ constructs and techniques not seen in other DSP libraries.
A key aspect of the Q DSP library was the development of a fast and efficient real-time pitch detection mechanism, which continue to evolve, starting from my early attempts with Bitstream Autocorrelation. The latest code I have performs both onset detection AND pitch detection in a single algorithm. The code is wickedly fast and can do both onset and pitch detection simultaneously, even on a small MCU.
The code is still stashed in my private repository, but I decided to remain an advocate of open-source and share the code and perhaps publish the inner workings. It is something I am truly proud of!
I will discuss the specifics in later posts. For now, I started documenting the Q DSP library that serves as the foundation for what I’m about to share. Here’s a link to the documentation:
It is a work in progress. Comments and suggestions are very welcome. And hey, this is open-source, so contributions are always welcome! If there is enough interest, I may write a series of how-to tutorials about writing DSP code using the library here. Tell me what you think!
Here’s a link to the Github repository: