for i in xrange(0, 100): model.optimize() cur = model.likelyhood() print cur if round(prev, 2) == round(cur, 2): print cur break prev = cur ''' parts = [] full = stream.Stream() #instruments = ["Sitar", "Shehnai", "Flute", "Violin", "Oboe", "Viola", "Piano", "Piano", "Piano", "Piano", "Piano", "Piano", "Piano", "Piano", "Piano"] for i in xrange(0, len(notes)): part = stream.Stream() #part.append(instrument.fromString(instruments[i])) for j in xrange(0, len(durations[i])): d = duration.Duration(float(durations[i][j])) n = note.Note(notes[i][j]) n.volume.velocity = 127 n.duration = d part.append(n) parts.append(part) for part in parts: full.append(part) mf = midi.translate.streamToMidiFile(full) mf.open('o_'+sys.argv[1].replace("/", "_")+'.mid', 'wb') mf.write() mf.close()