Cantus Firmus
Cantus Firmus app icon

Cantus Firmus

Mapping the hidden threads in Bach's opus

Bach set the same hymn tunes again and again. A chorale melody closing a cantata is the subject of an organ prelude written twenty years earlier, and harmonised a third time in four parts — but nothing in a catalogue numbered by BWV ever tells you so. This app is built on those threads: every melody is a place you can stand, and everything that shares it is one tap away.

If you know these pieces, it is the connection map you have been keeping in your head. If you don't, it is a way in that isn't a numbered list — pull on any tune and see where it goes. The same thesis as the network map, built for a screen you hold in one hand: a map of dots and lines does not read on a phone, so here every connection is a row you can tap.

Download on the App Store ↗ Google Play — coming soon

Not all of Bach — not yet. This is the music the chorale melodies actually run through: the cantatas, the four-part chorales, the organ chorale settings, the Passions, the motets, the Christmas Oratorio and the Mass in B minor, and the keyboard concertos that share movements with them. The rest of the instrumental catalogue comes later.

What it does

The connections come first, because they are the point. Everything else exists to get you to one.

Connections

Swipe from a movement to everything that shares its tune

Follow a link and you get every other setting of that melody, grouped by the tune itself — cantata movements, four-part chorales and organ preludes side by side.

Every connection works from both ends, so wherever you are, the whole web is one tap away.

The related-works screen for BWV 4 movement 7, listing every other work that sets Christ lag in Todesbanden
Melodies

The cantus firmus as a first-class place

A tune is not a footnote to a work — it is the thing the works have in common, so each one gets its own screen: its Zahn number, and every work that sets it.

The music turns out not to be one web but 64 separate families, and the app knows which one a work belongs to.

The melody Allein Gott in der Höh sei Ehr, Zahn 4457, listing the twelve works that set it — each row in purple, with markers for the recordings available
Works and movements

One line per work, until you want more

Search resolves 140, bwv 140 or a German incipit to a single row; tap it and the cantata opens into its movements, with type, key and scoring.

The chain-link badge is the whole point: it marks where in a work a shared melody lives.

BWV 140 opened to its seven movements, with a chain-link badge on the closing chorale
Today

Two different kinds of anniversary

The home screen opens on what Bach premiered near this date, and separately on what he wrote for the nearest Sunday in the church year.

Most of these feasts were movable, so the two are genuinely different facts — and the app refuses to blend them.

The Today screen: BWV 99, premiered five days ago, above the works written for the nearest Sunday in the church year
Discover

For when you don't yet have a question

Search can only give back what you already knew to name. Discover hands you a work drawn at random from the whole catalog, a melody worth pulling on, a recording to hear, and the anniversaries falling near today.

The random work is deliberately unfiltered, so it can land on the works that belong to no melody family — the ones nothing else in the app will ever show you.

The Discover tab: a randomly chosen work — here the four-part chorale BWV 416 — a melody to follow, a recording to play, and nearby anniversaries
Quiz

Questions built from the real data

Four rounds — melodies, the church year, chronology, and a mix — with the wrong answers drawn from the catalog itself, so every one of them is plausibly right.

The listening round is kept separate under Needs sound, because you should not discover that on a train.

The Quiz screen, with four text rounds and a separate listening round marked Needs sound

And the rest

Smaller things that make it usable rather than merely complete.

Listening

1,634 synthesised renderings stream on demand, with a queue, lock-screen controls and playback that carries on with the screen off. Nothing is stored on the phone, so the app stays small.

Apple Music

1,956 movements and works link to a real recording. On iPhone it plays in the app, and anything you have favourited shows a heart and is playable beside the app's own choice. On Android the link opens the Apple Music app.

The sung text

The words of 1,770 movements across 251 works, and of 161 hymns, in German with an English translation — line by line wherever the translator set it that way — and the translator named under every text.

Commentary

A paragraph on 159 cantatas from whichbachcantata.be, used with its author's permission, above your own notes.

Notes and corrections

Write on any work or movement, or fix a wrong title or date. An app update never touches what you have written, and a correction never erases the original — it is always there to go back to.

Offline

The whole catalogue is inside the app. No account, no sign-in, no first-run download, and no connection needed to browse — only the recordings stream.

What's inside

The app, the network map and the catalogue behind them are built from the same source, so what one shows the other agrees with.

The catalogue

    How it is put together

    Every work comes with its titles in German and English, its premiere date, the Sunday or feast it was written for, and its movements with their keys and voices. The chorale melodies are identified by their Zahn numbers, and every shared tune between two works is traced.

    Each update is checked against facts traced by hand before it ships, so a slipped number fails rather than looking plausible.

    Where your writing lives

    The catalogue is replaced as a whole with every update. Your notes and corrections are kept apart from it, on your phone, so an update never touches them.

    Nothing you write leaves the phone, and there is no account, no analytics and no tracking. See the privacy policy.

    Get the app

    Free, with nothing to buy at any point and no ads.

    iPhone

    Download on the App Store ↗

    Needs iOS 17 or later. Apple Music recordings play in the app with an Apple Music subscription, and the music you have favourited there is marked and playable.

    Android

    Google Play — coming soon

    Needs Android 8 or later. Everything else is the same; Apple Music recordings open in the Apple Music app rather than playing in place.

    Feedback. Anything at all is welcome: a wrong date, a melody that should be linked and isn't, a screen that reads badly. Write to cimento.studio.info@gmail.com, and say which phone you use. The network map needs no app at all — it runs in a browser.

    Thanks

    None of this is original research. The connections, the recordings and the liturgical calendar all come from people who published their work for others to use — two of them supply everything you can actually hear in this app.

    whichbachcantata.be

    Curated per-occasion playlists, and the model for tying cantatas to the liturgical calendar. The app's Apple Music links are matched from those playlists, movement by movement, and the commentary on its cantatas is Michiel Nieuwenhuizen's, used with the author's permission.

    suzumidi.com

    MIDI files for many cantata movements. Nearly every recording the app streams is rendered from them — without this, there is no sound in Cantus Firmus at all.

    bach-cantatas.com

    The sung texts and their English translations, most of them Francis Browne's. Each translator is credited under their text in the app.