When I started this project, I set out with the intention of achieving polyphonic midi conversion for Linux within a few months. I ended with fast and accurate monophonic conversion method. While polyphonic detection is currently out of reach, I’m satisfied with the results overall.
There might be some useful material for those interested in frequency detection or transient detection.
For frequency detection see: DCT.cpp, and DataModels::Scribe::updateFundamental()
For transient detection see: MidiSwitch.cpp, and DataModels::Calculations::updateSignal().