def prime_form(notes): set_zero = transposition_startswith(normal_form(notes), 0) set_inv = transposition_startswith(normal_form(inversion(set_zero)), 0) if interval_tie(set_zero) <= interval_tie(set_inv): return set_zero else: return set_inv
def test_inversion(self): n1 = [0, 4, 7] n2 = [0, 8, 5] n3 = music.inversion(n1, 0) self.assertEqual(n3, n2) self.assertEqual(music.inversion(n3), n1)
#!/usr/bin/env python from pyknon.plot import plot2 from pyknon.simplemusic import inversion n1 = [11, 10, 7] for x in range(12): plot2(n1, inversion(n1, x), "ex-inversion-plot-{0:02}.ps".format(x)) n2 = [1, 3, 7, 9, 4] plot2(n2, inversion(n2, 9), "ex-inversion-plot.ps")