From 3fe2b59d90621309fe5367516fa6c6b67226d055 Mon Sep 17 00:00:00 2001 From: "avi.vajpeyi@gmail.com" Date: Sat, 6 May 2017 18:43:51 -0400 Subject: [PATCH] Add Music Model Generation Add the music model generation and usage scripts with documentation --- .../createMusicalFeaturesets.py | 110 ++++++++++++ MusicModelCreation/midiNoteSegmenter.py | 81 +++++++++ MusicModelCreation/notesData.pickle | Bin 0 -> 735887 bytes MusicModelCreation/trainMusicNN.py | 158 ++++++++++++++++++ MusicModelCreation/usingMusicNN.py | 134 +++++++++++++++ server/usingMusicNN.py | 16 +- 6 files changed, 492 insertions(+), 7 deletions(-) create mode 100644 MusicModelCreation/createMusicalFeaturesets.py create mode 100644 MusicModelCreation/midiNoteSegmenter.py create mode 100644 MusicModelCreation/notesData.pickle create mode 100644 MusicModelCreation/trainMusicNN.py create mode 100644 MusicModelCreation/usingMusicNN.py diff --git a/MusicModelCreation/createMusicalFeaturesets.py b/MusicModelCreation/createMusicalFeaturesets.py new file mode 100644 index 0000000..3160a54 --- /dev/null +++ b/MusicModelCreation/createMusicalFeaturesets.py @@ -0,0 +1,110 @@ +''' +Thomas Matlak, Avi Vajpeyi, Avery Rapson +CS 310 Final Project + +Given textfiles with the musical notes in int format, this creates a pickle of +the attributes and classes for all the musical data stored in the text files +(each text file is for one class). + +The data is stored as frequencies of each note on a keyboard, and the class label +is stored in 'one hot' format. 10 pre cent of data present set aside as testing data. + + +Usage: +python createMusicalFeaturesets.py + +OUTPUT: notesData.pickle + A pickle with the attributes and classes for music data + pickle data continas: train_attribute ,train_class, test_attribute, test_class + +NOTE: Need to update the follwoing depending on usage of script +ROOT_DIR = root/directrory/where/text/reside +DataFile = ["emotion1.txt","emotion2.txt"...]) +''' + +from mido import MidiFile, MidiTrack, Message +import mido +import random +import pickle +from collections import Counter +import numpy as np +import os + + +''' +Assume we have the following as our 'LEXICON' + unique word list : [chair, table, spoon, television] + +Assume this is our current sample data: + String: I pulled my chair up to the table + +Create a training vector that holds the count of each lexicon word: + training vector : [1, 1, 0, 0] + (since chair table are in string, but spoon TV arnt) + + +Do this for all strings + +''' + +ROOT_DIR = "TrainingData/" +DataFile = ["NegExamples/sadSongs.txt","PosExamples/happySongs.txt"] + +pianoSize = 128 # notes 0 - 127 +# this also defines our lexicon + +# larger dataset, more memory gets used up MemoryError +def sample_handling(sample, classification): + featureset = [] + ''' + featureset = + [ + [[0 1 0 0 1 0 0 ...], [1, 0]] + [[0 1 0 0 1 1 1 ...], [0, 1]] + .... + ] + so the first list is the array of matches with the lexicon + the second is which classification the features falls into (yes or no) + ''' + with open(sample,'r') as f: + contents = f.readlines() + for l in contents: + notes = np.fromstring(l, dtype=int, sep=' ') + noteCount = np.zeros(pianoSize) + for note in notes: + noteCount[note] += 1 + noteCount = list(noteCount) + featureset.append([noteCount, classification]) + return featureset + + + +def create_feature_sets_and_labels(DataFile,test_size = 0.1): + features = [] + features += sample_handling(ROOT_DIR+DataFile[0],[0,1])# neg + features += sample_handling(ROOT_DIR+DataFile[1],[1,0]) # pos + random.shuffle(features) + ''' + does tf.argmax([output]) == tf.argmax([expectations]) will look like: + tf.argmax([55454, 342324]) == tf.argmax([1,0]) + ''' + + features = np.array(features) + testing_size = int(test_size*len(features)) + train_x = list(features[:,0][:-testing_size]) #[[5,8],[7,9]] --> [:,0] does [5,7] (all of the 0 elememts) ie the labels in this case + train_y = list(features[:,1][:-testing_size]) + + test_x = list(features[:,0][-testing_size:]) + test_y = list(features[:,1][-testing_size:]) + + + return train_x,train_y,test_x,test_y + + +if __name__ == '__main__': + train_x,train_y,test_x,test_y = create_feature_sets_and_labels(DataFile) + with open('notesData.pickle','wb') as f: + pickle.dump([train_x,train_y,test_x,test_y],f) # dump data as a list, into a file + # this saves the lexicon for pos and neg words + # every inputted value is converted to a lexicon saving this info + # a lot of memory! diff --git a/MusicModelCreation/midiNoteSegmenter.py b/MusicModelCreation/midiNoteSegmenter.py new file mode 100644 index 0000000..95af5cb --- /dev/null +++ b/MusicModelCreation/midiNoteSegmenter.py @@ -0,0 +1,81 @@ +''' +Thomas Matlak +CS 310 Final Project + +Takes directory containing midi files as input, produces a text file containing only the midi note values for the first 10 seconds of each musical piece. + +Usage: +python midiNoteSegments.py /path/to/midi/folder/ [/path/to/output/file.txt] +''' + +import sys, glob +from mido import MidiFile, MidiTrack, Message +from keras.layers import LSTM, Dense, Activation, Dropout +from keras.preprocessing import sequence +from keras.models import Sequential +from keras.optimizers import RMSprop +from sklearn.preprocessing import MinMaxScaler +import numpy as np +import mido +import csv + +indir = sys.argv[1] +outfile_name = indir + "/out.txt" + +if 2 < len(sys.argv): + outfile_name = sys.argv[2] + +midi_files = glob.glob(indir + "/*.mid") + +transposition_intervals = { + 'Cb': -11, + 'Gb': -6, + 'Db': -1, + 'Ab': -8, + 'Eb': -3, + 'Bb': -10, + 'F': -5, + 'C': 0, + 'G': -7, + 'D': -2, + 'A': -9, + 'E': -4, + 'B': -11, + 'F#': -6, + 'C#':-1 +} + +with open(outfile_name, 'wb') as outfile: + writer = csv.writer(outfile, delimiter=' ') + + for midi_file in midi_files: + mid = MidiFile(midi_file) + + notes = [] + + time = float(0) + prev = float(0) + + key = "C" + + for msg in mid: + if time >= 10: + break + ### this time is in seconds, not ticks + time += msg.time + + if msg.type == "key_signature": + key = msg.key + + if not msg.is_meta: + ### only interested in piano channel + if msg.channel == 0: + if msg.type == 'note_on': + # note in vector form to train on + note = msg.bytes() + # only interested in the note #and velocity. note message is in the form of [type, note, velocity] + note = note[1] #:3] + # note.append(time - prev) + prev = time + notes.append(note + transposition_intervals[key]) # this preserves the intervlas, but transposes a;; samples to C + writer.writerow(notes) diff --git a/MusicModelCreation/notesData.pickle b/MusicModelCreation/notesData.pickle new file mode 100644 index 0000000000000000000000000000000000000000..63daa0e517370c8116ef8793c8265ea6aab5c78f GIT binary patch literal 735887 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 JuR=on{|`M2U(Wyl literal 0 HcmV?d00001 diff --git a/MusicModelCreation/trainMusicNN.py b/MusicModelCreation/trainMusicNN.py new file mode 100644 index 0000000..7198824 --- /dev/null +++ b/MusicModelCreation/trainMusicNN.py @@ -0,0 +1,158 @@ +import tensorflow as tf +import numpy as np +import pickle +import os +# from tensorflow.examples.tutorials.mnist import input_data +# mnist = input_data.read_data_sets("/tmp/data/", one_hot = True) +# from createMusicalFeaturesets import create_feature_sets_and_labels +train_x,train_y,test_x,test_y = pickle.load(open("notesData2.pickle", "rb")) + + +saveFile = "savedModels/musicModelpy27" + + +n_nodes_hl1 = 1000 +n_nodes_hl2 = 1000 +n_nodes_hl3 = 1000 + +n_classes = 2 +batch_size = 10 +hm_epochs = 9 + +input_data_size = len(train_x[0])# each train_x instance is one song, and so one lexicon of notes +print("DEBUG: input data size = "+str(input_data_size)) + +x = tf.placeholder('float') +y = tf.placeholder('float') + +hidden_1_layer = {'f_fum':n_nodes_hl1, + 'weight':tf.Variable(tf.random_normal([128, n_nodes_hl1])), + 'bias':tf.Variable(tf.random_normal([n_nodes_hl1]))} + +hidden_2_layer = {'f_fum':n_nodes_hl2, + 'weight':tf.Variable(tf.random_normal([n_nodes_hl1, n_nodes_hl2])), + 'bias':tf.Variable(tf.random_normal([n_nodes_hl2]))} + +hidden_3_layer = {'f_fum':n_nodes_hl3, + 'weight':tf.Variable(tf.random_normal([n_nodes_hl2, n_nodes_hl3])), + 'bias':tf.Variable(tf.random_normal([n_nodes_hl3]))} + +output_layer = {'f_fum':None, + 'weight':tf.Variable(tf.random_normal([n_nodes_hl3, n_classes])), + 'bias':tf.Variable(tf.random_normal([n_classes])),} + + + +# Nothing changes +def neural_network_model(data): + ####INPUT LAYER (HIDDEN LAYER 1) + l1 = tf.add(tf.matmul(data,hidden_1_layer['weight']), hidden_1_layer['bias']) + l1 = tf.nn.relu(l1) + ####HIDDEN LAYER 2 + l2 = tf.add(tf.matmul(l1,hidden_2_layer['weight']), hidden_2_layer['bias']) + l2 = tf.nn.relu(l2) + ####HIDDEN LAYER 3 + l3 = tf.add(tf.matmul(l2,hidden_3_layer['weight']), hidden_3_layer['bias']) + l3 = tf.nn.relu(l3) + ####OUTPUT LAYER + output = tf.matmul(l3,output_layer['weight']) + output_layer['bias'] + + return output + + +def train_neural_network(x): + prediction = neural_network_model(x) + cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=prediction, labels=y) ) + optimizer = tf.train.AdamOptimizer().minimize(cost) + with tf.Session() as sess: + sess.run(tf.global_variables_initializer()) + # try: + # epoch = int(open(tf_log,'r').read().split('\n')[-2])+1 + # print('STARTING EPOCH:',epoch) + # except: + # epoch = 1 + batches_run = 0 + epoch = 1 + while epoch <= hm_epochs: + # if epoch != 1: + # #saver.restore(sess,'/'+saveFile) + # print("Should Restore Saved File") + epoch_loss = 1 + i=0 + while i < len(train_x): + start = i + end = i+batch_size + batch_x = np.array(train_x[start:end]) + batch_y = np.array(train_y[start:end]) + _, c = sess.run([optimizer, cost], feed_dict={x: batch_x, y: batch_y}) + epoch_loss += c + i+=batch_size + batches_run +=1 + print('Batch run:',batches_run,'/',batch_size,'| Epoch:', + epoch,'| Batch Loss:',c,) + saver.save(sess, saveFile) + print("Should Save session in "+ saveFile ) + print('Epoch', epoch+1, 'completed out of',hm_epochs,'loss:', epoch_loss) + # with open(tf_log,'a') as f: + # f.write(str(epoch)+'\n') + epoch +=1 + correct = tf.equal(tf.argmax(prediction, 1), tf.argmax(y, 1)) + accuracy = tf.reduce_mean(tf.cast(correct, 'float')) + print('Trained',len(train_x),'samples.') + print('Tested',len(test_x),'samples.') + accPercent = accuracy.eval({x:test_x, y:test_y})*100 + print('Accuracy: '+ str(accPercent)+ '%') + + +saver = tf.train.Saver() +# tf_log = 'tf.log' ## SAVES EPOCH NUMBER +train_neural_network(x) + + +def test_neural_network(): + prediction = neural_network_model(x) + with tf.Session() as sess: + sess.run(tf.global_variables_initializer()) + # for epoch in range(hm_epochs): + # try: + # y =2 + # # saver.restore(sess,'/'+saveFile) + # print("Restoring "+ saveFile ) + # except Exception as e: + # print(str(e)) + # epoch_loss = 0 + + correct = tf.equal(tf.argmax(prediction, 1), tf.argmax(y, 1)) + accuracy = tf.reduce_mean(tf.cast(correct, 'float')) + + ## WHEN WE SAVE TESTING DATA SEPARATLY + # feature_sets = [] + # labels = [] + # counter = 0 + # with open('processed-test-set.csv', buffering=20000) as f: + # for line in f: + # try: + # features = list(eval(line.split('::')[0])) + # label = list(eval(line.split('::')[1])) + # feature_sets.append(features) + # labels.append(label) + # counter += 1 + # except: + # pass + + testx = np.array(test_x) + testy = np.array(test_y) + counter = len(test_x) + print(testx,testy) + print(test_x,test_y) + print('******RESULTS******') + print('Tested',counter,'samples.') + print('Accuracy:', accuracy.eval({x:testx, y:testy}) ) + + +#test_neural_network() + + +print ("\n\n\nFINISHED\n\n\n") +# x =os.remove("tf.log") +# print("removed :" + str(x)) diff --git a/MusicModelCreation/usingMusicNN.py b/MusicModelCreation/usingMusicNN.py new file mode 100644 index 0000000..1d86094 --- /dev/null +++ b/MusicModelCreation/usingMusicNN.py @@ -0,0 +1,134 @@ +''' +Thomas Matlak Avi Vajpeyi, Avery Rapson +CS 310 Final Project + +Loads the NN saved in the dir 'savedFile'. The function predictmood(input_midi_file) +takes a midi files in MIDO format and returns if it is happy or sad + +Usage: +python usingMusicNN.py +''' + +import tensorflow as tf +import json +from mido import MidiFile +import numpy as np +import tempfile + + +midiFile = "01.mid" +saveFile = "savedModels/musicModelpy27" + + +pianoSize = 128 + +print("Bad ass Neural Net being loaded...") + + +hm_data = 2000000 + + +n_nodes_hl1 = 1000 +n_nodes_hl2 = 1000 +n_nodes_hl3 = 1000 + +n_classes = 2 +batch_size = 10 +hm_epochs = 9 + + +x = tf.placeholder('float') +y = tf.placeholder('float') + + +current_epoch = tf.Variable(1) + +hidden_1_layer = {'f_fum':n_nodes_hl1, + 'weight':tf.Variable(tf.random_normal([pianoSize, n_nodes_hl1])), + 'bias':tf.Variable(tf.random_normal([n_nodes_hl1]))} + +hidden_2_layer = {'f_fum':n_nodes_hl2, + 'weight':tf.Variable(tf.random_normal([n_nodes_hl1, n_nodes_hl2])), + 'bias':tf.Variable(tf.random_normal([n_nodes_hl2]))} + +hidden_3_layer = {'f_fum':n_nodes_hl3, + 'weight':tf.Variable(tf.random_normal([n_nodes_hl2, n_nodes_hl3])), + 'bias':tf.Variable(tf.random_normal([n_nodes_hl3]))} + +output_layer = {'f_fum':None, + 'weight':tf.Variable(tf.random_normal([n_nodes_hl3, n_classes])), + 'bias':tf.Variable(tf.random_normal([n_classes])),} + + + +def neural_network_model(data): + ####INPUT LAYER (HIDDEN LAYER 1) + l1 = tf.add(tf.matmul(data,hidden_1_layer['weight']), hidden_1_layer['bias']) + l1 = tf.nn.relu(l1) + ####HIDDEN LAYER 2 + l2 = tf.add(tf.matmul(l1,hidden_2_layer['weight']), hidden_2_layer['bias']) + l2 = tf.nn.relu(l2) + ####HIDDEN LAYER 3 + l3 = tf.add(tf.matmul(l2,hidden_3_layer['weight']), hidden_3_layer['bias']) + l3 = tf.nn.relu(l3) + ####OUTPUT LAYER + output = tf.matmul(l3,output_layer['weight']) + output_layer['bias'] + return output + + + + + + +# +def predictmood(input_midi_file): + prediction = neural_network_model(x) + # with open('musicModel.pickle','rb') as f: + # lexicon = pickle.load(f) + with tf.Session() as sess: + sess.run(tf.global_variables_initializer()) + saver = tf.train.import_meta_graph(saveFile+'.meta') + saver.restore(sess, saveFile) + #### CONVERT THE MIDI TO NOTES AND FEATURES (without [0,1]) + #### need it in the [0 112 1 1 0 0 0 ....] format + mid = input_midi_file + notes = [] + time = float(0) + prev = float(0) + for msg in mid: + if time >= 10: + break + ### this time is in seconds, not ticks + time += msg.time + if not msg.is_meta: + ### only interested in piano channel + if msg.channel == 0: + if msg.type == 'note_on': + # note in vector form to train on + note = msg.bytes() + # only interested in the note #and velocity. note message is in the form of [type, note, velocity] + note = note[1] #:3] + # note.append(time - prev) + prev = time + notes.append(note) + noteCount = np.zeros(pianoSize) + for note in notes: + noteCount[note] += 1 + noteCount = list(noteCount) + #features = np.array(list(features)) + # pos: [1,0] , argmax: 0 + # neg: [0,1] , argmax: 1 + result = (sess.run(tf.argmax(prediction.eval(feed_dict={x:[noteCount]}),1))) + if result[0] == 0: + return ("Sad") + elif result[0] == 1: + return ("Happy") + # with open('mood.txt', 'w') as outfile: + # mood_dict = dict() + # if result[0] == 0: + # mood_dict = {'Mood': "Happy"} + # elif result[0] == 1: + # mood_dict = {'Mood': "Sad"} + # json.dump(mood_dict, outfile) +# output.seek(0) #resets the pointer to the data of the file to the start +# return output diff --git a/server/usingMusicNN.py b/server/usingMusicNN.py index 872d0b6..d009613 100755 --- a/server/usingMusicNN.py +++ b/server/usingMusicNN.py @@ -1,13 +1,15 @@ ''' -Thomas Matlak Avi Vajpeyi, Avery Rapson -CS 310 Final Project - -Takes example midi file and prints if its happy or sad - -Usage: -python [/path/to/midi/file.mid] + Thomas Matlak Avi Vajpeyi, Avery Rapson + CS 310 Final Project + + Loads the NN saved in the dir 'savedFile'. The function predictmood(input_midi_file) + takes a midi files in MIDO format and returns if it is happy or sad + + Usage: + python usingMusicNN.py ''' + import tensorflow as tf import json from mido import MidiFile