def test_C_minor(self): scale = PentatonicScale("C", "minor") self.assertEqual(scale.name(), "C minor pentatonic") self.assertEqual(scale.mode_name(), "aeolian") self.assertEqual(scale.note_names(), "C E♭ F G B♭")
def test_As_mixolydian(self): scale = PentatonicScale("A#", "mixolydian") self.assertEqual(scale.name(), "A♯ blues major") self.assertEqual(scale.mode_name(), "mixolydian") self.assertEqual(scale.note_names(), "A♯ B♯ D♯ E♯ F𝄪")
def test_Fs_aeolian(self): scale = PentatonicScale("F#", "aeolian") self.assertEqual(scale.name(), "F♯ minor pentatonic") self.assertEqual(scale.mode_name(), "aeolian") self.assertEqual(scale.note_names(), "F♯ A B C♯ E")
def test_D_dorian(self): scale = PentatonicScale("D", "dorian") self.assertEqual(scale.name(), "D egyptian (suspended)") self.assertEqual(scale.mode_name(), "dorian") self.assertEqual(scale.note_names(), "D E G A C")
def test_E_prygian(self): scale = PentatonicScale("E", "phrygian") self.assertEqual(scale.name(), "E blues minor") self.assertEqual(scale.mode_name(), "phrygian") self.assertEqual(scale.note_names(), "E G A C D")
def test_C_major(self): scale = PentatonicScale("C", "major") self.assertEqual(scale.name(), "C major pentatonic") self.assertEqual(scale.mode_name(), "ionian") self.assertEqual(scale.note_names(), "C D E G A")
def test_Cb_ionian(self): scale = PentatonicScale("Cb", "ionian") self.assertEqual(scale.name(), "C♭ major pentatonic") self.assertEqual(scale.mode_name(), "ionian") self.assertEqual(scale.note_names(), "C♭ D♭ E♭ G♭ A♭")
def test_Ab_natural_minor(self): scale = PentatonicScale("Ab", "natural minor") self.assertEqual(scale.name(), "A♭ minor pentatonic") self.assertEqual(scale.mode_name(), "aeolian") self.assertEqual(scale.note_names(), "A♭ C♭ D♭ E♭ G♭")
def test_E_minor(self): scale = PentatonicScale("E", "minor") self.assertEqual(scale.name(), "E minor pentatonic") self.assertEqual(scale.mode_name(), "aeolian") self.assertEqual(scale.note_names(), "E G A B D")
def test_B_natural_minor(self): scale = PentatonicScale("B", "minor") self.assertEqual(scale.name(), "B minor pentatonic") self.assertEqual(scale.mode_name(), "aeolian") self.assertEqual(scale.note_names(), "B D E F♯ A")
def test_A_minor(self): scale = PentatonicScale("A", "minor") self.assertEqual(scale.name(), "A minor pentatonic") self.assertEqual(scale.mode_name(), "aeolian") self.assertEqual(scale.note_names(), "A C D E G")
synth.play(chord.notes, chord=True) def play_chords(synth, chord_names): for ch in chord_names: play_chord(synth, Chord(ch)) if __name__ == "__main__": synth = Synth() synth.start() # https: // www.basicmusictheory.com / f - minor - pentatonic - scale # play_scale(synth, PentatonicScale("C", "major")) play_scale(synth, PentatonicScale("Ab", "natural minor")) # play_scale(synth, PentatonicScale("E", "natural minor")) # play_scale(synth, PentatonicScale("D", "yo")) # D E F𝄪 G𝄪 A𝄪 C𝄪 # play_scale(synth, PentatonicScale("D", "in")) play_scale(synth, PentatonicScale("B", "natural minor")) # B D E F♯ A B # TODO play_scale(synth, PentatonicScale("F#", "natural minor")) # F♯ A B C♯ E F♯ # play_scale(synth, PentatonicScale("C#", "natural minor")) # play_scale(synth, PentatonicScale("G#", "natural minor")) # play_scale(synth, PentatonicScale("D#", "natural minor")) # play_scale(synth, PentatonicScale("A#", "natural minor")) # play_scale(synth, PentatonicScale("D", "natural minor")) play_scale(synth, PentatonicScale("G", "natural minor")) # play_scale(synth, PentatonicScale("C", "natural minor")) # play_scale(synth, PentatonicScale("F", "natural minor"))