March 2018 Capo updates
• Chris Liscio
Recently we shipped some maintenance updates to Capo and Capo touch that contain a significant change that’s worth elaborating on.
Almost 5 years ago, I chose to license technology from a third party to power Capo’s beat- and key detection. I had an implementation of my own beat tracker at the time, but it was incomplete. With the deadline to ship Capo 3 for macOS quickly approaching, I decided that it was smarter to use a pre-built solution.
It has since nagged at me that I didn’t have full control over the entire music processing engine that powers Capo’s chord, beat, and key detection. Furthermore, there’s a recurring cost to licensing that—while relatively small—still acts as a regular reminder to revisit my decision. Late last year, I chose to spend some time and complete the work that I started back in 2013.
I began with the goal of replacing only the two components that we licensed, but I couldn’t stop there. Once I got my hands dirty, I found myself applying years of pent-up education and frustration towards rewriting all the components that collectively make up Capo’s “music information retrieval” engine.
“Pent-up education?,” you may ask. In 2016, I took the Stanford machine learning course in order to reinforce and supplement everything that I learned while building Capo’s chord detection engine. By the time I successfully completed the course in November 2016, I managed to accumulate a rather long list of things I’d like to improve in Capo’s chord detection engine and training environment.
Fast-forward to today, and the work is complete. I now have an extensive framework on which I can continue to improve Capo’s ability to reason about songs from their recordings. I applied many of my newly-acquired skills to the construction of Capo’s tempo, beat, tuning, and key estimation components—all of which provide the essential front-end information to the chord detection engine.
If you’ve not already done so, please download the latest versions of Capo and Capo touch to see this new engine in action. If you’re on iOS and don’t already have a copy, the chords are now exposed during the trial period so you can experience how that all works. And please help us out by leaving a positive review on the App Store, or send us an email if you have any questions about the latest updates.