Table of contents:

About Piano Kitty

I was struggling to learn the chords, all their inversions in particular.

I saw the same problem when teaching the piano to my 10 years old niece.

I've been looking for any good resources to overcome this problem for a long time and I did not find anything that really nails it.

There are many books and tutorials explaining all the concepts, but there's nothing that keeps you focused on the task for a longer period.

The tutorials always tell you "practice this in all the 12 keys". But it takes effort and time, so finally you never go through all the 12 keys.

This web app was developed spontaneously for Pola and for myself. Pola (10 years old) in person designed the fancy graphics for the app.

The main idea is to learn all major and their related minor scales in all the keys (24 scales in total ordered by the circle of fifths), plus their diatonic chords, to a specific deadline (three months, assuming one week per scale, or 6 months assuming two weeks per scale).

It was (and still is) fun and useful tool for us, I'm sure you'll enjoy it too.

Have fun!

Application parts

The application has three main parts:

  1. Schedule and Theory (home page)
  2. Daily exercises (the scale game)
  3. Chords game (with MIDI keyboard support)

The schedule lists all the twelve major scales in the order of circle of fifths. One key per week (or two, three or four weeks if you choose so).

On the home page you can bookmark your daily exercises.

Choose how much time you want to spend learning each scale. I think that two weeks is a sane number (resulting in 6 months for all scales).

It's best to go through thi with a teacher or having some basic music theory knowledge already.

Features:

For each of the 12 keys:

  • practice schedule by date - training plan for the upcoming weeks
  • daily streak - daily and max streaks (number of consecutive days you used the app)
  • bookmark link - you'll get personalized exercises each week by visiting it
  • Calendar buttons - to add the reminders to your Google Calendar (it's best to click all of them one by one)
  • scale construction - whole steps and half steps, sharps/flats, tetrachords, fingerings etc.
  • diatonic chords - triads and sevenths in all the inversions, for each key
  • related minor - same information as the above for the related natural minor scale (which uses the same notes as the related major)
  • YouTube tutorials - red buttons with tons of related YouTube videos, explaining everything you need
  • practice checklist - daily list of exercises to complete
  • practice buttons - to practice the scale and the chords in the game mode

The scale practice mode is a customizable list of exercises to complete daily.

You can use the default set of exercises, customize them or simply create your own set, anything you want.

That list is thereafter converted to an easy to follow, full screen, set of steps to complete, or an engaging game.

The default exercises are not explained in detail (yet?), you'll need to ask your teacher how to play them, or search over the net. Where possible, the links to the videos are provided. More info to come soon.

These default exercises are basically exercises for playing the scales (major and the related natural minor) in one or both hands in different modes (regular, contrary motion, in triplets, Hanon, cadences, diatonic chords etc.)

The exercises are split into levels. If you're a beginner, start with just one level a day. If you feel more confident, you may try more of them.

Feel free to skip any of the exercises if you don't like it - you'll earn the points anyway.

Features:

  • press any key to continue - super easy to follow
  • metronome - M to show the metronome
  • progress indicators - stars and hearts
  • points - for completing the exercises (current and daily)
  • resource buttons - eg. to the related backing track video or a chord game
  • statistics page - your daily engagement chart
Customizable exercises

The exercises can be customized. You can create your own practice setlist. Each exercise may have:

  • custom name
  • level (to group the exercises by difficulty)
  • brief description (eg with some tips)
  • metronome: custom BPM for each exercise and option to auto-start
  • timeout gong (alert after X practice minutes)
  • links to resources (videos, backing tracks, sheets or any other URLs)

You can select just some of the available exercises to practice.

The exercises list can be shared with friends using the Share icon.

Exercise options
  • You can enable/disable Game Mode
  • You can choose whether to repeat all the exercises for the related minor scale
Variables available in links

You can use the following variables in the URLs and their texts:

  • %s - scale name (eg. E minor)
  • %p - scale name without spaces (eg. Eminor)
  • %k - key name (eg. e)
  • %K - key name Uppercase (eg. E)
  • %w - current week (# anchor on the home page) (eg. 3)
  • %d - course date started (eg. 2023-11-29)
  • %t - time of weeks per key (eg. 1)
  • %n - scale number to start with (eg. 2 meand second key in the circle of fifths ie. G)

Example:

link: https://www.google.com/search?q=%s will be expanded to https://www.google.com/search?q=G major

Notepad

On the Exercises page there's also a notepad/scrapbook for your ideas, links and anything you need...

Inspirations

The default exercises are highly influenced by the following resources:

BachScholar

Excellent book Sight Reading and Harmony by Dr Cory Hall.

This is one of the best modern approaches to classical piano training I've seen.

The opening chapters explain the scales and provide great exercises for learning their diatonic chords in all the inversions.

From that book I've learned to love the famous and hated Hanon exercises, but in their harmonized on the 6th form, which is basically playing the exercises with both hands - but major scale with one and the natural minor scale with the other hand.

Here's how it sounds in its advanced form:

And here's the first (harmonized) exercise as presented by Dr Hall:

Be sure to watch the full Well Tempered Hanon Video.

Note that by playing the exercises in the harmonized on the 6th form, you instantly get that Bach Sound!

Bonus: Hanon Recordings by Marc Andre Hamelin

Piano with Jonny

Thanks to Jonny May and his quick tip video (which is a part of a subscription based course I was attending) I came up to an idea to learn the diatonic 7th chords for each key in all inversions by putting a structured schedule in my Google Calendar.

Each key for one week, in the order of a circle of fifths.

The Chords app is a web MIDI application, meant to be used with your MIDI keyboard, targeting learning the most common chords in all their inversions.

It requires the user to play the notes of the specific chord in the correct order.

It works in most modern web browsers (Safari is currently not supported fully). Google Chrome is recommended.

Without a MIDI keyboard the app can still be used as flash cards (even on mobile devices).

Features:

  • MIDI keyboard support
  • game interface - earn hearts or die
  • levels - start with easy tasks, advance when you get better
  • hints - shows which notes to play and highlights the notes you already play correctly
  • space to see a hint
  • attractive fireworks - to get rid of the boredom out of the practice session
  • funny cats pictures - as a reward (displayed randomly, frequency depends on the score - the higher the more frequent rewards)
  • music notation - learn the notes and chords on the staff
  • fully customizable! - many options to personalise your experience

Learning modes:

A) Key mode

  • Practice diatonic chords for a specific scale - limit the chords only to the ones used in that key
  • One click switch between related minor/major up/dn arrow
  • option to display/hide the scale step number, degree and roman numerals

Easy transposition between all the 12 keys, both minor and major.
Just choose the desired scale from the dropdown menu.

You can select to play diatonic triads or diatonic seventh chords for that scale, or choose your own chord progression.

By using numeral notation for chord progressions, you can easily learn the same progressions in all the 12 keys.

Sample chord progressions you can type in:

  • II, V, I (major chords
  • ii, v, i (minor chords)
  • II, V.2, I.1 (chord numerals and the inversions after dot)
  • #II, bV.2 (sharps or flats before the numeral)
  • II7, iii7 (seventh chords instead of triads)
  • VII0 (zero or "o" to use diminished chord)
  • i, bII, bIII, iv, v0, bVI, bvii - chords of the phrygian scale

You can pass the progression info using the prog URL param and mix it with the key param.

STEP BY STEP

Play the diatonic chords for each step of the specific scale, the same inversion for each step.
Ordered note by note.

HARMONIZED

Play all the scale notes, harmonizing each step using three main chords.

Limit the chords only to the three main (cadence) chords (I, IV, V). Play them in the nearest inversion.

eg. For the C major scale:

I = C
IV = F
V = G

  • C 1st inv (C note)
  • G root (D note)
  • C 2nd (E note)
  • F 1st (F note)
  • G 1st (G note)
  • etc.

ALL INVERSIONS

The classic approach to practice the chord inversions.
Play all the inversions for each scale step. C root, C 1st inv, C 2nd inv, D root, D 1st etc.

Note that you may also play the chords arpeggiated.

RANDOM

Random chords drawn from diatonic chords of the specific scale.

B) Custom mode

Draw any chords and inversion out of the one you choose in the options.

  • maj min dim aug sus2 sus4 maj7 min7 7 m7b5 chords
  • only white or black notes (in this mode chords like F#, C#, G# are not shown, only C, F, G etc.)
  • both hands or one hand

Once you get better with the current chord type, you will get new exercises for next level.


The learning curve and the level order is as follows:

  • start with major triads and...
  • learn all the white note chords in the root position (C, D, E, F, G, A, B)
  • learn all the black note chords in the root position (C#, D#, F#, G#, A#)
  • advance the inversion and...
  • all the white note chords in the 1st inversion
  • all the black note chords in the 1st inversion
  • advance the inversion and...
  • white note chords in the 2nd inversion
  • black note chords in the 2nd inversion
  • advance the chord type to minor and...
  • white note minor triads in the root position (Cm, Dm, Em, Fm, Gm, Am, Bm)
  • black note minor triads the root position (C#m, D#m, F#m, G#m, A#m)
  • etc...

You'll advance to the next level after you play 20 chords of the current level without any mistakes (20 gold hearts).

Level 2B+ means:

  • minor chords (2)
  • in the 1st inversion (B)
  • black notes (+)

In detail:

  • 2 - second chord type (min), as appearing in the options window
  • B - inversion 1st (labeled A, B, C, D: root, 1st, 2nd, 3rd (for 7th chords))
  • + - the black notes too

C) Specific mode

Choose what exact chords and inversions to play.

This mode can be used to learn to play songs.

Just type in the chord names, eg.

  • C, D, E, F
  • C, C.1, C.2, D, D.1, D.2 (inversions are separated by dots, zero means root position)
  • C.0, C.1, C.2, D.0, D.1, D.2 (same as above)
  • C, C.1, C.2 (play the C major chord in root position, then in the 1st inversion, then 2nd inversion)
  • Amaj7, Bm7.1, Cmaj7b5
  • Csus2, Bdim.2 (C suspended second root position, then B diminished second inversion)

Keyboard shortcuts

  • space - hint, continue, draw next chord
  • enter - open the related resource, video, chord exercise (clicks the first resource button)
  • up/down arrow - related minor/major key
  • left/right arrow - prev/next inversion
  • left shift right shift - left hand / right hand
  • pg up pg down - prev / next key according to circle of fifths
  • < > - prev / next key chromatic
  • home end - major / minor key
  • ctrl - toggle hands: not important, left, right, both
  • 0 1 2 3 - choose inversion
  • O P - options, preferences
  • H / ? - help
  • N / ? - toggle music notation
  • C - midi connection setup
  • M    metronome       + -    metronome speed
  • Esc - restart

General features

  • Free
  • No signup required
  • No email required
  • No personal data collection
  • No installation needed
  • Send your students assignments using parameterized links - to work on particular set of skills (eg. only 7th chords of the F# minor scale)

URL parameters

Theory page:

  • date - show the schedule starting from the date, eg. date=2023-01-30
  • time - time in weeks for each scale, eg. time=2 (two weeks for each scale)
  • with - start with particular scale, eg. with=1 (start with C major, then progress clockwise circle of fifths)
  • #week-3 - show theory for the particular week

Scales page:

  • scale - the key to practice eg. scale=eminor
  • week - week to practice, eg. week=2
  • level - practice specific level, eg. level=4
  • reset - reset your daily score, eg. reset=1

Chords page:

  • key - key to practice, eg.
    • key=bflatminor
    • key=gsharpminor
    • key=gis-dur
    • key=es-moll

    Also numeric values are allowed:

            0,   // C
            1,   // C#
            101, // D♭
            2,   // D
            3,   // D#
            103, // E♭
            4,   // E
            5,   // F
            6,   // F#
            106, // G♭
            7,   // G
            8,   // G#
            108, // A♭
            9,   // A
            10,  // A#
            110, // B♭
            11,  // B
            111  // C♭
        
  • baby - 0/1 - enable/disable easiest, one note mode for kids
  • game - 0/1 - enable/disable game mode
  • inv, i - 0/1/2/3 - inversion to start from eg. inv=0 (start with root position)
  • hands, h - 0, 1, 2 (not important, one, both) eg. hands=2 (practice the same chords in two hands)
  • steps - scale practice mode: 0 - random, 1 - step by step, 2 - harmonized, 3 - all inversions,
  • spec - specific chords to play, eg. Cmaj7,Bmin7.2
  • prog - numeral progression to play, eg. I7, vii7.2, numeric values are also possible, eg, 1, 4.2, 5.1 (they will be minor or major, depending on the scale type dropdown setting).
  • t - times, number of repeats, eg. t=10 (closes the window after 10 successful repeats)
  • strict - allow/disallow multiple mistakes for the same chord, eg. strict=0 (0 is the default)
  • cats - display funny cat pictures? eg. cats=0 (disable lolcats)
  • type
    • 0 - diatonic triads
    • 1 - diatonic seventh chords
    • 2 - custom progression
    • 3 - single notes
  • score - 0/1 - enable/disable music notation
    • melodic - 0/1 - melodic or harmonic notation
    • desc - 0/1/2 - descending, ascending or shuffled
    • bass - 0/1 - bass or treble key
    • wn - 0/1 - whole notes
  • mode
    • 0 - in the specified key, see the key param
    • 1 - selected chord types
    • 2 - specific chords, see the spec param
  • steps
    • 0 - random
    • 1 - step by step
    • 2 - all inversions
  • v (variant)
    • 0 - single note scale one by one
    • 1 - triads one by one
    • 2 - sevenths one by one
    • 3 - triads all inversions
    • 4 - sevenths all inversions
    • 5 - 14 - intervals one by one

FAQ

I can't get MIDI working

A lot depends on the Web MIDI implementation of the browser. Just use Chrome and you will be fine.

Why no music notation?

The aim of this tool is to get better at understanding the theory behind the chords.
Learning the note names in particular.

The app focuses on the kids and the beginners.

Music notation adds complexity and for now it's beyond the scope.

Why the natural minor?

The natural minor scale is not that useful as the other minor scales, but it is simpler to learn. It has the same notes as the related major scale.
It's easy to derive all the other scales from the major and natural minor once you master them.

What's all about the kittens?

This was just a fancy idea of my 10 yo niece and I implemented it the way she wanted to, just to have more fun with using and developing the app.

Pola did draw these beautiful kittens herself.

The app is still in its early stage, everything may change in the future. I'm open to any suggestions.

What's new

The recent updates are listed on the changelog page

I have a feature request / bug report / feedback

Always happy to hear from you!

Contact me!

Have fun!