Configuration For Classes

Shows default values for classes

Designs

[Designs][CircleNote]

Name

Type

Description

Default Value

noteFaceColor

str

Color of the note face

‘blue’

noteFill

bool

Whether the note is filled

True

noteEdgeColor

str

Color of the note edge

‘black’

noteEdgeWidth

int

Width of the note edge

2

noteRadius

float

Radius of the note

0.4

noteOpactiy

float

Opacity of the note

1

noteTextColor

str

Color of the note text

‘white’

noteTextFont

str

Font size of the note text

‘10pt’

intervals

str or

None

Intervals associated with note

None

scaleDegrees

str or

None

Scale degrees of the note

None

name

str or

None

Name of the note

None

nameWithOctave

str or

None

Name of the note with octave

None

fret

int or

None

Fret position

None

string

int or

None

String position

None

[Designs][FretboardFigure]

Name

Type

Description

Default Value

fig

figure

The Bokeh figure object.

figHorXRange

Range1d

The x-range for the horizontal orientation.

Range1d(-8*note.getNoteRadius(), (theme.fretboardRange.numOfFrets+1.3)*theme.fretboardDesign.distanceBetweenFrets)

figHorYRange

Range1d

The y-range for the horizontal orientation.

Range1d(-3*note.getNoteRadius(), theme.fretboardDesign.distanceBetweenStrings*theme.tuning.numOfStrings)

figVerXRange

Range1d

The x-range for the vertical orientation.

Range1d(-3*note.getNoteRadius(), theme.fretboardDesign.distanceBetweenStrings*theme.tuning.numOfStrings)

figVerYRange

Range1d

The y-range for the vertical orientation.

Range1d(-8*note.getNoteRadius(), (theme.fretboardRange.numOfFrets+2)*theme.fretboardDesign.distanceBetweenFrets)

orientation

str

The orientation of the fretboard figure (‘h’ for horizontal, ‘v’ for vertical).

‘h’

stringLabel

str

The string label layout.

fretLabel

str

The fret label layout.

width

int

The width of the figure.

None

height

int

The height of the figure.

None

[Designs][FretboardStyle][FretbooardTheme]

Name

Type

Description

Default

theme

str

The theme to apply to the fretboard design. Can be blue, dark, wood, and green

“”=light color

Themes
_images/blueTheme.png _images/darkTheme.png _images/defaultTheme.png _images/greenTheme.png _images/woodTheme.png

Name

Type

Description

Default

Notes

orientation

FretboardOrientation or string

The orientation of the fretboard.

‘h’

If a string is provided, it will be converted to FretboardOrientation enum.

tuning

Tuning or dict

The tuning of the fretboard.

None

If a dictionary is provided, it will be used to create a Tuning object. Otherwise, it expects an instance of the Tuning class.

fretboardRange

FretboardRange or dict

The range of frets and strings on the fretboard.

FretboardRange(1, 12, 6)

If a dictionary is provided, it will be used to create a FretboardRange object. Otherwise, it expects an instance of the FretboardRange class.

fretboardDesign

FretboardDesign or dict

The design settings for the fretboard.

FretboardDesign()

If a dictionary is provided, it will be used to create a FretboardDesign object. Otherwise, it expects an instance of the FretboardDesign class.

[Designs][FretboardStyle][FretboardOrientation]

Name

Type

Description

Default

Notes

orientation

string

The orientation of the fretboard.

‘h’

If a string is provided, it will be converted to FretboardOrientation enum.

[Designs][FretboardStyle][Tuning]

Name

Type

Description

Default

letterTuning

list

Letter tuning

STANDARD_TUNING

midiTuning

list

MIDI tuning

STANDARD_TUNING_MIDI

numOfStrings

int

Number of strings

6

[Designs][FretboardStyle][FretboardRange]

Name

Type

Description

Default

fretFrom

int

Starting fret number

0

fretTo

int

Ending fret number

12

numOfFrets

int

Number of Frets

fretTo-fretFrom

numOfString

int

Number of strings

6

[Designs][FretboardStyle][FretboardDesign]

Name

Type

Description

Default

showTuning

bool

Determines whether the tuning of the strings is displayed on the fretboard.

True

showFretboardNumber

bool

Determines whether the fretboard number is displayed on the fretboard.

True

toolBar

str

Determines whether a toolbar is displayed on the fretboard. Options: ‘right’, ‘above’, ‘below’, ‘left’.

“right”

distanceBetweenFrets

int

The distance between two consecutive frets on the fretboard.

5

distanceBetweenStrings

int

The distance between two consecutive strings on the fretboard.

2

fretColor

str

The color of the frets on the fretboard.

“black”

fretThickness

int

The thickness of the fret lines on the fretboard.

1

stringsColor

str

The color of the strings on the fretboard.

“black”

stringThickness

float

The thickness of the string lines on the fretboard.

1.5

fretOpacity

float

The opacity of the frets on the fretboard.

0.3

stringsOpacity

float

The opacity of the strings on the fretboard.

1.0

backgroundColor

str

The background color of the fretboard.

“white”

fretboardMarkerColor

str

The color of the fretboard markers.

“#DCDCDC”

noteType

str

The type of notes to be displayed on the fretboard. Options: ‘prediction’, ‘groundTruth’, ‘white’, ‘black’, ‘darkBlue’, ‘green’.

“prediction”

tuningLabelColor

str

The color of the tuning labels on the fretboard.

“black”

tuningLabelFontSize

str

The font size of the tuning labels on the fretboard.

“10pt”

fretLabelColor

str

The color of the fret labels on the fretboard.

“black”

fretLabelFontSize

str

The font size of the fret labels on the fretboard.

“10pt”

Videos

[Videos][Audio]

Name

Type

Description

Default

audioPath

str

The path to the audio file.

N/A

sampleRate

int

The sample rate of the audio.

44100

[Videos][Images]

Name

Type

Description

Default

outputPathName

str

The path to the directory where images will be saved.

os.path.join(BASE_PATH, ‘Outputs’, ‘Images’)

name

str

The name of the image file (without extension).

“default”

meta

str

The file extension or metadata of the image file.

“.png”

fileName

str

The complete path of the image file, including directory and file name.

os.path.join(self. outputPathName, self.

name + meta)

[Videos][TabSequence]

Name

Type

Description

Default

trackNum

int

The index of the track to load from the dataset.

0

frameRate

float

The frame rate of the tab sequence. Default is FRAMERATE.

FRAMERATE

filePath

str

The file path to the GuitarSet dataset. Default is ‘BASE_PATH/GuitarSet’.

BASE_PATH/GuitarSet

frameType

str

The type of the tab frames. Either “fret” or “midi”

“fret”

[Videos][Video]

Name

Type

Description

Default

frameRate

float

The frame rate of the video. Default is FRAMERATE.

FRAMERATE

videoName

str

The name of the video.

“defaultVid”

fileExtension

str

The file extension of the video.

“.mp4”

codec

str

The video codec.

“mp4v”

videoWAudioName

str

The name of the video with audio.

“defaultVideoWAudio”

frames

dict

A dictionary of frames with their corresponding time frames.

N/A

currentAddTabFrames

int

The number of frames added through the addTab method.

0

videoPath

str

The path to the video directory.

“BASE_PATH/Outputs/Videos”

videoPathWithName

str

The path to the video file.

“videoPath/videoName”

audioPath

str

The path to the audio directory.

“BASE_PATH/GuitarSet”

audioName

str

The name of the audio file.

“”

audioPathWithName

str

The path to the audio file.

“audioPath/audioName”

videoWAudioPath

str

The path to the video with audio directory.

“BASE_PATH/Outputs/Videos”

videoWAudioPathWithName

str

The path to the video with audio file.

“videoWAudioPath/videoWAudioName+fileExtension”

[Videos][VideoManager]

Name

Type

Description

Default

imageProgressBar

bool

Flag indicating whether to display a progress bar while generating images.

True

Utilities

[Utilities][Constants]

from pathlib import Path
import os 

#scale degree, later can add b or #
scaleDegrees = ["1", "b2", "2", "b3", "3", "4", "b5", "5", "b6", "6", "b7", "7","1"]

#notes
chromaticNotes = ["A","A#/Bb","B","C","C#/Db","D","D#/Eb","E","F","F#/Gb","G","G#/Ab"]

#chromatic notes with enharmonic    
chromaticWEnharmonicScale = ['C', 'C#', 'Db', 'D', 'D#', 'Eb', 'E', 'F', 'F#', 'Gb', 'G', 'G#', 'Ab', 'A', 'A#', 'Bb', 'B']
chromaticWEnharmonicScaleFindDistance = [['C'], ['C#', 'Db'], ['D'], ['D#', 'Eb'], ['E'], ['F'], ['F#', 'Gb'], ['G'], ['G#', 'Ab'], ['A'], ['A#', 'Bb'], ['B']]

#solfeges
chromaticSolfeges = ["do","di","re","ri","mi","fa","fi","sol","si","la","li","ti"]

#intervals
allInterval = ["P1", "m2", "M2", "m3", "M3", "P4", "#4", "P5", "m6", "M6", "m7", "M7", "P8", "m9", "M9", "m10", "M10", "P11", "#11", "P12", "m13", "M13", "m14", "M14", "m15", "M15", "P16"]

#common tunings in notes
STANDARD_TUNING = ['E', 'A', 'D', 'G', 'B', 'E']
DROP_D_TUNING = ['D', 'A', 'D', 'G', 'B', 'E']
OPEN_G_TUNING = ['D', 'G', 'D', 'G', 'B', 'D']
DADGAD_TUNING = ['D', 'A', 'D', 'G', 'A', 'D']
EBEEBE_TUNING = ['E', 'B', 'E', 'E', 'B', 'E']
OPEN_D_TUNING = ['D', 'A', 'D', 'F#', 'A', 'D']
OPEN_E_TUNING = ['E', 'B', 'E', 'G#', 'B', 'E']
OPEN_A_TUNING = ['E', 'A', 'E', 'A', 'C#', 'E']
OPEN_C_TUNING = ['C', 'G', 'C', 'G', 'C', 'E']
DROP_C_TUNING = ['C', 'G', 'C', 'F', 'A', 'D']
OPEN_B_TUNING = ['B', 'F#', 'B', 'F#', 'B', 'D#']
#in midi
STANDARD_TUNING_MIDI = [40, 45, 50, 55, 59, 64]
DROP_D_TUNING_MIDI = [38, 45, 50, 55, 59, 64]
OPEN_G_TUNING_MIDI = [38, 43, 47, 55, 59, 62]
DADGAD_TUNING_MIDI = [38, 45, 50, 55, 57, 62]
EBEEBE_TUNING_MIDI = [40, 47, 50, 50, 47, 50]
OPEN_D_TUNING_MIDI = [38, 45, 50, 54, 57, 62]
OPEN_E_TUNING_MIDI = [40, 47, 50, 56, 59, 64]
OPEN_A_TUNING_MIDI = [40, 45, 40, 45, 49, 52]
OPEN_C_TUNING_MIDI = [36, 43, 36, 43, 36, 40]
DROP_C_TUNING_MIDI = [36, 43, 36, 41, 45, 50]
OPEN_B_TUNING_MIDI = [35, 42, 35, 42, 35, 39]

#orientation
HORIZONTAL = ["horizontal", "h"]
VERTICAL = ["vertical", "v"]

BASE_PATH = Path(__file__).resolve().parent.parent

FRAMERATE = 30

#caged
#c shape

cShape = {
    "name": "C",
    "majNote": ["E", "C", "E", "G", "C", "E"],
    "majPosition": ["x", "3", "2", "0", "1", "0"],
    "majScaleDegree": ["", "1", "3", "5", "1", "3"],
    "maj7Note": ["E", "C", "E", "G", "B", "E"],
    "maj7Position": ["x", "3", "2", "0", "0", "0"],
    "maj7ScaleDegree": ["", "1", "3", "5", "7", "3"],
    "dom7Note": ["E", "C", "E", "Bb", "C", "E"],
    "dom7Position": ["x", "3", "2", "3", "1", "x"],
    "dom7ScaleDegree": ["", "1", "3", "b7", "1", "3"],

    "minNote": ["Eb", "C", "Eb", "G", "C", "Eb"],
    "minPosition": ["x", "3", "1", "0", "1", "x"],
    "minScaleDegree": ["", "1", "b3", "5", "1", ""],
    "min7Note": ["Eb", "C", "Eb", "Bb", "C", "G"],
    "min7Position": ["x", "3", "1", "3", "1", "3"],
    "min7ScaleDegree": ["", "1", "b3", "b7", "1", "5"],
    "min7b5Note": ["Eb", "C", "Eb", "Bb", "C", "Gb"],
    "min7b5Position": ["x", "3", "1", "3", "1", "2"],
    "min7b5ScaleDegree": ["", "1", "b3", "b7", "1", "b5"],

    "dimNote": ["Eb", "C", "Eb", "Gb", "C", "Eb"],
    "dimPosition": ["x", "3", "1", "-1", "x", "x"],
    "dimScaleDegree": ["", "1", "b3", "b5", "1", "b3"],
    "dim7Note": ["Eb", "C", "Eb", "A", "C", "Gb"],
    "dim7Position": ["x", "3", "1", "2", "1", "2"],
    "dim7ScaleDegree": ["", "1", "b3", "6", "1", "b3"],

    "augNote": ["E", "C", "E", "G#", "C", "E"],
    "augPosition": ["x", "3", "2", "1", "1", "x"],
    "augScaleDegree": ["", "1", "b3", "b7", "1", "b5"]
}

aShape = {
    "name": "A",
    "majNote": ["E", "A", "E", "A", "C#", "E"],
    "majPosition": ["0", "0", "2", "2", "2", "0"],
    "majScaleDegree": ["5", "1", "5", "1", "3", "5"],
    "maj7Note": ["E", "A", "E", "Ab", "C#", "E"],
    "maj7Position": ["0", "0", "2", "1", "2", "0"],
    "maj7ScaleDegree": ["5", "1", "5", "7", "3", "5"],
    "dom7Note": ["E", "A", "E", "G", "C#", "E"],
    "dom7Position": ["0", "0", "2", "0", "2", "0"],
    "dom7ScaleDegree": ["5", "1", "5", "b7", "3", "5"],

    "minNote": ["E", "A", "E", "A", "C", "E"],
    "minPosition": ["0", "0", "2", "2", "1", "0"],
    "minScaleDegree": ["5", "1", "5", "1", "b3", "5"],
    "min7Note": ["E", "A", "E", "G", "C", "E"],
    "min7Position": ["0", "0", "2", "0", "1", "0"],
    "min7ScaleDegree": ["5", "1", "5", "b7", "b3", "5"],
    "min7b5Note": ["E", "A", "Eb", "G", "C", "E"],
    "min7b5Position": ["x", "0", "1", "0", "1", "x"],
    "min7b5ScaleDegree": ["", "1", "b5", "b7", "b3", ""],

    "dimNote": ["Eb", "A", "Eb", "A", "C", "Eb"],
    "dimPosition": ["x", "0", "1", "2", "1", "x"],
    "dimScaleDegree": ["b5", "1", "b5", "1", "b3", "b5"],
    "dim7Note": ["E", "A", "Eb", "Gb", "C", "E"],
    "dim7Position": ["x", "0", "1", "-1", "1", "x"],
    "dim7ScaleDegree": ["", "1", "b5", "6", "b3", ""],

    "augNote": ["F", "A", "F", "A", "C#", "F"],
    "augPosition": ["1", "0", "3", "2", "2", "1"],
    "augScaleDegree": ["#5", "1", "#5", "1", "3", "#5"],
}

gShape = {
    "name": "G",
    "majNote": ["G", "B", "D", "G", "B", "G"],
    "majPosition": ["3", "2", "0", "0", "0", "3"],
    "majScaleDegree": ["1", "3", "5", "1", "3", "1"],

    "minNote": ["G", "Bb", "D", "G", "", ""],
    "minPosition": ["3", "1", "0", "0", "x", "x"],
    "minScaleDegree": ["1", "b3", "5", "1", "", ""],
    
    "dimNote": ["G", "Bb", "Db", "G", "Bb", "G"],
    "dimPosition": ["3", "1", "-1", "x", "x", "x"],
    "dimScaleDegree": ["1", "b3", "b5", "1", "b3", "1"],

    "augNote": ["G", "B", "D#", "G", "B", "G"],
    "augPosition": ["3", "2", "1", "0", "0", "x"],
    "augScaleDegree": ["1", "3", "#5", "1", "3", "1"],
}

eShape = {
    "name": "E",
    "majNote": ["E", "B", "E", "G#", "B", "E"],
    "majPosition": ["0", "2", "2", "1", "0", "0"],
    "majScaleDegree": ["1", "5", "1", "3", "5", "1"],
    "maj7Note": ["E", "B", "D#", "G#", "B", "E"],
    "maj7Position": ["0", "2", "1", "1", "0", "0"],
    "maj7ScaleDegree": ["1", "5", "7", "3", "5", "1"],
    "dom7Note": ["E", "B", "D", "G#", "B", "E"],
    "dom7Position": ["0", "2", "0", "1", "0", "0"],
    "dom7ScaleDegree": ["1", "5", "b7", "3", "5", "1"],

    "minNote": ["E", "B", "E", "G", "B", "E"],
    "minPosition": ["0", "2", "2", "1", "0", "0"],
    "minScaleDegree": ["1", "5", "1", "b3", "5", "1"],
    "min7Note": ["E", "B", "D", "G", "B", "E"],
    "min7Position": ["0", "2", "0", "0", "0", "0"],
    "min7ScaleDegree": ["1", "5", "b7", "b3", "5", "1"],
    "min7b5Note": ["E", "Bb", "D", "G", "Bb", "E"],
    "min7b5Position": ["0", "1", "0", "0", "0", "0"],
    "min7b5ScaleDegree": ["1", "b5", "b7", "b3", "b5", "1"],

    "dimNote": ["E", "Bb", "E", "G", "Bb", "E"],
    "dimPosition": ["0", "1", "2", "1", "x", "0"],
    "dimScaleDegree": ["1", "b5", "1", "b3", "b5", "1"],
    "dim7Note": ["E", "Bb", "C#", "G", "", ""],
    "dim7Position": ["0", "1", "-1", "0", "x", "x"],
    "dim7ScaleDegree": ["1", "b5", "6", "b3", "", ""],

    "augNote": ["E", "C", "E", "G#", "C", "E"],
    "augPosition": ["0", "3", "2", "1", "1", "0"],
    "augScaleDegree": ["1", "#5", "1", "3", "#5", "1"],
}

dShape = {
    "name": "D",
    "majNote": ["", "", "D", "A", "D", "F#"],
    "majPosition": ["x", "x", "0", "2", "3", "2"],
    "majScaleDegree": ["", "", "1", "5", "1", "3"],
    "maj7Note": ["", "", "D", "A", "C#", "F#"],
    "maj7Position": ["x", "x", "0", "2", "2", "2"],
    "maj7ScaleDegree": ["", "", "1", "5", "7", "3"],
    "dom7Note": ["", "", "D", "A", "C", "F#"],
    "dom7Position": ["x", "x", "0", "2", "1", "2"],
    "dom7ScaleDegree": ["", "", "1", "5", "b7", "3"],

    "minNote": ["", "", "D", "A", "D", "F"],
    "minPosition": ["x", "x", "0", "2", "3", "1"],
    "minScaleDegree": ["", "", "1", "5", "1", "b3"],
    "min7Note": ["", "", "D", "A", "C", "F"],
    "min7Position": ["x", "x", "0", "2", "1", "1"],
    "min7ScaleDegree": ["", "", "1", "5", "b7", "b3"],
    "min7b5Note": ["", "", "D", "Ab", "C", "F"],
    "min7b5Position": ["x", "x", "0", "1", "1", "1"],
    "min7b5ScaleDegree": ["", "", "1", "b5", "b7", "b3"],

    "dimNote": ["", "", "D", "Ab", "D", "F"],
    "dimPosition": ["x", "x", "0", "1", "3", "1"],
    "dimScaleDegree": ["", "", "1", "b5", "1", "b3"],
    "dim7Note": ["", "", "D", "Ab", "B", "F"],
    "dim7Position": ["x", "x", "0", "1", "0", "1"],
    "dim7ScaleDegree": ["", "", "1", "b5", "6", "b3"],

    "augNote": ["", "", "D", "A#", "D", "F#"],
    "augPosition": ["x", "x", "0", "3", "3", "2"],
    "augScaleDegree": ["", "", "1", "#5", "1", "3"],
}

cagedShapes = {
    "C": cShape,
    "A": aShape,
    "G": gShape,
    "E": eShape,
    "D": dShape,
}

DROP2 = {
    "DROP2String6" : {
        "maj7Note1": ["C","G","B","E","",""],
        "maj7Position1": ["8","10","9","9","x","x"],
        "maj7ScaleDegree1": ["1","5","7","3","",""],
        "maj7Note2": ["E","B","C","G","",""],
        "maj7Position2": ["0","2","-2","0","x","x"],
        "maj7ScaleDegree2": ["3","7","1","5","",""],
        "maj7Note3": ["G","C","E","B","",""],
        "maj7Position3": ["3","3","2","4","x","x"],
        "maj7ScaleDegree3": ["5","1","3","7","",""],
        "maj7Note4": ["B","E","G","C","",""],
        "maj7Position4": ["7","7","5","5","x","x"],
        "maj7ScaleDegree4": ["7","3","5","1","",""],

        "dom7Note1": ["C","G","Bb","E","",""],
        "dom7Position1": ["8","10","8","9","x","x"],
        "dom7ScaleDegree1": ["1","5","b7","3","",""],
        "dom7Note2": ["E","Bb","C","G","",""],
        "dom7Position2": ["0","1","-2","0","x","x"],
        "dom7ScaleDegree2": ["3","b7","1","5","",""],
        "dom7Note3": ["G","C","E","Bb","",""],
        "dom7Position3": ["3","3","2","3","x","x"],
        "dom7ScaleDegree3": ["5","1","3","b7","",""],
        "dom7Note4": ["Bb","E","G","C","",""],
        "dom7Position4": ["6","7","5","5","x","x"],
        "dom7ScaleDegree4": ["b7","3","5","1","",""],

        "min7Note1": ["C", "G", "Bb", "Eb", "", ""],
        "min7Position1": ["8", "10", "8", "8", "x", "x"],
        "min7ScaleDegree1": ["1", "5", "b7", "b3", "", ""],
        "min7Note2": ["Eb", "Bb", "C", "G", "", ""],
        "min7Position2": ["-1", "1", "-2", "0", "x", "x"],
        "min7ScaleDegree2": ["b3", "b7", "1", "5", "", ""],
        "min7Note3": ["G","C","Eb","Bb","",""],
        "min7Position3": ["3","3","1","3","x","x"],
        "min7ScaleDegree3": ["5","1","b3","b7","",""],
        "min7Note4": ["Bb","Eb","G","C","",""],
        "min7Position4": ["6","6","5","5","x","x"],
        "min7ScaleDegree4": ["b7","b3","5","1","",""],

        "min7b5Note1": ["C", "Gb", "Bb", "Eb", "", ""],
        "min7b5Position1": ["8", "9", "8", "8", "x", "x"],
        "min7b5ScaleDegree1": ["1", "b5", "b7", "b3", "", ""],
        "min7b5Note2": ["Eb", "Bb", "C", "Gb", "", ""],
        "min7b5Position2": ["-1", "1", "-2", "-1", "x", "x"],
        "min7b5ScaleDegree2": ["b3", "b7", "1", "b5", "", ""],
        "min7b5Note3": ["Gb","C","Eb","Bb","",""],
        "min7b5Position3": ["2","3","1","3","x","x"],
        "min7b5ScaleDegree3": ["b5","1","b3","b7","",""],
        "min7b5Note4": ["Bb","Eb","Gb","C","",""],
        "min7b5Position4": ["6","6","4","5","x","x"],
        "min7b5ScaleDegree4": ["b7","b3","b5","1","",""],

        "dim7Note1": ["C", "Gb", "A", "Eb", "", ""],
        "dim7Position1": ["8", "9", "7", "8", "x", "x"],
        "dim7ScaleDegree1": ["1", "b5", "6", "b3", "", ""],
        "dim7Note2": ["Eb", "A", "C", "Gb", "", ""],
        "dim7Position2": ["-1", "0", "-2", "-1", "x", "x"],
        "dim7ScaleDegree2": ["b3", "6", "1", "b5", "", ""],
        "dim7Note3": ["Gb", "C", "Eb", "A", "", ""],
        "dim7Position3": ["2", "3", "1", "2", "x", "x"],
        "dim7ScaleDegree3": ["b5", "1", "b3", "6", "", ""],
        "dim7Note4": ["A", "Eb", "Gb", "C", "", ""],
        "dim7Position4": ["5", "6", "4", "5", "x", "x"],
        "dim7ScaleDegree4": ["6", "b3", "b5", "1", "", ""]

    },

    "DROP2String5": {
        "maj7Note1": ["", "C", "G", "B", "E", ""],
        "maj7Position1": ["x", "3", "5", "4", "5", "x"],
        "maj7ScaleDegree1": ["", "1", "5", "7", "3", ""],
        "maj7Note2": ["", "E", "B", "C", "G", ""],
        "maj7Position2": ["x", "7", "9", "5", "8", "x"],
        "maj7ScaleDegree2": ["", "3", "7", "1", "5", ""],
        "maj7Note3": ["", "G", "C", "E", "B", ""],
        "maj7Position3": ["x", "10", "10", "9", "12", "x"],
        "maj7ScaleDegree3": ["", "5", "1", "3", "7", ""],
        "maj7Note4": ["", "B", "E", "G", "C", ""],
        "maj7Position4": ["x", "2", "2", "0", "1", "x"],
        "maj7ScaleDegree4": ["", "7", "3", "5", "1", ""],

        "dom7Note1": ["", "C", "G", "Bb", "E", ""],
        "dom7Position1": ["x", "3", "5", "3", "5", "x"],
        "dom7ScaleDegree1": ["", "1", "5", "b7", "3", ""],
        "dom7Note2": ["", "E", "Bb", "C", "G", ""],
        "dom7Position2": ["x", "7", "8", "5", "8", "x"],
        "dom7ScaleDegree2": ["", "3", "b7", "1", "5", ""],
        "dom7Note3": ["", "G", "C", "E", "Bb", ""],
        "dom7Position3": ["x", "10", "10", "9", "11", "x"],
        "dom7ScaleDegree3": ["", "5", "1", "3", "b7", ""],
        "dom7Note4": ["", "Bb", "E", "G", "C", ""],
        "dom7Position4": ["x", "1", "2", "0", "1", "x"],
        "dom7ScaleDegree4": ["", "b7", "3", "5", "1", ""],

        "min7Note1": ["", "C", "G", "Bb", "Eb", ""],
        "min7Position1": ["x", "3", "5", "3", "4", "x"],
        "min7ScaleDegree1": ["", "1", "5", "b7", "b3", ""],
        "min7Note2": ["", "Eb", "Bb", "C", "G", ""],
        "min7Position2": ["x", "6", "8", "5", "8", "x"],
        "min7ScaleDegree2": ["", "b3", "b7", "1", "5", ""],
        "min7Note3": ["", "G", "C", "Eb", "Bb", ""],
        "min7Position3": ["x", "10", "10", "7", "11", "x"],
        "min7ScaleDegree3": ["", "5", "1", "b3", "b7", ""],
        "min7Note4": ["", "Bb", "Eb", "G", "C", ""],
        "min7Position4": ["x", "1", "1", "0", "1", "x"],
        "min7ScaleDegree4": ["", "b7", "b3", "5", "1", ""],

        "min7b5Note1": ["", "C", "Gb", "Bb", "Eb", ""],
        "min7b5Position1": ["x", "3", "4", "3", "4", "x"],
        "min7b5ScaleDegree1": ["", "1", "b5", "b7", "b3", ""],
        "min7b5Note2": ["", "Eb", "Bb", "C", "Gb", ""],
        "min7b5Position2": ["x", "6", "8", "5", "7", "x"],
        "min7b5ScaleDegree2": ["", "b3", "b7", "1", "b5", ""],
        "min7b5Note3": ["", "Gb", "C", "Eb", "Bb", ""],
        "min7b5Position3": ["x", "9", "10", "8", "11", "x"],
        "min7b5ScaleDegree3": ["", "b5", "1", "b3", "b7", ""],
        "min7b5Note4": ["", "Bb", "Eb", "Gb", "C", ""],
        "min7b5Position4": ["x", "1", "1", "-1", "1", "x"],
        "min7b5ScaleDegree4": ["", "b7", "b3", "b5", "1", ""],

        "dim7Note1": ["", "C", "Gb", "A", "Eb", ""],
        "dim7Position1": ["x", "3", "4", "2", "4", "x"],
        "dim7ScaleDegree1": ["", "1", "b5", "6", "b3", ""],
        "dim7Note2": ["", "Eb", "A", "C", "Gb", ""],
        "dim7Position2": ["x", "6", "7", "5", "7", "x"],
        "dim7ScaleDegree2": ["", "b3", "6", "1", "b5", ""],
        "dim7Note3": ["", "Gb", "C", "Eb", "A", ""],
        "dim7Position3": ["x", "9", "10", "8", "10", "x"],
        "dim7ScaleDegree3": ["", "b5", "1", "b3", "6", ""],
        "dim7Note4": ["", "A", "Eb", "Gb", "C", ""],
        "dim7Position4": ["x", "0", "1", "-1", "1", "x"],
        "dim7ScaleDegree4": ["", "6", "b3", "b5", "1", ""]

    },

    "DROP2String4" : {
        "maj7Note1": ["", "", "C", "G", "B", "E"],
        "maj7Position1": ["x", "x", "10", "12", "12", "12"],
        "maj7ScaleDegree1": ["", "", "1", "5", "7", "3"],
        "maj7Note2": ["", "", "E", "B", "C", "G"],
        "maj7Position2": ["x", "x", "2", "4", "1", "3"],
        "maj7ScaleDegree2": ["", "", "3", "7", "1", "5"],
        "maj7Note3": ["", "", "G", "C", "E", "B"],
        "maj7Position3": ["x", "x", "5", "5", "5", "7"],
        "maj7ScaleDegree3": ["", "", "5", "1", "3", "7"],
        "maj7Note4": ["", "", "B", "E", "G", "C"],
        "maj7Position4": ["x", "x", "9", "9", "8", "8"],
        "maj7ScaleDegree4": ["", "", "7", "3", "5", "1"],


        "dom7Note1": ["", "", "C", "G", "Bb", "E"],
        "dom7Position1": ["x", "x", "10", "12", "11", "12"],
        "dom7ScaleDegree1": ["", "", "1", "5", "b7", "3"],
        "dom7Note2": ["", "", "E", "Bb", "C", "G"],
        "dom7Position2": ["x", "x", "2", "3", "1", "3"],
        "dom7ScaleDegree2": ["", "", "3", "b7", "1", "5"],
        "dom7Note3": ["", "", "G", "C", "E", "Bb"],
        "dom7Position3": ["x", "x", "5", "5", "5", "6"],
        "dom7ScaleDegree3": ["", "", "5", "1", "3", "b7"],
        "dom7Note4": ["", "", "Bb", "E", "G", "C"],
        "dom7Position4": ["x", "x", "8", "9", "8", "8"],
        "dom7ScaleDegree4": ["", "", "b7", "3", "5", "1"],

        "min7Note1": ["", "", "C", "G", "Bb", "Eb"],
        "min7Position1": ["x", "x", "10", "12", "11", "11"],
        "min7ScaleDegree1": ["", "", "1", "5", "b7", "b3"],
        "min7Note2": ["", "", "Eb", "Bb", "C", "G"],
        "min7Position2": ["x", "x", "1", "3", "1", "3"],
        "min7ScaleDegree2": ["", "", "b3", "b7", "1", "5"],
        "min7Note3": ["", "", "G", "C", "Eb", "Bb"],
        "min7Position3": ["x", "x", "5", "5", "4", "6"],
        "min7ScaleDegree3": ["", "", "5", "1", "b3", "b7"],
        "min7Note4": ["", "", "Bb", "Eb", "G", "C"],
        "min7Position4": ["x", "x", "8", "8", "8", "8"],
        "min7ScaleDegree4": ["", "", "b7", "b3", "5", "1"],

        "min7b5Note1": ["", "", "C", "Gb", "Bb", "Eb"],
        "min7b5Position1": ["x", "x", "10", "11", "11", "11"],
        "min7b5ScaleDegree1": ["", "", "1", "b5", "b7", "b3"],
        "min7b5Note2": ["", "", "Eb", "Bb", "C", "Gb"],
        "min7b5Position2": ["x", "x", "1", "3", "1", "2"],
        "min7b5ScaleDegree2": ["", "", "b3", "b7", "1", "b5"],
        "min7b5Note3": ["", "", "Gb", "C", "Eb", "Bb"],
        "min7b5Position3": ["x", "x", "4", "5", "4", "6"],
        "min7b5ScaleDegree3": ["", "", "b5", "1", "b3", "b7"],
        "min7b5Note4": ["", "", "Bb", "Eb", "Gb", "C"],
        "min7b5Position4": ["x", "x", "8", "8", "7", "8"],
        "min7b5ScaleDegree4": ["", "", "b7", "b3", "b5", "1"],

        "dim7Note1": ["", "", "C", "Gb", "A", "Eb"],
        "dim7Position1": ["x", "x", "10", "11", "10", "11"],
        "dim7ScaleDegree1": ["", "", "1", "b5", "6", "b3"],
        "dim7Note2": ["", "", "Eb", "A", "C", "Gb"],
        "dim7Position2": ["x", "x", "1", "2", "1", "2"],
        "dim7ScaleDegree2": ["", "", "b3", "6", "1", "b5"],
        "dim7Note3": ["", "", "Gb", "C", "Eb", "A"],
        "dim7Position3": ["x", "x", "4", "5", "4", "5"],
        "dim7ScaleDegree3": ["", "", "b5", "1", "b3", "6"],
        "dim7Note4": ["", "", "A", "Eb", "Gb", "C"],
        "dim7Position4": ["x", "x", "7", "8", "7", "8"],
        "dim7ScaleDegree4": ["", "", "6", "b3", "b5", "1"]

    }

}
    
DROP3 = {
    "DROP3String6" : {
        "maj7Note1": ["C","","B","E","G",""],
        "maj7Position1": ["8","x","9","9","8","x"],
        "maj7ScaleDegree1": ["1","","7","3","5",""],
        "maj7Note2": ["E","","C","G","B",""],
        "maj7Position2": ["0","x","-2","0","0","x"],
        "maj7ScaleDegree2": ["3","","1","5","7",""],
        "maj7Note3": ["G","","E","B","C",""],
        "maj7Position3": ["3","x","2","4","1","x"],
        "maj7ScaleDegree3": ["5","","3","7","1",""],
        "maj7Note4": ["B","","G","C","E",""],
        "maj7Position4": ["7","x","5","5","5","x"],
        "maj7ScaleDegree4": ["7","","5","1","3",""],

        "dom7Note1": ["C","","Bb","E","G",""],
        "dom7Position1": ["8","x","8","9","8","x"],
        "dom7ScaleDegree1": ["1","","b7","3","5",""],
        "dom7Note2": ["E","","C","G","Bb",""],
        "dom7Position2": ["0","x","-2","0","-1","x"],
        "dom7ScaleDegree2": ["3","","1","5","b7",""],
        "dom7Note3": ["G","","E","Bb","C",""],
        "dom7Position3": ["3","x","2","3","1","x"],
        "dom7ScaleDegree3": ["5","","3","b7","1",""],
        "dom7Note4": ["Bb","","G","C","E",""],
        "dom7Position4": ["6","x","5","5","5","x"],
        "dom7ScaleDegree4": ["b7","","5","1","3",""],

        "min7Note1": ["C","","Bb","Eb","G",""],
        "min7Position1": ["8","x","8","8","8","x"],
        "min7ScaleDegree1": ["1","","b7","b3","5",""],
        "min7Note2": ["Eb","","C","G","Bb",""],
        "min7Position2": ["-1","x","-2","0","-1","x"],
        "min7ScaleDegree2": ["b3","","1","5","b7",""],
        "min7Note3": ["G","","Eb","Bb","C",""],
        "min7Position3": ["3","x","1","3","1","x"],
        "min7ScaleDegree3": ["5","","b3","b7","1",""],
        "min7Note4": ["Bb","","G","C","Eb",""],
        "min7Position4": ["6","x","5","5","4","x"],
        "min7ScaleDegree4": ["b7","","5","0","b3",""],

        "min7b5Note1": ["C","","Bb","Eb","Gb",""],
        "min7b5Position1": ["8","x","8","8","7","x"],
        "min7b5ScaleDegree1": ["1","","b7","b3","b5",""],
        "min7b5Note2": ["Eb","","C","Gb","Bb",""],
        "min7b5Position2": ["11","x","10","11","11","x"],
        "min7b5ScaleDegree2": ["b3","","1","b5","b7",""],
        "min7b5Note3": ["Gb","","Eb","Bb","C",""],
        "min7b5Position3": ["2","x","1","3","1","x"],
        "min7b5ScaleDegree3": ["b5","","b3","b7","1",""],
        "min7b5Note4": ["Bb","","Gb","C","Eb",""],
        "min7b5Position4": ["6","x","4","5","4","x"],
        "min7b5ScaleDegree4": ["b7","","b5","0","b3",""],

        "dim7Note1": ["C","","A","Eb","Gb",""],
        "dim7Position1": ["8","x","7","8","7","x"],
        "dim7ScaleDegree1": ["1","","6","b3","b5",""],
        "dim7Note2": ["Eb","","C","Gb","A",""],
        "dim7Position2": ["11","x","10","11","10","x"],
        "dim7ScaleDegree2": ["b3","","1","b5","6",""],
        "dim7Note3": ["Gb","","Eb","A","C",""],
        "dim7Position3": ["2","x","1","2","1","x"],
        "dim7ScaleDegree3": ["b5","","b3","6","1",""],
        "dim7Note4": ["A","","Gb","C","Eb",""],
        "dim7Position4": ["5","x","4","5","4","x"],
        "dim7ScaleDegree4": ["6","","b5","0","b3",""],
    },

    "DROP3String5": {
        "maj7Note1": ["", "C", "", "B", "E", "G"],
        "maj7Position1": ["x", "3", "x", "4", "5", "3"],
        "maj7ScaleDegree1": ["", "1", "", "7", "3", "5"],
        "maj7Note2": ["", "E", "", "C", "G", "B"],
        "maj7Position2": ["x", "7", "x", "5", "8", "7"],
        "maj7ScaleDegree2": ["", "3", "x", "1", "5", "7"],
        "maj7Note3": ["", "G", "", "E", "B", "C"],
        "maj7Position3": ["x", "10", "x", "9", "12", "8"],
        "maj7ScaleDegree3": ["", "5", "", "3", "7", "1"],
        "maj7Note4": ["", "B", "", "G", "C", "E"],
        "maj7Position4": ["x", "2", "x", "0", "1", "0"],
        "maj7ScaleDegree4": ["", "7", "", "5", "1", "3"],

        "dom7Note1": ["", "C", "", "Bb", "E", "G"],
        "dom7Position1": ["x", "3", "x", "3", "5", "3"],
        "dom7ScaleDegree1": ["", "1", "", "b7", "3", "5"],
        "dom7Note2": ["", "E", "", "C", "G", "Bb"],
        "dom7Position2": ["x", "7", "x", "5", "8", "6"],
        "dom7ScaleDegree2": ["", "3", "", "1", "5", "6"],
        "dom7Note3": ["", "G", "", "E", "Bb", "C"],
        "dom7Position3": ["x", "10", "x", "9", "11", "8"],
        "dom7ScaleDegree3": ["", "5", "", "3", "b7", "1"],
        "dom7Note4": ["", "Bb", "", "G", "C", "E"],
        "dom7Position4": ["x", "1", "x", "0", "1", "0"],
        "dom7ScaleDegree4": ["", "b7", "", "5", "1", "3"],

        "min7Note1": ["", "C", "", "Bb", "Eb", "G"],
        "min7Position1": ["x", "3", "x", "3", "4", "3"],
        "min7ScaleDegree1": ["", "1", "", "b7", "b3", "5"],
        "min7Note2": ["", "Eb", "", "C", "G", "Bb"],
        "min7Position2": ["x", "6", "x", "5", "8", "6"],
        "min7ScaleDegree2": ["", "b3", "", "1", "5", "b7"],
        "min7Note3": ["", "G", "", "Eb", "Bb", "C"],
        "min7Position3": ["x", "10", "x", "8", "11", "8"],
        "min7ScaleDegree3": ["", "5", "", "b3", "b7", "1"],
        "min7Note4": ["", "Bb", "", "G", "C", "Eb"],
        "min7Position4": ["x", "1", "x", "0", "1", "-1"],
        "min7ScaleDegree4": ["", "b7", "", "5", "0", "b3"],

        "min7b5Note1": ["", "C", "", "Bb", "Eb", "Gb"],
        "min7b5Position1": ["x", "3", "x", "3", "4", "2"],
        "min7b5ScaleDegree1": ["", "1", "", "b7", "b3", "b5"],
        "min7b5Note2": ["", "Eb", "", "C", "Gb", "Bb"],
        "min7b5Position2": ["x", "6", "x", "5", "-1", "6"],
        "min7b5ScaleDegree2": ["", "b3", "", "1", "b5", "b7"],
        "min7b5Note3": ["", "Gb", "", "Eb", "Bb", "C"],
        "min7b5Position3": ["x", "9", "x", "8", "11", "8"],
        "min7b5ScaleDegree3": ["", "b5", "", "b3", "b7", "1"],
        "min7b5Note4": ["", "Bb", "", "Gb", "C", "Eb"],
        "min7b5Position4": ["x", "1", "x", "-1", "1", "-1"],
        "min7b5ScaleDegree4": ["", "b7", "", "b5", "0", "b3"],

        "dim7Note1": ["", "C", "", "A", "Eb", "Gb"],
        "dim7Position1": ["x", "3", "x", "2", "4", "2"],
        "dim7ScaleDegree1": ["", "1", "", "6", "b3", "b5"],
        "dim7Note2": ["", "Eb", "", "C", "Gb", "A"],
        "dim7Position2": ["x", "6", "x", "5", "7", "5"],
        "dim7ScaleDegree2": ["", "b3", "", "1", "b5", "6"],
        "dim7Note3": ["", "Gb", "", "Eb", "A", "C"],
        "dim7Position3": ["x", "9", "x", "8", "10", "8"],
        "dim7ScaleDegree3": ["", "b5", "", "b3", "6", "1"],
        "dim7Note4": ["", "A", "", "Gb", "C", "Eb"],
        "dim7Position4": ["x", "0", "x", "-1", "1", "-1"],
        "dim7ScaleDegree4": ["", "6", "", "b5", "1", "b3"],
    },
}

DROPShapes = {
    "DROP2": DROP2,
    "DROP3": DROP3,
}

major = ['1,3,5']
minor = ['1,-3,5']
augmented = ['1,3,#5']
diminished = ['1,-3,-5']
dominant_seventh = ['1,3,5,-7']
major_seventh = ['1,3,5,7']
minor_major_seventh = ['1,-3,5,7']
minor_seventh = ['1,-3,5,-7']
augmented_major_seventh = ['1,3,#5,7']
augmented_seventh = ['1,3,#5,-7']
half_diminished_seventh = ['1,-3,-5,-7']
diminished_seventh = ['1,-3,-5,--7']
seventh_flat_five = ['1,3,-5,-7']
major_sixth = ['1,3,5,6']
minor_sixth = ['1,-3,5,6']
major_ninth = ['1,3,5,7,9']
dominant_ninth = ['1,3,5,-7,9']
minor_major_ninth = ['1,-3,5,7,9']
minor_ninth = ['1,-3,5,-7,9']
augmented_major_ninth = ['1,3,#5,7,9']
augmented_dominant_ninth = ['1,3,#5,-7,9']
half_diminished_ninth = ['1,-3,-5,-7,9']
half_diminished_minor_ninth = ['1,-3,-5,-7,-9']
diminished_ninth = ['1,-3,-5,--7,9']
diminished_minor_ninth = ['1,-3,-5,--7,-9']
dominant_11th = ['1,3,5,-7,9,11']
major_11th = ['1,3,5,7,9,11']
minor_major_11th = ['1,-3,5,7,9,11']
minor_11th = ['1,-3,5,-7,9,11']
augmented_major_11th = ['1,3,#5,7,9,11']
augmented_11th = ['1,3,#5,-7,9,11']
half_diminished_11th = ['1,-3,-5,-7,9,11']
diminished_11th = ['1,-3,-5,--7,9,11']
major_13th = ['1,3,5,7,9,11,13']
dominant_13th = ['1,3,5,-7,9,11,13']
minor_major_13th = ['1,-3,5,7,9,11,13']
minor_13th = ['1,-3,5,-7,9,11,13']
augmented_major_13th = ['1,3,#5,7,9,11,13']
augmented_dominant_13th = ['1,3,#5,-7,9,11,13']
half_diminished_13th = ['1,-3,-5,-7,9,11,13']
suspended_second = ['1,2,5']
suspended_fourth = ['1,4,5']
suspended_fourth_seventh = ['1,4,5,-7']
Neapolitan = ['1,2-,3,5-']
Italian = ['1,#4,-6']
French = ['1,2,#4,-6']
German = ['1,-3,#4,-6']
pedal = ['1']
power = ['1,5']
Tristan = ['1,#4,#6,#9']