Beispiel #1
0
    def test_9(self):
        fm = FractalMusic(proportions=[1, 2, 3, 4, 5, 6, 7],
                          tree_permutation_order=[3, 6, 2, 5, 1, 7, 4])

        fm.multi = (7, 4)
        fm.tempo = 60
        fm.quarter_duration = 70

        fm.midi_generator.microtone = 4
        # fm.quantize_leaves(0.5)
        fm.midi_generator.directions = [1, -1, 1, -1, 1, -1, 1]

        fm.midi_generator.midi_range = [36, 56]
        fm.add_layer()

        fm.reduce_children(lambda child: child.fractal_order > 4)
        fm.quantize_leaves(0.5)
        fm.get_children()[3].add_layer()
        fm.get_children()[3].reduce_children(
            lambda child: child.fractal_order > 4)
        for node in fm.traverse():
            node.chord.add_words(node.midi_value)
        text_path = path + '_test_9.txt'
        fm.write_infos(text_path)
        self.assertCompareFiles(actual_file_path=text_path)

        score = fm.get_score()
        xml_path = path + '_test_9.xml'
        score.write(xml_path)
        self.assertCompareFiles(actual_file_path=xml_path)
    def test_4(self):
        fm_1 = FractalMusic(multi=(1, 2), tempo=60, quarter_duration=10)
        fm_2 = FractalMusic(multi=(1, 1), tempo=60, quarter_duration=10)
        fms = [fm_1, fm_2]

        for fm in fms:
            fm.midi_generator.midi_range = [60, 72]

        fm_2.multi = fm_1.multi

        self.assertEqual(fm_2.children_fractal_values, fm_1.children_fractal_values)
        self.assertEqual(fm_2.children_fractal_orders, fm_1.children_fractal_orders)
        self.assertEqual(fm_2.midi_generator.midi_range, fm_1.midi_generator.midi_range)
        self.assertEqual(fm_2.children_generated_midis, fm_1.children_generated_midis)