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.
Here are the chords derived from the scale. Click on any cell to hear it played.
Chord Types | C |
D |
E |
F |
G |
A |
B |
---|---|---|---|---|---|---|---|
Fifth | C Power Fifth | D Power Fifth | E Power Fifth | F Power Fifth | G Power Fifth | A Power Fifth | B Tritone |
Triad | C Major | D Minor | E Minor | F Major | G Major | A Minor | B Diminish 5th |
Seventh | C Major 7th | D Minor 7th | E Minor 7th | F Major 7th | G 7th | A Minor 7th | B Minor 7th Flat 5th |
Ninth | C Major 9th | D Minor 9th | E Minor 7th Flat 9th | F Major 9th | G 9th | A Minor 9th | B Minor 7th Flat 9th Flat 5th |
Eleventh | C Major 11th | D Minor 11th | E Minor 11th Flat 9th | F Major 9th Sharp 11th | G 11th | A Minor 11th | B Minor 11th Flat 9th Flat 5th |
Thirteenth | C Major 13th | D Minor 13th | E Minor 11th Flat 13th Flat 9th | F Major 13th Sharp 11th | G 13th | A Minor 11th Flat 13th | B Minor 11th Flat 13th Flat 9th Flat 5th |
Added Ninth | C Major Add 9th | D Minor Add 9th | E Minor Add Flat 9th | F Major Add 9th | G Major Add 9th | A Minor Add 9th | B Diminish 5th Add Flat 9th |
Suspended | C Suspend | D Suspend | E Suspend | F Suspend Sharp 4th | G Suspend | A Suspend | B Suspend Flat 5th |
Suspended Seventh | C Suspend Major 7th | D Suspend 7th | E Suspend 7th | F Suspend Sharp 4th Major 7th | G Suspend 7th | A Suspend 7th | B Suspend 7th Flat 5th |
Sixth | C Major Add 6th | D Minor Add 6th | E Minor Add Flat 6th | F Major Add 6th | G Major Add 6th | A Minor Add Flat 6th | B Minor Sharp 5th Add Sharp 11th |
Sixth/Ninth | C Major Add 6th Add 9th | D Minor Add 6th Add 9th | E Minor Add Flat 6th Add Flat 9th | F Major Add 6th Add 9th | G Major Add 6th Add 9th | A Minor Add Flat 6th Add 9th | B Diminish 5th Add Flat 6th Add Flat 9th |
Added Eleventh | C Major Add 11th | D Minor Add 11th | E Minor Add 11th | F Major Add Sharp 11th | G Major Add 11th | A Minor Add 11th | B Diminish 5th Add 11th |
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.
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:
Chord Generator generates a table organised as follows:
Let's take the C major scale as an example.
The default shows the chords for the C major scale, with "ASCII Friendly" mode turned off.
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:
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.
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.
Copyright © Peter Murphy 2011–2024.
This is a little preliminary explanation about the concepts and "theory" behind the application.
These are the chord types used for selecting notes from a scale for playing and displaying.
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.
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 |
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 |
here’s a comic about arguing on twitter https://t.co/vNX0sBBoma
1 year, 7 months ago
On point 8, Helen, you had unrepentant Nazis on your side that day. It's probably just as well you are leaving the… https://t.co/5P2wWhFDc5
1 year, 7 months ago
@TweetsByBritt Britt: the answer is "no". In my working life of close to 30 years, there's been only one threat of… https://t.co/MmuSFBiszr
1 year, 7 months ago