How to use


Harmopark is a browser-based music tool that can be used for different purposes, ranging from visually grasping harmony concepts to playing around with chord progressions.

Free play

You can use the hexagonal button keyboard – known as Harmonic Table note layout – as a virtual instrument to freely play chords and melodies. This can be specially expressive on touch-enabled devices like tablets, where you can take advantage of the multi-touch screen to play multiple notes at the same time.

If you're using a mouse (or a touchpad), left-click to play notes; if you're using a touch screen, make sure the Play mode is selected in the toolbar switch before you start playing. Hold down to play the notes longer, even while moving through the keyboard to get a glissando effect.

The Harmonic Table format is very compact and common chords can be easily played with one or two fingers thanks to its special features. Major and minor triads can be played with just one finger or a single mouse click.

Basic types of triads: major, minor, diminished and augmented
Shapes for the basic types of triads: major (top left), minor (top right), diminished (bottom left) and augmented (bottom right).

Each hexagon in the table has a couple of labels depicting its associated pitch class and octave. Just like in a piano, there are light and dark keys: hexagons with a lighter color are associated to the pitches that belong to the currently selected scale in the toolbar. By default C Major is preselected, so natural notes (C, D, E, F, G, A and B) are lighter than notes with accidentals. Consider selecting another key/mode if you intend to play something with a particular tonality, because the color distinction may be handy.

Enharmonic spelling of notes varies from key to key, trying to always use a different letter for each scale degree, and also aiming to minimize accidentals. E.g., you'll see D♭ Ionian ( D♭ E♭ F G♭ A♭ B♭ C ) but C♯ Aeolian ( C♯ D♯ E F♯ G♯ A B ).

The synth sound can be customized in the Keyboard tab of the Sound settings window (accessible through this toolbar button: ). There you can switch among different synth presets and apply some effects to them:

Sound settings panel (screenshot)
Use the Sound settings modal to tailor the sound to your taste.

Building chords

You can create any chord you want by selecting notes on the Harmonic Table. To select a note, right-click on it if you're using a mouse or touchpad; in case you're using a touch-enabled device, first switch to Select mode in the toolbar and then tap on the desired note. Multiple notes can be selected simultaneously if they are contiguous or if you are using a multi-touch screen. The same applies when it comes to deselecting notes.

Once a valid chord is selected, a button will show up in the Selection info panel with the chord's symbol as a label. The Roman numeral for this chord in the context of the currently selected key/mode is also displayed in the bottom half of the button. Use the arrows to scroll through all the possible symbols for the chord, each one of them considering a different note as the root.

Chord building (screenshot)
Here the selected notes form a dominant seventh sharp ninth chord (sometimes called the 'Hendrix chord').

When building a chord and obtaining its possible symbols, selecting a certain key/mode in the toolbar is not required. In the example above, the Mixolydian ♯2 mode in the key of E was selected, where the built chord – E7♯9 – sits in nicely (on the first scale degree). However, any other key or mode could be selected and it wouldn't matter for the purpose of displaying this chord's symbol (there could be some differences in note spelling, though, since each scale may present different enharmonics).

As you can see, there are two buttons at the top right of the Selection info panel. The first one lets you listen to the selected chord and the second can be used to clear the current selection.

Harmonizing scales

You can use Harmopark to explore the harmony based on any of the provided scales. The first thing you want to do is select the set of pitches that will form the basis of the harmony. You do this by selecting a tonic note, a scale and one of its modes. There are multiple heptatonic scales to choose from – both diatonic and non-diatonic – and also quite a few non-heptatonic scales.

Key selection (screenshot)
The Ionian mode in the key of G (G Major) has been selected here. Note how the pitches belonging to the scale are lighter on the Harmonic Table to ease identification.

To build a tertian chord on a given scale degree, select a note in the Harmonic Table with the same pitch class of that scale degree and add two or more light keys above it, going up in thirds (the minor third is the first note up-to-the-left from the previous note; the major third is the first note up-to-the-right). In the selection panel you'll see the chord's pitch constellation and possible symbols:

Chord building (screenshot)
A 5-note chord has been built from the fifth scale degree of G Major (that's D), resulting in a dominant ninth chord in close voicing.

In some scales, a perfectly tertian chord won't be available on certain scale degrees and you'll have to be creative and choose a different note. You could also deliberately avoid tertian harmony altogether and try to harmonize using quartal, quintal or other types of chords.

Additionally, the main chords resulting from the harmonization of the selected scale can be displayed in the form of a chord chart by clicking on the button in the toolbar. You'll be presented with a window like the one shown in the image below, where chords can be listened to and also loaded in the Harmonic table:

Key harmony modal (screenshot)
G Major basic chords for each scale degree. Note the presence of the D9 chord manually built in the previous example.

This interactive progression shows the result of harmonizing the G Major scale using seventh chords. Press the play button to listen to it:

Creating chord progressions

Once you know how to build chords you will be able to easily create chord progressions.

To add a chord to a progression just drag the chord button into the Main progression area below the Selection info panel:

Progression building: adding chord to progression (screenshot)
Grab your chord in the Selection info panel and just drag and drop into the Main progression area.

Once a first chord is added to the main progression another two progressions will immediately appear. These are the Parallel progression and the Negative progression. Learn more about them in the next section.

In the harmonic analysis of chords Roman numerals are used to indicate the scale degree of the root of each chord in the context of the currently selected key. The format of the Roman numeral also indicates the quality of each chord. All Roman numerals are relative to the major mode of the current key (e.g., the fourth scale degree of the major Lydian mode will appear as ♯ivo, and the second scale degree of the minor Phrygian mode will be displayed as ♭II).

Progression building: main progression (screenshot)
4-chord sequence created in the Main progression area. A number of actions are available.

Each chord in the progression is a button you can press to play the chord and also load it in the Harmonic Table. Furthermore, chords can be dragged to another position in the progression allowing you to change the sequence order.

There are a number of additional buttons inside each progression area:

  • Play chords on a loop. Tempo and chord duration can be modified in the Sound settings window, where you can also find an option to add a simple drum beat to the progression.
  • Save the chord progression as a MIDI file so you can use it inside your favorite Digital Audio Workstation (DAW) to produce awesome music.
  • Share a link to your chord progression or get the code to embed it in your own webpage in an HTML iframe (there are some examples of these embedded iframes in this page).

The Main progression has an additional button: . Click the trash button and a dialog box will be displayed asking whether you really want to delete the chord progression. Moreover, the trash button is droppable and lets you drag individual chords to remove them from the progression.

Check the next interactive chord progression. Can you recognize it?

Yes, this is the famous progression from the Pachelbel's Canon.

Parallel and negative progressions

As said in the previous section, whenever a chord progression is created another two harmonic progressions appear on screen right away:

Progression building: the three progression areas (screenshot)
The three progression areas: Main progression, Parallel progression and Negative progression.

The parallel and negative progressions are transformations of the main progression and, as such, they are always updated when the main progression changes and you cannot directly add or remove chords from them.

What you can do is drag and drop chords from the parallel or negative progression into the main one. Sorting the chords is also possible in all progressions, and whenever the order of chords is modified in a progression the other progressions update accordingly to reflect the change.

Parallel progression

The parallel progression allows you to transform or translate your main progression to another mode or scale of your choice. This means you are able to change the character of your progression in varying degrees while retaining the same tonic and overall structure.

This can be quite useful in itself, but many times you're not looking to drastically alter an entire chord progression switching to a different mode. Rather, you want to introduce a special touch somewhere in the sequence or substitute a specific chord for another chord that shares some notes or has a similar function. The borrowing of chords from parallel keys or modes is usually called modal mixture or modal interchange and its use can be thought of as brief or transitory modulation.

To borrow a chord from the parallel progression, just drag and drop the chord into the main progression:

Parallel progression: borrowing a chord (screenshot)
Borrowing a chord from the parallel minor key: the ♭VI adds an Aeolian color to this F major progression.

Borrowed chords are inserted between chords in the main progression. If what you want is to substitute a chord, first add the borrowed chord and then remove the chord you want to replace by dragging it to the trash.

Parallel progression: borrowed chord (screenshot)
We have replaced the original vi chord with the ♭VI borrowed from the parallel minor key. Notice how non-diatonic chords are displayed with a slightly darker color.

Of course, non-diatonic chords can also be directly built in the Harmonic table and then added to the main progression. You can even momentarily switch to the mode you want to borrow a chord from in the toolbar, so the different modal coloring of the hexagonal lattice helps you build the chord you're looking for.

Negative progression

Negative harmony (sometimes called mirror harmony or symmetric harmony) is an interesting and controversial concept derived from Swiss musicologist, pianist and composer Ernst Lévy's polarity theory as exposed in his book A Theory of Harmony, 1985. The concept became a hot topic in music theory in the spring of 2017 when jazz musician Jacob Collier briefly explained it in a moderately famous interview with June Lee. It's controversial in the sense that some people find it inspiring or intriguing, while others think it's only a fancy name with little practical utility and a recycling of old concepts and theories like dualism (from Riemannian theory) or utonality.

Be that as it may, chords in a key can be mirrored over a certain axis. Lévy wrote about the undertone series (symmetric to the natural overtone harmonic series) and how he thought it explained the existence of minor triads. If the key tonic is chosen as a mirror point, a major triad built on that tonic becomes a minor triad a fifth below. So in the key of C, the C major triad (C-E-G) turns into F minor (F-A♭-C), which Lévy called negative C (-C) as he understood C was the generator for the chord, from the top down (C-A♭-F). In the image below there's an example of a simple C major progression mirrored over this tonic axis:

Negative progression: tonic axis (screenshot)
See how the key changes from C major to F minor, major triads become minor triads, and vice versa. Root movement is also mirrored.

Using other axes introduces negative harmony from different keys. Relationships among the mirrored chords, roots, intervals, etc. will stay the same, simply transposed into a new key. The Roman numeral symbols for chords in the mirror key will also be the same.

One specially interesting mirror point is the tonic-dominant axis, which uses the midpoint between the tonic and the dominant of the key (e.g., in the key of C that would be the midpoint between C and G, that is, halfway between E♭ and E, or E half-flat). Lévy didn't really write explicitly about this but that is the axis Jacob Collier talked about and which generated all the buzz. What's special about it is that it flips the harmony between parallel major and minor keys, as if they're reflections of one another. The tonic stays the same, major chords turn into minor chords from the parallel minor, and vice versa. In this way negative chords are said to preserve the same tonal gravity or voice-leading tendencies as their positive counterparts, but in opposite directions.

With that in mind, negative chords may be used in a progression to reach the same points of resolution following different paths. Collier gave an example of this, consisting in replacing a circle-of-fifths progression approaching a chord from the major side for a mirrored cadence of rising fifths approaching the chord from the minor side:

Negative progression: tonic-dominant axis (screenshot)
Circle of fifths progression mirrored over the tonic-dominant axis in the key of C major.

What you would probably want to do in the previous example is keep the target chord the same, i.e. C major, so you have two ways of approaching the same chord.

Borrowing chords from the negative progression to combine them with positive chords in the original key can be thought of as modal interchange, too.

Establishing the tonic-dominant axis is not trivial when working with modes in which the perfect fifth is absent, like Locrian or Ionian Augmented. In these cases I've opted for using the diminished or augmented fifth to set the axis. If no fifth whatsoever is present, the tonic-dominant axis won't be selectable.