def generateMusic(m, params, epoch = "train"): m.learned_config = pickle.load(open(params, "rb")) global generatedDir global generatedFilePrefix oldDir = generatedDir newDir = "home/ubuntu/test/output/" + generatedFilePrefix fileNamePrefix = "gen" numSongs = 15 for i in range(1,numSongs + 1): main.gen_adaptive(m, pcs, 10, name = fileNamePrefix + str(i)) files = [f for f in os.listdir(oldDir) if re.match(r'*.mid', f)] for filename in files: os.mkdir(newDir + epoch) os.rename(filename, newDir + epoch + "/" + filename)
import sys import model import multi_training import main if len(sys.argv) < 7: print("Expected python run.py l1, l2, l3, l4, drp, itr.") print("Instead got", sys.argv) exit(0) l1, l2, l3, l4 = [int(x) for x in sys.argv[1:-3]] drp = float(sys.argv[-3]) itr = int(sys.argv[-2]) ofile = sys.argv[-1] print("Creating model...") m = model.Model([l1, l2], [l3, l4], dropout=drp) print("Model created") pcs = multi_training.loadPieces("music") error = multi_training.trainPiece(m, pcs, itr, ofile) main.gen_adaptive(m, pcs, 10, name="{}_{}_{}_{}_{}_{}".format(l1, l2, l3, l4, drp, error))
import sys import model m = model.Model([300, 300], [100, 50], dropout=0.5) import multi_training pcs = multi_training.loadPieces(str(sys.argv[1])) multi_training.trainPiece(m, pcs, 10000) import main main.gen_adaptive(m, pcs, 10, name="composition")
import main import multi_training import model import cPickle as pickle pcs = multi_training.loadPieces("music") print "building model" m = model.Model([300,300],[100,50], dropout=0.5) m.learned_config=pickle.load(open( "output/final_learned_config.p", "rb" )) main.gen_adaptive(m,pcs,10,name="composition")
import model import main import multi_training import cPickle as pickle import sys WEIGHT_DIR = ".../good_model/" music_style = sys.argv[1] if music_style == "trad": WEIGHT_PATH = WEIGHT_DIR + "trad_params9500.p" #WEIGHT_PATH = WEIGHT_DIR + "trad_final_learned_config.p" elif music_style == "xmax": WEIGHT_PATH = WEIGHT_DIR + "xmax_params9000.p" elif music_style == "children": WEIGHT_PATH = WEIGHT_DIR + "children_params1000.p" elif music_style == "jazz": WEIGHT_PATH = WEIGHT_DIR + "jazz_params19500.p " print "\n===== style:" + music_style + " =====\n" pcs = multi_training.loadPieces("music_1") m = model.Model([300, 300], [100, 50], dropout=0.5) m.learned_config = pickle.load(open(WEIGHT_PATH, "rb")) main.gen_adaptive(m, pcs, 10, name="composition_1" + music_style + "_1") main.gen_adaptive(m, pcs, 10, name="composition_1" + music_style + "_2") main.gen_adaptive(m, pcs, 10, name="composition_1" + music_style + "_3") main.gen_adaptive(m, pcs, 10, name="composition_1" + music_style + "_4") main.gen_adaptive(m, pcs, 10, name="composition_1" + music_style + "_5")
import time import numpy as np from midi_to_statematrix import * from data import * from sklearn.svm import SVC import model import pickle import main # Constructing model m = model.Model([300,300],[100,50], dropout=0.5) # Loading model at 4500 epochs to generate music for training and testing m.learned_config = pickle.load(open("params4500.p", "rb")) for i in range(1,15): main.gen_adaptive(m,pcs,10,name="beeth_train_gen_"+str(i)) for i in range(1,15): main.gen_adaptive(m,pcs,10,name="beeth_gen"+str(i)) # Loading model at 8000 epochs to generate music for testing m.learned_config = pickle.load(open("params8000.p", "rb")) for i in range(1,15): main.gen_adaptive(m,pcs,10,name="beeth_gen"+str(i)) # Reading real music and generating features for training realPcs = multi_training.loadPieces("../DataSet/liszt") i,o = zip(*[MT.getPieceSegment(realPcs) for _ in range(100)]) i = numpy.array(i) realFeat = [] for row in range(0,len(i)):