/scales

A small Python script that can display scales and chords for stringed instruments

Primary LanguagePython

scales.py

A small Python script that can display scales and chords for stringed instruments.

Available scales and chords

Scales Modes Chords
Chromatic Ionian Major
Major Dorian Minor
Minor Natural Phrygian 7th
Minor Harmonic Lydian Major 7th
Major Pentatonic Mixolydian Minor 7th
Minor Pentatonic Aeolian 6th
Blues Pentatonic Locrian Augmented
Diminished

Usage

scales.py [-h] [--chord] [--tuning TUNING] key scale

positional arguments:
  key                   The key
  scale                 The scale

optional arguments:
  -h, --help            show this help message and exit
  --chord, -c           Display chord
  --tuning TUNING, -t TUNING
                        String tuning

Examples

C Major Scale on a guitar

$ ./scales.py c major

-------------
C Major Scale
-------------

Scale notes:  C  -  D  -  E  -  F  -  G  -  A  -  B
              1  -  2  -  3  -  4  -  5  -  6  -  7

Intervals: 1.0 - 1.0 - 0.5 - 1.0 - 1.0 - 1.0 - 0.5

Tuning: E - A - D - G - B - E

E ||--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|
B ||-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|-----|--D--|
G ||-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|-----|--A--|-----|
D ||-----|--E--|--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|
A ||-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|
E ||--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|

                  3           5           7           9                o o                15                 

C Major scale on a guitar with drop-D tuning

$ ./scales.py c major --tuning DADGBE

-------------
C Major Scale
-------------

Scale notes:  C  -  D  -  E  -  F  -  G  -  A  -  B
              1  -  2  -  3  -  4  -  5  -  6  -  7

Intervals: 1.0 - 1.0 - 0.5 - 1.0 - 1.0 - 1.0 - 0.5

Tuning: D - A - D - G - B - E

E ||--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|
B ||-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|-----|--D--|
G ||-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|-----|--A--|-----|
D ||-----|--E--|--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|
A ||-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|
D ||-----|--E--|--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|

                  3           5           7           9                o o                15

C Major chord on a guitar

$ ./scales.py c major --chord

-------------
C Major Chord
-------------

Scale notes:  C  -  E  -  G
              1  -  3  -  5

Intervals: 2.0 - 1.5 - 2.5

Tuning: E - A - D - G - B - E

E ||-----|-----|--G--|-----|-----|-----|-----|-(C)-|-----|-----|-----|--E--|-----|-----|--G--|
  ||-(C)-|-----|-----|-----|--E--|-----|-----|--G--|-----|-----|-----|-----|-(C)-|-----|-----|
G ||-----|-----|-----|-----|-(C)-|-----|-----|-----|--E--|-----|-----|--G--|-----|-----|-----|
  ||-----|--E--|-----|-----|--G--|-----|-----|-----|-----|-(C)-|-----|-----|-----|--E--|-----|
  ||-----|-----|-(C)-|-----|-----|-----|--E--|-----|-----|--G--|-----|-----|-----|-----|-(C)-|
E ||-----|-----|--G--|-----|-----|-----|-----|-(C)-|-----|-----|-----|--E--|-----|-----|--G--|

                  3           5           7           9                o o                15

G Major chords on a guitar with open G tuning

$ ./scales.py g major --tuning DGDGBD --chord

-------------
G Major Chord
-------------

Scale notes:  G  -  B  -  D
              1  -  3  -  5

Intervals: 2.0 - 1.5 - 2.5

Tuning: D - G - D - G - B - D

D ||-----|-----|-----|-----|-(G)-|-----|-----|-----|--B--|-----|-----|--D--|-----|-----|-----|
B ||-----|-----|--D--|-----|-----|-----|-----|-(G)-|-----|-----|-----|--B--|-----|-----|--D--|
G ||-----|-----|-----|--B--|-----|-----|--D--|-----|-----|-----|-----|-(G)-|-----|-----|-----|
D ||-----|-----|-----|-----|-(G)-|-----|-----|-----|--B--|-----|-----|--D--|-----|-----|-----|
G ||-----|-----|-----|--B--|-----|-----|--D--|-----|-----|-----|-----|-(G)-|-----|-----|-----|
D ||-----|-----|-----|-----|-(G)-|-----|-----|-----|--B--|-----|-----|--D--|-----|-----|-----|

                  3           5           7           9                o o                15

C Major scale on a ukulele

$ ./scales.py c major --tuning GCEA

-------------
C Major Scale
-------------

Scale notes:  C  -  D  -  E  -  F  -  G  -  A  -  B
              1  -  2  -  3  -  4  -  5  -  6  -  7

Intervals: 1.0 - 1.0 - 0.5 - 1.0 - 1.0 - 1.0 - 0.5

Tuning: G - C - E - A

A ||-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|
E ||--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|
C ||-----|--D--|-----|--E--|--F--|-----|--G--|-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|
G ||-----|--A--|-----|--B--|-(C)-|-----|--D--|-----|--E--|--F--|-----|--G--|-----|--A--|-----|

                  3           5           7           9                o o                15