def ascending(self): notes = [self.tonic] for i in range(3): notes.extend([intervals.major_second(notes[-1]), intervals.minor_third(notes[-1])]) notes.append(intervals.major_seventh(notes[0])) notes[-2] = intervals.major_sixth(notes[0]) return notes * self.octaves + [notes[0]]
def minor_major_seventh(note): """Build a minor major seventh chord on note. Example: >>> minor_major_seventh('C') ['C', 'Eb', 'G', 'B'] """ return minor_triad(note) + [intervals.major_seventh(note)]
def augmented_major_seventh(note): """Build an augmented major seventh chord on note. Example: >>> augmented_major_seventh('C') ['C', 'E', 'G#', 'B'] """ return augmented_triad(note) + [intervals.major_seventh(note)]
def major_seventh(note): """Build a major seventh on note. Example: >>> major_seventh('C') ['C', 'E', 'G', 'B'] """ return major_triad(note) + [intervals.major_seventh(note)]
def minor_major_seventh(note): """Builds a minor major seventh chord on note. Example: {{{ >>> minor_major_seventh("C") ["C", "Eb", "G", "B"] }}}""" return minor_triad(note) + [intervals.major_seventh(note)]
def augmented_major_seventh(note): """Builds an augmented major seventh chord on note. Example: {{{ >>> augmented_major_seventh("C") ["C", "E", "G#", "B"] }}}""" return augmented_triad(note) + [intervals.major_seventh(note)]
def major_seventh(note): """Builds a major seventh on note. Example: {{{ >>> major_seventh("C") ["C", "E", "G", "B"] }}}""" return major_triad(note) + [intervals.major_seventh(note)]
def major_seventh(note): """Builds a major seventh on note. Example: {{{ >>> major_seventh(\"C\") [\"C\", \"E\", \"G\", \"B\"] }}}""" return major_triad(note) + [intervals.major_seventh(note)]
def minor_major_seventh(note): """Builds a minor major seventh chord on note. Example: {{{ >>> minor_major_seventh(\"C\") [\"C\", \"Eb\", \"G\", \"B\"] }}}""" return minor_triad(note) + [intervals.major_seventh(note)]
def augmented_major_seventh(note): """Builds an augmented major seventh chord on note. Example: {{{ >>> augmented_major_seventh(\"C\") [\"C\", \"E\", \"G#\", \"B\"] }}}""" return augmented_triad(note) + [intervals.major_seventh(note)]
def ascending(self): notes = [self.tonic] for i in range(3): notes.extend([ intervals.major_second(notes[-1]), intervals.minor_third(notes[-1]) ]) notes.append(intervals.major_seventh(notes[0])) notes[-2] = intervals.major_sixth(notes[0]) return notes * self.octaves + [notes[0]]
def diminished(note): """Returns the diminshed scale on note. Example: {{{ >>> diminished(\"C\") ['C', 'D', 'Eb', 'F', 'Gb', 'Ab', 'A', 'B'] }}}""" def whole_step_half_step(n): res = [intervals.major_second(n), intervals.minor_third(n)] return res res = [note] for i in range(3): res += whole_step_half_step(note) note = res[-1] res = res + [intervals.major_seventh(res[0])] res[-2] = intervals.major_sixth(res[0]) return res