Skip to content

Instantly share code, notes, and snippets.

@kennethreitz
Created September 6, 2018 12:41
Show Gist options
  • Save kennethreitz/b363660145064fc330c206294cff92fc to your computer and use it in GitHub Desktop.
Save kennethreitz/b363660145064fc330c206294cff92fc to your computer and use it in GitHub Desktop.

Revisions

  1. kennethreitz created this gist Sep 6, 2018.
    140 changes: 140 additions & 0 deletions test.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,140 @@
    $ cat t.py
    from pprint import pprint
    from pytheory import Tone, Fretboard, charts_for_fretboard


    tones = (
    Tone.from_string("F2"),
    Tone.from_string("C3"),
    Tone.from_string("G3"),
    Tone.from_string("D4"),
    Tone.from_string("A5"),
    Tone.from_string("E5")
    )

    fretboard = Fretboard(tones=tones)

    pprint(charts_for_fretboard(fretboard=Fretboard(tones=tones)))


    $ python t.py Thu Sep 6 08:40:10 2018
    {'A': (4, 2, 2, 0, 0, 0),
    'A5': (4, 2, 2, 0, 0, 5),
    'A7': (4, 4, 2, 2, 0, 0),
    'A9': (1, 6, 2, 4, 0, 2),
    'Ab': (3, 1, 1, 1, 4, 4),
    'Ab5': (3, 1, 1, 6, 4, 4),
    'Ab7': (3, 3, 1, 1, 6, 4),
    'Ab9': (0, 5, 1, 3, None, 1),
    'Abdim': (3, 0, 1, 2, 3, 0),
    'Abm': (3, 0, 1, 6, 3, 4),
    'Abm6': (3, 0, 1, 0, 3, 4),
    'Abm7': (3, 0, 1, 1, 3, 4),
    'Abmaj': (3, None, 1, 6, 2, 4),
    'Abmaj7': (3, 3, 1, 1, 2, 4),
    'Adim': (0, 1, 2, 3, 0, 5),
    'Am': (4, 1, 2, None, 0, 5),
    'Am6': (4, 1, 2, 1, 0, 5),
    'Am7': (4, 1, 2, 2, 0, 0),
    'Amaj': (4, 0, 2, None, 0, 5),
    'Amaj7': (4, 0, 2, 2, 0, 0),
    'B': (1, 4, 4, 2, 2, 0),
    'B5': (6, 4, 4, 2, 2, 0),
    'B7': (1, 6, 4, 4, 2, 2),
    'B9': (3, None, 1, 6, 2, 4),
    'Bb': (0, 3, 3, 3, 6, 6),
    'Bb5': (5, 3, 3, 1, 1, 6),
    'Bb7': (0, 5, 3, 3, 1, 1),
    'Bb9': (2, None, 0, 5, 1, 3),
    'Bbdim': (1, 2, 3, 0, 5, 6),
    'Bbm': (5, 2, 3, 0, 1, 6),
    'Bbm6': (5, 2, 3, 0, 1, 0),
    'Bbm7': (0, 2, 3, 0, 5, 6),
    'Bbmaj': (5, 1, 3, None, 1, 6),
    'Bbmaj7': (0, 1, 3, 3, 4, 6),
    'Bdim': (2, 3, 0, 1, 2, 3),
    'Bm': (6, 3, 4, 1, 2, None),
    'Bm6': (0, 3, 4, 1, 2, 1),
    'Bm7': (1, 3, 4, 1, 2, 2),
    'Bmaj': (6, 2, 4, 0, 2, None),
    'Bmaj7': (1, 2, 4, 0, 2, 2),
    'C': (0, 0, 0, 3, 3, 3),
    'C5': (0, 0, 5, 3, 3, 1),
    'C7': (2, 0, 0, 5, 3, 3),
    'C9': (4, 0, 2, None, 0, 5),
    'Cdim': (3, 0, 1, 2, 3, 0),
    'Cm': (None, 0, 5, 2, 3, 0),
    'Cm6': (1, 0, 5, 2, 3, 0),
    'Cm7': (2, 0, 0, 2, 3, 0),
    'Cmaj': (None, 0, 5, 1, 3, None),
    'Cmaj7': (2, 0, 0, 1, 3, 3),
    'D': (2, 2, 0, 0, 0, 3),
    'D5': (2, 2, 0, 0, 5, 3),
    'D7': (4, 2, 2, 0, 0, 5),
    'D9': (6, 2, 4, 0, 2, None),
    'Db': (1, 1, 1, 4, 4, 4),
    'Db5': (1, 1, 6, 4, 4, 2),
    'Db7': (3, 1, 1, 6, 4, 4),
    'Db9': (5, 1, 3, None, 1, 6),
    'Dbdim': (0, 1, 2, 3, 0, 5),
    'Dbm': (0, 1, 6, 3, 4, 1),
    'Dbm6': (0, 1, 0, 3, 4, 1),
    'Dbm7': (0, 1, 1, 3, 4, 4),
    'Dbmaj': (None, 1, 6, 2, 4, 0),
    'Dbmaj7': (3, 1, 1, 2, 4, 0),
    'Ddim': (1, 2, 3, 0, 5, 6),
    'Dm': (1, 2, None, 0, 5, 2),
    'Dm6': (1, 2, 1, 0, 5, 2),
    'Dm7': (1, 2, 2, 0, 0, 2),
    'Dmaj': (0, 2, None, 0, 5, 1),
    'Dmaj7': (0, 2, 2, 0, 0, 5),
    'E': (4, 4, 2, 2, 0, 0),
    'E5': (4, 4, 2, 2, 0, 0),
    'E7': (6, 4, 4, 2, 2, 0),
    'E9': (None, 1, 6, 2, 4, 0),
    'Eb': (3, 3, 3, 6, 6, 6),
    'Eb5': (3, 3, 1, 1, 6, 4),
    'Eb7': (5, 3, 3, 1, 1, 6),
    'Eb9': (None, 0, 5, 1, 3, None),
    'Ebdim': (2, 3, 0, 1, 2, 3),
    'Ebm': (2, 3, 0, 1, 6, 3),
    'Ebm6': (2, 3, 0, 5, 0, 5),
    'Ebm7': (2, 3, 0, 5, 6, 6),
    'Ebmaj': (1, 3, None, 1, 6, 2),
    'Ebmaj7': (1, 3, 3, 4, 6, 6),
    'Edim': (3, 0, 1, 2, 3, 0),
    'Em': (3, 4, 1, 2, None, 0),
    'Em6': (3, 4, 1, 2, 1, 0),
    'Em7': (3, 4, 1, 2, 2, 0),
    'Emaj': (2, 4, 0, 2, None, 0),
    'Emaj7': (2, 4, 0, 2, 2, 0),
    'F': (0, 0, 3, 3, 3, 6),
    'F5': (0, 5, 3, 3, 1, 1),
    'F7': (0, 0, 5, 3, 3, 1),
    'F9': (0, 2, None, 0, 5, 1),
    'Fdim': (0, 1, 2, 3, 0, 5),
    'Fm': (0, 5, 2, 3, 0, 1),
    'Fm6': (0, 5, 2, 3, 0, 1),
    'Fm7': (0, 0, 2, 3, 0, 5),
    'Fmaj': (0, 5, 1, 3, None, 1),
    'Fmaj7': (0, 0, 1, 3, 3, 4),
    'G': (2, 0, 0, 0, 3, 3),
    'G5': (2, 0, 0, 5, 3, 3),
    'G7': (2, 2, 0, 0, 5, 3),
    'G9': (2, 4, 0, 2, None, 0),
    'Gb': (1, 1, 4, 4, 2, 2),
    'Gb5': (1, 6, 4, 4, 2, 2),
    'Gb7': (1, 1, 6, 4, 4, 2),
    'Gb9': (1, 3, None, 1, 6, 2),
    'Gbdim': (1, 2, 3, 0, 5, 6),
    'Gbm': (1, 6, 3, 4, 1, 2),
    'Gbm6': (1, 0, 3, 4, 1, 2),
    'Gbm7': (1, 1, 3, 4, 4, 6),
    'Gbmaj': (1, 6, 2, 4, 0, 2),
    'Gbmaj7': (1, 1, 2, 4, 0, 5),
    'Gdim': (2, 3, 0, 1, 2, 3),
    'Gm': (2, None, 0, 5, 2, 3),
    'Gm6': (2, 1, 0, 5, 2, 3),
    'Gm7': (2, 2, 0, 0, 2, 3),
    'Gmaj': (2, None, 0, 5, 1, 3),
    'Gmaj7': (2, 2, 0, 0, 5, 6)}