Chord Generator

Chord Generator is an application that allows you to look up the chords on your favorite musical scale. Not only can you read what the chords are, you can hear them - just by clicking on their cells. For more information about how it works, see the documentation below.

Choose a scale to find the chords it contains.

Results

Here are the chords derived from the scale. Click on any cell to hear it played.

Audio Controls
0 100

Cb Major

Cb Major: Cb, Db, Eb, Fb, Gb, Ab, Bb
Chord Types

Cb

Db

Eb

Fb

Gb

Ab

Bb

Fifth

Cb Power Fifth
Cb5
Cb, Gb

Db Power Fifth
Db5
Db, Ab

Eb Power Fifth
Eb5
Eb, Bb

Fb Power Fifth
Fb5
Fb, Cb

Gb Power Fifth
Gb5
Gb, Db

Ab Power Fifth
Ab5
Ab, Eb

Bb Tritone
BbT
Bb, Fb

Triad

Cb Major
Cbmaj
Cb, Eb, Gb

Db Minor
Dbmin
Db, Fb, Ab

Eb Minor
Ebmin
Eb, Gb, Bb

Fb Major
Fbmaj
Fb, Ab, Cb

Gb Major
Gbmaj
Gb, Bb, Db

Ab Minor
Abmin
Ab, Cb, Eb

Bb Diminish 5th
Bbdim5
Bb, Db, Fb

Seventh

Cb Major 7th
Cbmaj7
Cb, Eb, Gb, Bb

Db Minor 7th
Dbmin7
Db, Fb, Ab, Cb

Eb Minor 7th
Ebmin7
Eb, Gb, Bb, Db

Fb Major 7th
Fbmaj7
Fb, Ab, Cb, Eb

Gb 7th
Gb7
Gb, Bb, Db, Fb

Ab Minor 7th
Abmin7
Ab, Cb, Eb, Gb

Bb Minor 7th Flat 5th
Bbmin7-5
Bb, Db, Fb, Ab

Ninth

Cb Major 9th
Cbmaj9
Cb, Eb, Gb, Bb, Db

Db Minor 9th
Dbmin9
Db, Fb, Ab, Cb, Eb

Eb Minor 7th Flat 9th
Ebmin7-9
Eb, Gb, Bb, Db, Fb

Fb Major 9th
Fbmaj9
Fb, Ab, Cb, Eb, Gb

Gb 9th
Gb9
Gb, Bb, Db, Fb, Ab

Ab Minor 9th
Abmin9
Ab, Cb, Eb, Gb, Bb

Bb Minor 7th Flat 9th Flat 5th
Bbmin7-9-5
Bb, Db, Fb, Ab, Cb

Eleventh

Cb Major 11th
Cbmaj11
Cb, Eb, Gb, Bb, Db, Fb

Db Minor 11th
Dbmin11
Db, Fb, Ab, Cb, Eb, Gb

Eb Minor 11th Flat 9th
Ebmin11-9
Eb, Gb, Bb, Db, Fb, Ab

Fb Major 9th Sharp 11th
Fbmaj9+11
Fb, Ab, Cb, Eb, Gb, Bb

Gb 11th
Gb11
Gb, Bb, Db, Fb, Ab, Cb

Ab Minor 11th
Abmin11
Ab, Cb, Eb, Gb, Bb, Db

Bb Minor 11th Flat 9th Flat 5th
Bbmin11-9-5
Bb, Db, Fb, Ab, Cb, Eb

Thirteenth

Cb Major 13th
Cbmaj13
Cb, Eb, Gb, Bb, Db, Fb, Ab

Db Minor 13th
Dbmin13
Db, Fb, Ab, Cb, Eb, Gb, Bb

Eb Minor 11th Flat 13th Flat 9th
Ebmin11-13-9
Eb, Gb, Bb, Db, Fb, Ab, Cb

Fb Major 13th Sharp 11th
Fbmaj13+11
Fb, Ab, Cb, Eb, Gb, Bb, Db

Gb 13th
Gb13
Gb, Bb, Db, Fb, Ab, Cb, Eb

Ab Minor 11th Flat 13th
Abmin11-13
Ab, Cb, Eb, Gb, Bb, Db, Fb

Bb Minor 11th Flat 13th Flat 9th Flat 5th
Bbmin11-13-9-5
Bb, Db, Fb, Ab, Cb, Eb, Gb

Added Ninth

Cb Major Add 9th
Cbmaj add9
Cb, Eb, Gb, Db

Db Minor Add 9th
Dbmin add9
Db, Fb, Ab, Eb

Eb Minor Add Flat 9th
Ebmin add-9
Eb, Gb, Bb, Fb

Fb Major Add 9th
Fbmaj add9
Fb, Ab, Cb, Gb

Gb Major Add 9th
Gbmaj add9
Gb, Bb, Db, Ab

Ab Minor Add 9th
Abmin add9
Ab, Cb, Eb, Bb

Bb Diminish 5th Add Flat 9th
Bbdim5 add-9
Bb, Db, Fb, Cb

Suspended

Cb Suspend
Cbsus
Cb, Fb, Gb

Db Suspend
Dbsus
Db, Gb, Ab

Eb Suspend
Ebsus
Eb, Ab, Bb

Fb Suspend Sharp 4th
Fbsus+4
Fb, Bb, Cb

Gb Suspend
Gbsus
Gb, Cb, Db

Ab Suspend
Absus
Ab, Db, Eb

Bb Suspend Flat 5th
Bbsus-5
Bb, Eb, Fb

Suspended Seventh

Cb Suspend Major 7th
Cbsus / maj7
Cb, Fb, Gb, Bb

Db Suspend 7th
Dbsus / 7
Db, Gb, Ab, Cb

Eb Suspend 7th
Ebsus / 7
Eb, Ab, Bb, Db

Fb Suspend Sharp 4th Major 7th
Fbsus+4 / maj7
Fb, Bb, Cb, Eb

Gb Suspend 7th
Gbsus / 7
Gb, Cb, Db, Fb

Ab Suspend 7th
Absus / 7
Ab, Db, Eb, Gb

Bb Suspend 7th Flat 5th
Bbsus / 7-5
Bb, Eb, Fb, Ab

Sixth

Cb Major Add 6th
Cbmaj add6
Cb, Eb, Gb, Ab

Db Minor Add 6th
Dbmin add6
Db, Fb, Ab, Bb

Eb Minor Add Flat 6th
Ebmin add-6
Eb, Gb, Bb, Cb

Fb Major Add 6th
Fbmaj add6
Fb, Ab, Cb, Db

Gb Major Add 6th
Gbmaj add6
Gb, Bb, Db, Eb

Ab Minor Add Flat 6th
Abmin add-6
Ab, Cb, Eb, Fb

Bb Minor Sharp 5th Add Sharp 11th
Bbmin+5 add+11
Bb, Db, Fb, Gb

Sixth/Ninth

Cb Major Add 6th Add 9th
Cbmaj add6 add9
Cb, Eb, Gb, Ab, Db

Db Minor Add 6th Add 9th
Dbmin add6 add9
Db, Fb, Ab, Bb, Eb

Eb Minor Add Flat 6th Add Flat 9th
Ebmin add-6 add-9
Eb, Gb, Bb, Cb, Fb

Fb Major Add 6th Add 9th
Fbmaj add6 add9
Fb, Ab, Cb, Db, Gb

Gb Major Add 6th Add 9th
Gbmaj add6 add9
Gb, Bb, Db, Eb, Ab

Ab Minor Add Flat 6th Add 9th
Abmin add-6 add9
Ab, Cb, Eb, Fb, Bb

Bb Diminish 5th Add Flat 6th Add Flat 9th
Bbdim5 add-6 add-9
Bb, Db, Fb, Gb, Cb

Added Eleventh

Cb Major Add 11th
Cbmaj add11
Cb, Eb, Gb, Fb

Db Minor Add 11th
Dbmin add11
Db, Fb, Ab, Gb

Eb Minor Add 11th
Ebmin add11
Eb, Gb, Bb, Ab

Fb Major Add Sharp 11th
Fbmaj add+11
Fb, Ab, Cb, Bb

Gb Major Add 11th
Gbmaj add11
Gb, Bb, Db, Cb

Ab Minor Add 11th
Abmin add11
Ab, Cb, Eb, Db

Bb Diminish 5th Add 11th
Bbdim5 add11
Bb, Db, Fb, Eb

Documentation

What is Chord Generator?

Chord Generator is a application for enumerating all possible chords in a selected scale. In particular, Chord Generator will show what the chord is for a given chord type and position, if such a chord exists. This app even allows you to hear the chord by clicking on the cell.

Usage

There are two set of controls for Chord Generator. The main set, "Choose a scale to find the chords it contains", allows you to select a scale for analysis:

  • Key: This sets the root note for the scale. Select from C, C♯, D♭ and all up to B.
  • Scale: This sets the scale under study. There are plenty to choose from, such as Major, Dorian (a mode of the Major), and Harmonic Minor. For a listing of all the scales used in the app, see the appendix
  • ASCII friendly: By default, the app prints out the Unicode character "♭" for the flat symbol and "♯" for the sharp symbol. If these are displayed as blocks, it probably it means you are using an browser like IE6. Click "ASCII friendly" to see ASCII equivalents like "b" and "#".

Results

Chord Generator generates a table organised as follows:

  • The left hand column shows different chord types. Triads are three note chords, where the 1st, 3rd and 5th notes are chosen from a scale starting from a position in that scale. Sevenths are when the 1st, 3rd, 5th and 7th notes are chosen from a scale starting from a position in that scale. For more explanation about how the term chord types are used, see the explanation in the appendix.
  • The top row indicates the starting position of the chord in the scale. The first position in a C major scale is "C", the second position is a "D", and so on. Roman numerals are used to indicate position.
  • The intersection of a column and a row show the name of chord for that position and that chord type. It also shows the abbreviation and the notes that make it up.

Let's take the C major scale as an example.

  1. The first triad is C, E, G – a major chord, or "maj" for short.
  2. The second and third chords are D, F, A and E, G, B – D minor and E minor chords.
  3. The fourth and fifth triads are F, A, C and G, B, D – F major and G major chords.
  4. The sixth is A, C, E – A minor. The seventh – B, D, F is what I call "Diminished Fifth". This should not be confused with "Diminished Seventh", which is a different chord.

The default shows the chords for the C major scale, with "ASCII Friendly" mode turned off.

Audio

Chord Generator (as of version 0.7) not only allows you to read the chords in a given scale, it allows you to hear them as well. Simply click on a cell, and the browser – assuming you are using the right browser – will play the chord contained herein. The parameters for the sound are set in "Audio Controls", the supplementary control set for this app:

  • Volume: From 0% (silence) to 100% (full gain).
  • Duration: Specifies the length of time (in milliseconds) to play the chord.
  • Waveform: The shape of the tones used for the chords. The default is "Sine" (extremely mellow, with no supplementary harmonics), but other choice are "Triangle", "Sawtooth", and "Square".
  • Octave: Specifies the frequency range for playing the base note of a chord. Choose lower values for bass tones, and higher values for treble frequencies.

Questions

You may have none, some or many. Some of those questions may be of the form "What the hell is a "Minor Added 6th Added 9th?" For this particular chord, the answer is "It's the chord with the 1st, 2nd, 3rd, 5th and 6th notes of a major scale." For other chords, I'd advise using a search engine. I made this application because I wanted to; any educational usage is just a bonus.

I'd like to extend this app to show what notes are in an chord - such as "Minor", without the need to provide a key. It would be nice to add functionality that shows how the chord may appear on a fretboard, whether it be a guitar, a violin, or a 4/5/6 string bass. But perhaps I will never have time to do anything about it.

Installation and Dependencies

You can get Chord Generator from PyPI through the command:

pip install chordgenerator

Once installed, just add "chordgenerator" to your INSTALLED_APPS list in settings.py, and add the desired URL in one of the urls.py files.

There are two Python dependencies. Apart from Django, the app depends on musictheory. This package – also made by myself – is the guts of the application, and can be used outside of Django. It contains classes for musical temperaments, scales and chords.

The audio component of Chord Generator depends on the JavaScript library jQuery. It also requires the browser to support the experimentatal, HTML5ish Web Audio API, "a high-level JavaScript API for processing and synthesizing audio in web applications". Fortunately, most desktop browsers as of 2014 support Web Audio API, with Internet Explorer being the usual exception. There are no other JavaScript dependencies (thank god) for Chord Generator – no mucking around with dodgy third-party libraries!

The HTML template file used to generate HTML has been redesigned to work with the Mezzanine CMS, which comes with jQuery built in. The redesign removed any explicit references to particular stylesheets found with earlier versions. Feel free to customise: the app is released under a 3 clause BSD license. If you wish to do any changes to the app, pop over to the GitHub repository. (There is also a Github repository for musictheory.)

For more information about the amazing Web Audio API, see Creating Sound with the Web Audio API and Oscillators and HTML5 Web Audio API Tutorial: Building a Virtual Synth Pad.

History

  • 0.1 (May 1st 2011) - Initial release. Took code and made setup script.
  • 0.2 (May 11th 2011) - Remove bugs.
  • 0.3 (June 6th 2011) - Add license information. Add more scales.
  • 0.4 (June 2nd 2013) - Try to make a half-decent PyPI package.
  • 0.5 (January 30th 2014) - Updated to be compatible with Django 1.6 and Mezzanine 3.0.
  • 0.6 (February 15th 2014) - Added more styling to be compatible with Bootstrap. More history described.
  • 0.7 (August 27th 2014) - Added the ability for users to hear the chords.
  • 0.8 (March 1st 2017) - Updated to be compatible with Django 1.10.
  • 0.9 (December 5th 2020) - Updated for Python 3 compatibility.

Copyright © Peter Murphy 2011–2025.

Appendix

This is a little preliminary explanation about the concepts and "theory" behind the application.

Chord Types

These are the chord types used for selecting notes from a scale for playing and displaying.

  • Base note: the starting position or first note of each scale. Useful for hearing single tones in isolation and comparing their sound to their chords.
  • Fifth: the first note and fifth note of a scale. Useful for power chords.
  • Triad: the first, third and fifth notes of a scale. Basically, enough for interesting music.
  • Seventh: the first, third, fifth and seventh notes of a scale. When harmonics get interesting.
  • Ninth: the first, third, fifth, seventh and ninth notes of a scale. When chords get jazzy.
  • Eleventh: the first, third, fifth, seventh, ninth and eleventh notes of a scale. When chords get too jazzy for their own good.
  • Thirteenth: the first, third, fifth, seventh, ninth, eleventh and thirteenth notes of a scale. The aeons are closing in.
  • Added Ninth: the first, third, fifth, and ninth notes of a scale. Makes me think of the Foo Fighters for soem reason.
  • Suspended: the first, fourth and fifth notes of a scale. Pinball Wizard territory.
  • Suspended Seventh: the first, fourth, fifth and seventh notes of a scale. Built on suspended chords.
  • Sixth: the first, third, fifth, and sixth of a scale. These are often inversions of seventh chords.
  • Sixth/Ninth: the first, third, fifth, sixth and ninth notes of a scale.
  • Added Eleventh: the first, third, fifth, and eleventh notes of a scale. Added for completeness.

That's probably enough flexibility to select every possible interesting chord. Note that the more 'complicated' chord one is, the more melancholy and or discordant the result generally is.

Scales

There are a whole load of "scales" used in this app, most of which most people would not have heard of. Fortunately, most of the scales are modes and transpositions of other scales. Most of the terminology is grabbed from such places as Solfege and Dolmetsch. One of the few exceptions is the "Discordant Minor", which I invented for shit and giggles.

For reasons of space, alternative names for scales are shown in brackets underneath. I've also introduced gratuituous hyphens to make everything fit.

Scales of interest

Scales

Pattern

2nd Mode

3rd Mode

4th Mode

5th Mode

6th Mode

7th Mode

Major (Ionian)

1-2-3-4-5-6-7

Dorian

Phrygian

Lydian

Mixo-lydian

Aeolian

Locrian

Melodic Minor (Jazz Minor)

1-2-♭3-4-5-6-7

Dorian ♭9

Lydian Augmented

Lydian Dominant

Mixo-lydian ♭13

Semi-locrian

Super-locrian

Harmonic Minor

1-2-♭3-4-5-♭6-7

Locrian ♯6

Ionian Augmented

Romanian

Phrygian Dominant

Lydian ♯2

Ultra-locrian

Harmonic Major

1-2-3-4-5-♭6-7

Dorian ♭6

Phrygian ♭4

Lydian ♭3

Mixo-lydian ♭9

Lydian ♯2 ♯5

Locrian ♭♭7

Discordant Minor (Melodic Minor ♭5)

1-2-♭3-4-♭5-6-7

Dorian ♭9 ♭4

Minor Lydian Augmented

Lydian Dominant ♭9

Lydian Augmented ♯2 ♯3

Semi-locrian ♭♭7

Super-locrian ♭♭6

Harmonic Minor ♭5

1-2-♭3-4-♭5-♭6-7

Super-locrian ♯6

Melodic Minor ♯5

Dorian ♭9 ♯11

Lydian Augmented ♯3

Hungarian

Super-locrian ♭♭6 ♭♭7

Recent Tweets