About this project

Why it exists

I learned the way most people do: licks, tabs, patterns that worked. But what about when it comes to improvising? Or if someone hands you a lead sheet? I could find the notes. I could not always say what they were doing — which of them belonged to the chord that was sounding, and which one was only on the way somewhere.

Charts existed, plenty of them and good ones. What I wanted was one picture of the whole instrument with every hole labelled by its musical job rather than its name — and a way to change position or key and watch the labels move. I drew them by hand until redrawing them for every key got old. That is how it became software.

None of this is a claim that other players are missing something. It is a description of my own blind spot and the tool I built for it. If your ear already does this work, you do not need a map.

How the maps are calculated

I would rather be checkable than impressive, so here is the actual method.

One table, not ninety pictures

The whole model is a list of 39 entries — one for every note a Richter-tuned 10-hole harmonica can produce, draw bends, blow bends, overblows and overdraws included. Each entry stores a single number: how many semitones it lies above blow 1 on a C harmonica. Blow 1 is 0, draw 1 is 2, blow 2 is 4, up to 37 on the overdraw of hole 10.

Everything else is arithmetic on that one number. There is no per-key or per-position artwork anywhere, which is why the app can offer every combination and why a correction only ever has to be made in one place.

Positions

Moving one position moves the home note one fifth, and a fifth is seven semitones. So the scale degree of a note in position n is:

degree = (semitone − 7 × (n − 1)) mod 12

That single line produces all twelve positions. The minor-tuned harmonicas use the same formula; only the underlying semitone numbers differ, because their reed plates do.

Note names

Note names are not looked up in a table of sharps or flats. In any seven-note scale each letter of the alphabet appears exactly once, so the app builds the spelling from the scale itself: C minor gives you Eb rather than D#, and F# major gives you an E#, because those are the spellings that keep one letter per degree.

The consequence is that a whole diagram is internally consistent. A G harmonica carries an F# in its own scale, so its bends are written A# and C# rather than Bb and Db. A preference setting only decides the cases the key itself leaves open.

Chords

Chord degrees are built by stacking thirds through whichever scale is selected, not read from a list of “the chords in a major key”. That matters as soon as you leave major and minor: C Phrygian produces Cm7, Dbmaj7, Eb7, Fm7, Gm7b5, Abmaj7 and Bbm7, and a lookup table would have to enumerate every mode separately. Stacking gets the odd cases right for free.

Scales with five, six or eight notes get no chord degrees at all. Stacking thirds through a pentatonic scale would produce something, but it would be an invention rather than an established practice, so the app declines.

The diagrams on this website

They are generated by a script that reads the app’s own source files — the note table, the colour palettes, the geometry of the grid — and writes SVG. Nothing here is a hand-drawn approximation. If a colour or a semitone changes in the app, re-running that one script is the whole correction.

That includes the parts that look like mistakes and are not. Notes outside the selected scale go black, and their labels stay black on top — on those fields, disappearing is the point. The diagrams here do the same, because a diagram that quietly improves on the app would be a worse guide to it.

Found a mistake?

Please tell me. Theory errors, layout errors, a bend that is in the wrong row, an awkward translation — all of it is welcome, and corrections get made. verynicedevelopments@gmail.com

If you write about something that is wrong in a specific diagram, the harmonica key, the position and the hole number are enough for me to reproduce it.

What the app deliberately is not

Privacy, in one paragraph

The app has no internet permission at all. It cannot send anything anywhere, there is no account, no analytics and no advertising. The single permission it asks for is the microphone, and only when you turn on practice mode; audio is analysed as it arrives and never stored. The full policy is published here in all 21 languages the app speaks. This website is equally plain: see the privacy page.

The app

The Harmonica Cheatsheet app icon.

Harmonica Cheatsheet for Android

$6.49 one-time — £5.49 in the UK, €6.49 in Germany, and Google Play’s local equivalent elsewhere. Android 8.0 or newer.