Mercurial > hg > vampy-host
view vampyhost_exercise.py @ 39:13dcfe8c7ed7
Docs and tidying
author | Chris Cannam |
---|---|
date | Wed, 26 Nov 2014 15:23:56 +0000 |
parents | 3893b76daf80 |
children |
line wrap: on
line source
import sys import os sys.path.append(os.getcwd()) import scikits.audiolab as al; #from melscale import melscale #from melscale import initialize from pylab import * # from melscale import * from numpy import * from pylab import * from time import * from vampyhost import * import vampyhost import vampyhost as vh #import pyRealTime #from pyRealTime import * #deal with an audio file wavfile='test.wav' wavdata, samplerate, format = al.wavread(wavfile); print "samplerate: ",samplerate print "number of samples (frames): ",wavdata.size audio = wavdata.transpose() channels = audio.size print "channels: ",channels rt=realtime(4,70) #test RealTime Object for i in [0,1,2] : if (i==0) : rtl=[] rtl.append(realtime()) print ">>>>>RealTime's method: ", rtl[i].values() class feature_example(): def __init__(self): self.hasTimestamp self.timestamp self.values self.label pluginlist = vh.enumeratePlugins() for i,n in enumerate(pluginlist) : print i,":",n pluginKey=pluginlist[0]; # try the first plugin listed retval = vh.getLibraryPath(pluginKey) print pluginKey print retval print vh.getPluginCategory(pluginKey) print vh.getOutputList(pluginKey) handle = vh.loadPlugin(pluginKey,samplerate); print "\n\nPlugin handle: ",handle print "Output list of: ",pluginKey,"\n",vh.getOutputList(handle) print "Have ", len(audio), " channels in audio" #initialise: pluginhandle, channels, stepSize, blockSize if vh.initialise(handle,len(audio),1024,1024): print "Initialise succeeded" else: print "Initialise failed!" exit(1) #!!! continue with this lark rt=frame2RealTime(100000,22050) print type(rt) out=vh.process(handle,list(audio),rt) ##!!! cast to list should not be necessary output = vh.getOutput(handle,1); print type(output) print output #print output[1].label print "_______________OUTPUT TYPE_________:",type(out) in_audio = frombuffer(audio,int16,-1,0) out_audio = frombuffer(out,float32,-1,0) subplot(211) plot(in_audio) subplot(212) plot(out_audio) show() #do some processing here #buffer is a multichannel frame or a numpy array containing samples #buffer = vh.frame(audiodata,stepSize,blockSize) #output = vh.process(handle,buffer) #output is a list of list of features vh.unloadPlugin(handle); vh.unloadPlugin(handle); # test if it chrashes... print vh.getOutputList(handle) #cases: #buffer = blockSize : evaluate #buffer > blockSize : enframe and zeropad #return: #oneSamplePerStep, FixedSamplerate : can return numpy array #variableSamplerate : list of featres only #print dir(vampyhost)