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