def genPeriod(chords = default_chords, bi11 = None, real_end = False): if bi11 == None: bi11 = gbi.genBasicIdea(chords=chords[:4]) bi21 = gbi.genBasicIdea(prev_note = bi11.pits[-1], chords=chords[4:8]) bi21cells = bi21.cells bi21cells[-1] = genending.genEnding(bi21cells[-2].pits[-1], chord=chords[7], authentic=False) bi21 = Chunk(sub_chunks = bi21cells) bi12 = tf.alterBasicIdea(bi = bi11, prev_note = bi21.pits[-1], chords = chords[8:12]) bi22 = tf.alterBasicIdea(bi = bi21, prev_note = bi12.pits[-1], chords = chords[12:], cadence='authentic', real_end = real_end) return Chunk(sub_chunks=[Chunk(sub_chunks=[bi11,bi21]), Chunk(sub_chunks=[bi12, bi22])])
instr_cells['Piano 2'].extend(gb.genBass(switcher)) sentence1 = gs.genSentence() sentence1.setKey(7) instr_cells['Flute'].extend(sentence1.cells) instr_cells['Piano 1'].extend(counter.genCounter(sentence1, instr_cells['Piano 1'][-1].pits[-1])) instr_cells['Piano 2'].extend(gb.genBass(sentence1)) transition_phrase = gt.genTransition() instr_cells['Flute'].extend([gc.genBlankCell(2.0) for cell in transition_phrase.cells]) instr_cells['Piano 1'].extend(transition_phrase.cells) instr_cells['Piano 2'].extend(acc.genAlbertiEighths(transition_phrase, leading_eighths = False)) period3 = gper.genPeriod(bi11 = tf.alterBasicIdea(period1phrase2.sub_chunks[0]), real_end=True) period3phrase1 = period3.sub_chunks[0] instr_cells['Flute'].extend(period3phrase1.cells) instr_cells['Piano 1'].extend(counter.genCounter(period3phrase1)) instr_cells['Piano 2'].extend(gb.genBass(period3phrase1)) period3phrase2 = period3.sub_chunks[1] instr_cells['Flute'].extend(period3phrase2.cells) instr_cells['Piano 1'].extend(counter.genCounter(period3phrase2)) instr_cells['Piano 2'].extend(acc.genAlbertiEighths(period3phrase2, leading_eighths = False)) #create parts from instr_cells parts = OrderedDict() for instr in instrs: parts[instr] = stream.Part()