def test_scale(self): scale = ChromaticScale.get_chromatic_scale( ChromaticScale.parse_notation("0:9"), ChromaticScale.parse_notation("8:0")) start = ChromaticScale.location_to_index((0, 9)) end = ChromaticScale.location_to_index((8, 0)) + 1 for i in range(start, end): logging.info('{0}{1} {1}'.format( i, ChromaticScale.index_to_location(i), scale[i - start])) assert is_close(scale[ChromaticScale.location_to_index((4, 9)) - start], 440.0), \ "Error A:4 = {0} should be 440.0".format(scale[ChromaticScale.location_to_index((4, 9)) - start]) assert is_close(scale[ChromaticScale.location_to_index((4, 0)) - start], 261.625565301), \ "Error C:4 = {0} should be 261.625565301".format(scale[ChromaticScale.location_to_index((4, 0)) - start])
def test_book_example(self): location = ChromaticScale.parse_notation("4:9") print(location) index = ChromaticScale.location_to_index(location) print(index) loc = ChromaticScale.index_to_location(index) print(loc)
def test_parse_chromatic_location(self): for i in range(0, 12): s = str(4) + ':' + str(i) location = ChromaticScale.parse_notation(s) assert location[0] == 4 and location[1] == i