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.
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.
The connections come first, because they are the point. Everything else exists to get you to one.
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.

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.

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.

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.

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.

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.

Smaller things that make it usable rather than merely complete.
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.
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 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.
A paragraph on 159 cantatas from whichbachcantata.be, used with its author's permission, above your own notes.
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.
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.
The app, the network map and the catalogue behind them are built from the same source, so what one shows the other agrees with.
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.
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.
Free, with nothing to buy at any point and no ads.
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.
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.
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.
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.
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.
The sung texts and their English translations, most of them Francis Browne's. Each translator is credited under their text in the app.