Generation
This commit is contained in:
@@ -4,6 +4,7 @@ import pathlib
|
||||
|
||||
import generator.accompaniment
|
||||
import generator.guitar
|
||||
import generator.melody
|
||||
import generator.musicxml
|
||||
import generator.parts
|
||||
import generator.rhythm
|
||||
@@ -23,7 +24,7 @@ def _practice_document(document: dict, part_type: str, plan: generator.accompani
|
||||
role = {'acoustic': 'accompaniment', 'electric': 'melody', 'vocal': 'vocal'}[part_type]
|
||||
if part_type == 'acoustic' and plan is None:
|
||||
raise ValueError('acoustic practice requires a rhythm plan')
|
||||
measures = [generator.parts.build_measure(m, f'measure-{i + 1}', role, part_type, previous[i], m.get('section_label', ''), plan.acoustic[i] if part_type == 'acoustic' else None) for i, m in enumerate(staff['measures'])]
|
||||
measures = [generator.parts.build_measure(m, f'measure-{i + 1}', role, part_type, previous[i], m.get('section_label', ''), (plan.acoustic_bass[i], plan.acoustic_upper[i]) if part_type == 'acoustic' else None) for i, m in enumerate(staff['measures'])]
|
||||
for measure in measures:
|
||||
for chord in measure['harmonies']:
|
||||
chord.pop('chord_optional', None)
|
||||
@@ -32,6 +33,8 @@ def _practice_document(document: dict, part_type: str, plan: generator.accompani
|
||||
if part_type == 'vocal':
|
||||
generator.scat.add_scat(result)
|
||||
else:
|
||||
generator.accompaniment.prepare_basses(result)
|
||||
generator.melody.harmonize(result)
|
||||
generator.guitar.place_guitar(result)
|
||||
if generator.accompaniment.connect_continuations(result):
|
||||
generator.guitar.place_guitar(result)
|
||||
|
||||
Reference in New Issue
Block a user