-
-
Save Silverwolf90/818da4d0c19fd635828d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MAX_STRINGS = 6 | |
MAX_FRETS = 12 | |
def note_filter(key): | |
if key in ['C','G','D','A','E','B','F#','C#']: | |
return ['C','C#','D','D#','E','F','F#','G','G#','A','A#','B',] | |
else: | |
return ['C','Db','D','Eb','E','F','Gb','G','Ab','A','Bb','B'] | |
def string_prep(start, notes): | |
#This function is intended to provide an organized string of notes that can be used to generate the | |
#note values for a guitar string | |
prepared_notes = [] | |
note_counter = 0 | |
found_note = 0 | |
while note_counter < len(notes): | |
if notes[note_counter] == start: | |
found_note = note_counter #records the location of the open string note in the raw note list | |
while note_counter < len(notes): | |
prepared_notes.append(notes[note_counter]) | |
#print prepared_notes | |
note_counter = note_counter + 1 | |
if note_counter > 11: | |
#print note_counter | |
note_counter = 0 #starts over at beginning of notes | |
#print found_note | |
elif note_counter == found_note :#breaks out of prepared list creation | |
#print note_counter | |
return prepared_notes | |
else: | |
note_counter = note_counter + 1 | |
class string(object): | |
# returns a list of note objects that contain a fret and a pitch value | |
string_pitches = [] | |
fret = 0 | |
notes = [] | |
def __init__(self, filtered_notes): | |
notes = filtered_notes | |
def create_string(self): | |
fret = 0 | |
for pitch in self.notes: | |
self.string_pitches.append(note(pitch,fret)) | |
fret += 1 | |
return self.string_pitches | |
class note(object): | |
def __init__(self,pitch,fret): | |
self.pitch = pitch | |
self.fret = fret | |
#attempt to generate an E_String | |
string_1 = string(string_prep('E',note_filter('E'))) | |
def scale_finder(key,notes): | |
#supposed to generate major scale but it doesn't | |
#print statement on line 123 only prints out first value | |
organized_on_key = string_prep(key, notes) | |
print organized_on_key | |
note_number = 0 | |
major_scale = [] | |
while note_number < len(organized_on_key): | |
print note_number; | |
print len(organized_on_key) | |
if note_number == 0: | |
major_scale.append(organized_on_key[note_number]) | |
elif note_number == 2: | |
major_scale.append(organized_on_key[note_number]) | |
elif note_number == 4: | |
major_scale.append(organized_on_key[note_number]) | |
elif note_number == 5: | |
major_scale.append(organized_on_key[note_number]) | |
elif note_number == 7: | |
major_scale.append(organized_on_key[note_number]) | |
elif note_number == 9: | |
major_scale.append(organized_on_key[note_number]) | |
elif note_number == 11: | |
major_scale.append(organized_on_key[note_number]) | |
note_number += 1; | |
return major_scale | |
print scale_finder('A',note_filter('A')) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment