#Example of how to extract data from a wav file using the modified svt library. #Also useful for graphing or playing around with data. import svt import matplotlib from matplotlib import pyplot import pylab from mpl_toolkits.mplot3d import Axes3D import random import numpy #The line needed to get data from the first channel. centroids, frequencies, volumes = svt.processWav("wubwub.wav", 1) """ #Samples some of the data. print centroids[1] print frequencies[1] print volumes[1] for i in range(0, int(len(frequencies[1])/20)): print frequencies[1][i] """ #Graphs frequencies, centroids, and volumes on 2d plots; frequencies should really be 3d but I can't figure out how to 3d graph them so a number of 2d graphs should suffice for understanding the data. #numbers = [] #for i in range(len(frequencies[1])): # numbers.append(i) #analysis codeeeeeeeee #for i in range(len(frequencies)): # matplotlib.pyplot.scatter(numbers, frequencies[i]) # matplotlib.pyplot.show()
centroids, frequencies, volumes = supercentroids, superfrequencies, supervolumes elif str(request.form['song']) == "4": centroids, frequencies, volumes = rivercentroids, riverfrequencies, rivervolumes elif str(request.form['song']) == "5": centroids, frequencies, volumes = starcentroids, starfrequencies, starvolumes elif str(request.form['song']) == "6": centroids, frequencies, volumes = cypruscentroids, cyprusfrequencies, cyprusvolumes elif str(request.form['song']) == "7": centroids, frequencies, volumes = sandscentroids, sandsfrequencies, sandsvolumes elif str(request.form['song']) == "8": centroids, frequencies, volumes = dubcentroids, dubfrequencies, dubvolumes song = int(request.form['song']) except: pass return render_template("vis4.html", centroids=centroids, frequencies=frequencies, volumes=volumes, song=song) #if we use fileIO preprocessing def preProcess(): pass if __name__=="__main__": centroids, frequencies, volumes = svt.processWav("wubwub.wav", 1) reg1centroids, reg1frequencies, reg1volumes = svt.processWav("./static/reg1.wav", 1) reg2centroids, reg2frequencies, reg2volumes = svt.processWav("./static/reg2.wav", 1) cypruscentroids, cyprusfrequencies,cyprusvolumes = svt.processWav("./static/cyprus.wav", 1) dubcentroids, dubfrequencies,dubvolumes = svt.processWav("./static/dubstep.wav", 1) rivercentroids, riverfrequencies,rivervolumes = svt.processWav("./static/river.wav", 1) sandscentroids, sandsfrequencies, sandsvolumes = svt.processWav("./static/sands.wav", 1) starcentroids, starfrequencies, starvolumes = svt.processWav("./static/starstuff.wav", 1) supercentroids, superfrequencies, supervolumes = svt.processWav("./static/superposition.wav", 1) #wormhole app.run(debug=True)
#Example of how to extract data from a wav file using the modified svt library. #Also useful for graphing or playing around with data. import svt import matplotlib from matplotlib import pyplot import pylab from mpl_toolkits.mplot3d import Axes3D import random import numpy #The line needed to get data from the first channel. centroids, frequencies, volumes = svt.processWav("../pyaudio/ooo.wav", 1) """ #Samples some of the data. print centroids[1] print frequencies[1] print volumes[1] for i in range(0, int(len(frequencies[1])/20)): print frequencies[1][i] """ #Graphs frequencies, centroids, and volumes on 2d plots; frequencies should really be 3d but I can't figure out how to 3d graph them so a number of 2d graphs should suffice for understanding the data. numbers = [] for i in range(len(frequencies[1])): numbers.append(i) #analysis codeeeeeeeee for i in range(3): matplotlib.pyplot.scatter(numbers, frequencies[i]) matplotlib.pyplot.show()
from svt import processWav from sklearn.cross_validation import StratifiedKFold from sklearn import svm from sklearn.metrics import confusion_matrix from numpy import array from math import sin, cos from decimal import Decimal from random import random, randint ac, af, av = processWav('../pyaudio/aaa.wav', 1) ec, ef, ev = processWav('../pyaudio/eee.wav', 1) clf = svm.SVC() clf.fit(af[:100] + ef[:100], [0 for i in range(100)] + [1 for i in range(100)]) print clf.predict(af[120])