예제 #1
0
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)
예제 #2
0
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))
예제 #3
0
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")
예제 #4
0
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")
예제 #5
0
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")
예제 #6
0
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)):