Index: cfg.py ================================================================== --- cfg.py +++ cfg.py @@ -32,20 +32,29 @@ "duration": 10, "grammars": { # Notes for this instrument to use in this piece "u": ["C C C C F/2 F/2 F/2 (u)", "D D G/2 A/2 D D (u)"], }, }, + "harmony": { # Instrument 'melody' + "score_line": "i2 %(time)f %(duration)f 7000 %(octave)d.%(note)s 2", + "octave": 8, + "duration": 10, + "grammars": { # Notes for this instrument to use in this piece + "u": ["C C C C F/2 F/2 F/2 (u)", "D D G/2 A/2 D D (u)"], + }, + }, }, } print '''f1 0 512 10 1 f2 0 8192 10 .24 .64 .88 .76 .06 .5 .34 .08 f3 0 1025 10 1 t 0 60 ''' start = 0 - for section in composition.values(): + for section in ["verse1", "verse2"]: + section = composition[section] # for subsection in section instrs = [] for instr in section.values(): sync = None max_time = instr["duration"] Index: test.sco ================================================================== --- test.sco +++ test.sco @@ -1,9 +1,9 @@ -f1 0 512 10 1 - f2 0 8192 10 .24 .64 .88 .76 .06 .5 .34 .08 - f3 0 1025 10 1 - t 0 60 +f1 0 512 10 1 +f2 0 8192 10 .24 .64 .88 .76 .06 .5 .34 .08 +f3 0 1025 10 1 +t 0 60 i2 0.000000 0.250000 7000 8.00 2 i2 0.250000 0.500000 7000 8.07 2 i2 0.750000 0.500000 7000 8.07 2 i2 1.250000 0.500000 7000 8.07 2 @@ -18,54 +18,25 @@ i2 3.750000 0.250000 7000 8.09 2 i2 4.000000 0.250000 7000 8.02 2 i2 4.250000 0.250000 7000 8.07 2 i2 4.500000 0.250000 7000 8.05 2 i2 4.750000 0.250000 7000 8.05 2 -i2 5.000000 0.250000 7000 8.00 2 -i2 5.250000 0.500000 7000 8.07 2 -i2 5.750000 0.500000 7000 8.07 2 -i2 6.250000 0.500000 7000 8.07 2 -i2 6.750000 0.250000 7000 8.00 2 -i2 7.000000 0.250000 7000 7.11 2 -i2 7.250000 0.250000 7000 9.05 2 +i2 5.000000 2.000000 7000 8.11 2 +i2 7.000000 0.250000 7000 8.00 2 +i2 7.250000 0.250000 7000 8.00 2 i2 7.500000 0.250000 7000 8.00 2 -i2 7.750000 0.250000 7000 8.05 2 -i2 8.000000 0.250000 7000 8.00 2 -i2 8.250000 0.250000 7000 8.11 2 -i2 8.500000 0.250000 7000 8.04 2 -i2 8.750000 0.250000 7000 8.09 2 -i2 9.000000 0.250000 7000 8.02 2 -i2 9.250000 0.250000 7000 8.07 2 -i2 9.500000 0.250000 7000 8.05 2 -i2 9.750000 0.250000 7000 8.05 2 -i2 10.000000 2.000000 7000 8.11 2 -i2 12.000000 0.250000 7000 8.00 2 -i2 12.250000 0.250000 7000 8.00 2 -i2 12.500000 0.250000 7000 8.00 2 -i2 12.750000 0.250000 7000 8.00 2 -i2 13.000000 0.500000 7000 8.05 2 -i2 13.500000 0.500000 7000 8.05 2 -i2 14.000000 0.250000 7000 8.00 2 -i2 14.250000 0.250000 7000 8.00 2 -i2 14.500000 0.250000 7000 8.00 2 -i2 14.750000 0.250000 7000 8.00 2 -i2 15.000000 0.500000 7000 8.05 2 -i2 15.500000 0.500000 7000 8.05 2 -i2 16.000000 0.250000 7000 8.00 2 -i2 16.250000 0.250000 7000 8.00 2 -i2 16.500000 0.250000 7000 8.00 2 -i2 16.750000 0.250000 7000 8.00 2 -i2 17.000000 0.500000 7000 8.05 2 -i2 17.500000 0.500000 7000 8.05 2 -i2 18.000000 0.250000 7000 8.00 2 -i2 18.250000 0.250000 7000 8.00 2 -i2 18.500000 0.250000 7000 8.00 2 -i2 18.750000 0.250000 7000 8.00 2 -i2 19.000000 0.500000 7000 8.05 2 -i2 19.500000 0.500000 7000 8.05 2 -i2 20.000000 0.250000 7000 8.00 2 -i2 20.250000 0.250000 7000 8.00 2 -i2 20.500000 0.250000 7000 8.00 2 -i2 20.750000 0.250000 7000 8.00 2 -i2 21.000000 0.500000 7000 8.05 2 -i2 21.500000 0.500000 7000 8.05 2 -i2 22.000000 0.500000 7000 8.05 2 +i2 7.750000 0.250000 7000 8.00 2 +i2 8.000000 0.500000 7000 8.05 2 +i2 8.500000 0.500000 7000 8.05 2 +i2 9.000000 0.250000 7000 8.00 2 +i2 9.250000 0.250000 7000 8.00 2 +i2 9.500000 0.250000 7000 8.00 2 +i2 9.750000 0.250000 7000 8.00 2 +i2 10.000000 0.500000 7000 8.05 2 +i2 10.500000 0.500000 7000 8.05 2 +i2 11.000000 0.500000 7000 8.05 2 +i2 7.000000 0.250000 7000 8.02 2 +i2 7.250000 0.250000 7000 8.02 2 +i2 7.500000 0.500000 7000 8.07 2 +i2 8.000000 0.500000 7000 8.09 2 +i2 8.500000 0.250000 7000 8.02 2 +i2 8.750000 3.000000 7000 8.02 2