s = [] s.append(structure.second_order_deltarule(notes, sodeltas[0], 0.1)) s.append(structure.second_order_deltarule(notes, sodeltas[1], 0.1)) s.append(structure.second_order_deltarule(notes, avg, 0.1)) #s3 = structure.delta_rule(notes, avg, 0.1) #avg = avg_list(repdeltas) #rep = structure.delta_rule(None, notes, avg) print(tools.recursive_print(s[0])) print(tools.recursive_print(s[1])) print(tools.recursive_print(s[2])) #print "REPETITION DELTA:" #print tools.recursive_print(rep) for i in range(5): groups = structure.groupings(structure.list_to_tree(s[0]), i) avg_group = 0 for group in groups: avg_group += len(group) avg_group /= float(len(groups)) print("ONSET: Level {0}, average group size: {1}".format(i, avg_group)) groups = structure.groupings(structure.list_to_tree(s[1]), i) avg_group = 0 for group in groups: avg_group += len(group) avg_group /= float(len(groups)) print("PITCH: Level {0}, average group size: {1}".format(i, avg_group)) groups = structure.groupings(structure.list_to_tree(s[2]), i) avg_group = 0 for group in groups: avg_group += len(group)
import database as db from sequencer import * from alignment import * import structure, tools import scorefeatures as sf import performancefeatures as pf import perform s = db.select() a = Alignment(db.getScore1(s), db.getDeviation1(s)) melodyscore = a.melody() melody = tools.parseScore(melodyscore) onset = structure.groupings(structure.list_to_tree(structure.first_order_tree(structure.onset, melody, 0.1)), 1) score = sf.vanDerWeijFeatures(melodyscore, onset) performance = pf.vanDerWeijExpression(a, onset) print(score) print(performance) seq = Sequencer() seq.play(perform.vanDerWeijPerformSimple(a.score, melodyscore, onset, performance, bpm=a.deviations.bpm, converter=melody))
s1 = structure.second_order_deltarule(chopinnotes, sodelta1, 0.1) s2 = structure.second_order_deltarule(mozartnotes, sodelta2, 0.1) while True: choice = util.menu("Select", ['Schumann exp', 'Schumann score', 'Schumann noexp', 'chopin struct', 'lastig struct bach', 'struct moz']) if choice == 0: path = db.getPerformancePath1(schumann) os.system("audacious {0}".format(path)) if choice == 1: os.system("viewmxml {0}".format(db.getScorePath1(schumann))) if choice == 2: path = db.getScoreMidiPath1(schumann) os.system("audacious {0}".format(path)) if choice == 3: groups = structure.groupings(structure.list_to_tree(s1), 1) structured_notes = [] loud = False for group in groups: if loud: loud = False else: loud = True for leaf in group: if loud: leaf.onvelocity = 80 else: leaf.onvelocity = 50 structured_notes.append(leaf) chopinnotes.notes = structured_notes