Beispiel #1
0
  def guess(cls, notes):
    notes = list(map(Note, notes))
    for root in notes:
      progression = list(map(lambda note: Note.get_scale_number(root, note), notes))
      progression = sorted(set(progression))
      for chord_type, chord_progression in cls.blueprints.items():
        if chord_progression == progression:
          return str(root.note) + ' ' + chord_type.title()

    return 'Unkown Chord'
Beispiel #2
0
 def get_scale_number(self, note):
   return Note.get_scale_number(self.root, note)