@@ -176,10 +176,10 @@ class RecurringGrooves(unittest.TestCase):
|
||||
{'onset': '1/2', 'duration': '1', 'layer': 'upper'}, {'onset': '5/2', 'duration': '1/2', 'layer': 'upper'}]}
|
||||
events, _ = generator.comping_rhythm.fit(pattern, m, None, 'acoustic')
|
||||
self.assertEqual([(e.start, e.lane) for e in events], [(fractions.Fraction(1, 2), 'combined'), (fractions.Fraction(5, 2), 'combined')])
|
||||
# A computational boundary inside continuing harmony must not add bass.
|
||||
# Unpaired attacks include bass even when the harmony is unchanged.
|
||||
inputs = ((source['staves'][0]['measures'][1], source['staves'][0]['measures'][1]['harmonies'][0], 1),)
|
||||
r = generator.comping_rhythm.realize(pattern, inputs, 'acoustic', generator.comping_rhythm.melody_contexts(source))
|
||||
self.assertTrue(all(e.lane == 'upper' for e in r.events))
|
||||
self.assertTrue(all(e.lane == 'combined' for e in r.events))
|
||||
def test_clean_cached_parallel_and_other_role_settings_keep_groove(self):
|
||||
source = generator.production.SourceAnalysis.read(tests.solo_fixtures.song(count=10, chords=('C7', 'FM7')))
|
||||
root = pathlib.Path('data').resolve()
|
||||
|
||||
Reference in New Issue
Block a user