{% extends "base.html" %} {% load musictags %} {% block meta_title %}Chordgenerator{% endblock %} {% block main %}

Chord Generator

Choose a scale to find the chords it contains.

Results

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

Documentation

What is Chordgenerator?

Chordgenerator is a application for enumerating all possible chords in a selected scale. In particular, Chordgenerator will show what the chord is for a given chord type and position, if such a chord exists.

Usage

There are three controls in Chordgenerator.

Results

Chordgenerator 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 Chordgenerator 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.

Copyright © Peter Murphy 2011, 2012, 2013.

{% endblock %}