Showing the changes to python/test/bench (2 of 3 files). Show all
Unified · Split
| @@ -0,0 +1,13 @@ | |||
| 1 | export BASEDIR=../../../.. | ||
| 2 | export PYTHONPATH=$(BASEDIR)/python | ||
| 3 | export LD_LIBRARY_PATH=$(BASEDIR)/src/.libs:$(BASEDIR)/ext/.libs | ||
| 4 | |||
| 5 | SOURCE = \ | ||
| 6 | /archives/samples/pitch/isolated | ||
| 7 | |||
| 8 | test-aubiopitch: $(patsubst %, %.aubiopitch, $(SOURCE)) | ||
| 9 | |||
| 10 | %.aubiopitch: % | ||
| 11 | rm -f `basename $<`.aubiocut | ||
| 12 | ./bench-pitch $< #| tee `basename $<`.aubiocut | ||
| 13 | #diff `basename $<`.aubiocut.ref `basename $<`.aubiocut | ||
| @@ -0,0 +1,49 @@ | |||
| 1 | #! /usr/bin/python | ||
| 2 | |||
| 3 | from aubio.bench.node import * | ||
| 4 | from aubio.tasks import * | ||
| 5 | |||
| 6 | class benchpitch(bench): | ||
| 7 | |||
| 8 | def file_exec(self,input,output): | ||
| 9 | filetask = self.task(input,params=self.params) | ||
| 10 | computed_data = filetask.compute_all() | ||
| 11 | results = filetask.eval(computed_data) | ||
| 12 | self.results.append(results) | ||
| 13 | truth = filetask.gettruth() | ||
| 14 | #print input, results, results - float(input.split('.')[-2]) | ||
| 15 | self.pretty_print((self.params.pitchmode, truth, | ||
| 16 | truth - results[0], results[0], | ||
| 17 | truth - results[1], results[1])) | ||
| 18 | |||
| 19 | def run_bench(self,modes=['schmitt']): | ||
| 20 | self.modes = modes | ||
| 21 | self.pretty_print(self.titles) | ||
| 22 | for mode in self.modes: | ||
| 23 | self.params.pitchmode = mode | ||
| 24 | self.dir_exec() | ||
| 25 | self.dir_eval() | ||
| 26 | self.dir_plot() | ||
| 27 | |||
| 28 | if __name__ == "__main__": | ||
| 29 | import sys | ||
| 30 | if len(sys.argv) > 1: datapath = sys.argv[1] | ||
| 31 | else: print "error: a path is required"; sys.exit(1) | ||
| 32 | if len(sys.argv) > 2: | ||
| 33 | for each in sys.argv[3:-1]: print each | ||
| 34 | modes = ['yin', 'schmitt', 'mcomb', 'fcomb'] | ||
| 35 | |||
| 36 | benchpitch = benchpitch(datapath) | ||
| 37 | benchpitch.params = taskparams() | ||
| 38 | benchpitch.task = taskpitch | ||
| 39 | |||
| 40 | |||
| 41 | benchpitch.titles = [ 'mode', 'thres', 'avg', 'avgdist' ] | ||
| 42 | benchpitch.formats = ["%12s" , "| %6s", "| %6s", "| %6s", "| %6s", "| %6s" ] | ||
| 43 | try: | ||
| 44 | benchpitch.run_bench(modes=modes) | ||
| 45 | except KeyboardInterrupt: | ||
| 46 | print "Interrupted by user" | ||
| 47 | sys.exit(1) | ||
| 48 | |||
| 49 | sys.exit(0) | ||