{% extends "base.html" %} {% load musictags %} {% block meta_title %}Chord Generator{% endblock %} {% block title %}Chord Generator{% endblock %} {% block main %}
Choose a scale to find the chords it contains.

Results

{% if asciiselect %} {{ scaletable|chordtabletag:1 }} {% else %} {{ scaletable|chordtabletag:0 }} {% endif %}

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.

Usage

There are three controls in Chord Generator.

Results

Chord Generator generates a table organised as follows:

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 table (shown above) always shows the chords for the C major scale, with ASCII Friendly mode turned off.

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.

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 HTML template file used to generate HTML has been redesigned to work with the Mezzanine CMS. 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.)

History

Copyright © Peter Murphy 2011, 2012, 2013, 2014.

{% endblock %}