Cadence
iOS and Android app that teaches you to recognise chords, by ear and through your microphone.
Four practice modes: hear a chord and name it, see it and name it, guess the key of a progression, and play the chord yourself while the app listens.
Pitch from the microphone, one voice at a time
The play-along mode listens at 44.1 kHz in windows of 2048 samples and finds the fundamental by autocorrelation. That method hears one note at a time. So a chord is collected inside a rolling three-second window: strike the notes in quick succession and they add up; wait too long and the window restarts. Polyphonic detection is beyond this engine, and the screen hides the answer until you play it right rather than pretending otherwise.
Spotify gives no audio, so the analysis came from elsewhere
Spotify switched off its audio-features and audio-analysis endpoints on 27 November 2024; new apps get a 403. The preview URL has mostly been null since, and raw audio was never on offer. That removes the entire musical side and leaves metadata and playback. So the track plays inside the Spotify app through the App Remote SDK, and the key comes from an analysis service of my own.
A Python service that finds the key
A FastAPI service fetches Deezer's keyless thirty-second preview and lets Essentia determine the key. That service may only connect to Deezer hosts and caps the download, because a service that fetches an outside URL is otherwise an open relay into your own network. The key is compared in constant time so it cannot be guessed character by character.
Free, paid and ads in one decision tree
Five rounds a day for free. The subscription lifts the limit, opens the premium modes and turns ads off. Those ads are not an afterthought: a GDPR consent screen comes first, then the iOS tracking prompt, and only then does the ad SDK start. Decline and everything keeps working without personalisation. A banner under the quiz, a full-screen one after the third and fifth round of the day.
What is covered by tests
Unit tests on the pitch detector, the chord logic, the synth, the key service, the level system, the daily limiter, the Spotify controller and the reminders, plus an integration test that walks a full practice round. Those are exactly the places where a mistake hides: a chord that sounds slightly wrong only surfaces when somebody plays it back.
What is in it
- By ear Hear a chord, name the root and the quality.
- By sight See the positions on piano or guitar and name the chord.
- Rootkey A I-V-vi-IV progression with a drum groove; guess the key.
- Play along Play the named chord; the app listens and only reveals the answer once it matches.
- My Music Practise on your own Spotify playlists, with the key from the analysis service.
- Progress Streak, XP, levels and a daily goal; you choose which chord qualities to practise.
- Reminders Local notifications to keep your streak alive.
- Two languages Dutch and English, fully translated.
Screens