@@ -79,12 +79,12 @@ class AcousticVoicingTests(unittest.TestCase):
|
||||
self.assertEqual(tests.test_acoustic.sounding(document), before)
|
||||
generator.model.validate_document(document)
|
||||
def test_simpler_fifth_bass_can_win_without_alternating(self):
|
||||
document = planned_document([[(0, 'Cdim7')], []])
|
||||
document = planned_document([[(0, 'Csus')], []])
|
||||
spans = self.place(document)
|
||||
self.assertEqual(len(spans), 1)
|
||||
bass = [p for n in spans[0].notes for p in shape(n) if p.string_number >= 5]
|
||||
self.assertTrue(bass)
|
||||
self.assertEqual({p.midi % 12 for p in bass}, {6})
|
||||
self.assertEqual({p.midi % 12 for p in bass}, {7})
|
||||
root_shapes = generator.guitar.chord_positions(*generator.guitar.chord_requirements(spans[0].harmony, 'acoustic'), profile='acoustic')
|
||||
selected = tuple(sorted({p for n in spans[0].notes for p in shape(n)}, reverse=True))
|
||||
self.assertLess(generator.guitar.voicing_cost(selected, 'acoustic'), min(generator.guitar.voicing_cost(s, 'acoustic') for s in root_shapes))
|
||||
|
||||
Reference in New Issue
Block a user