ref: 742c9b839f9f952986011be98fc95fcd4a4b9f54
parent: 4b4e6ae17b361b86c312b4505b8d251361625f26
author: Paul Brossier <piem@altern.org>
date: Fri Jul 28 09:08:51 EDT 2006
add bench-pitch-plot-isolated add bench-pitch-plot-isolated
--- /dev/null
+++ b/python/test/bench/pitch/bench-pitch-plot-isolated
@@ -1,0 +1,63 @@
+#! /usr/bin/python
+
+if __name__ == '__main__':
+ import sys, Gnuplot
+ from aubio.gnuplot import gnuplot_create
+ from aubio.txtfile import read_datafile
+ from aubio.plot.keyboard import draw_keyboard
+ lines = []
+ titles = []
+ for file in range(len(sys.argv)-1):
+ l = read_datafile(sys.argv[file+1])
+ notes, score = [],[]
+ for i in range(len(l)):
+ notes.append(l[i][0])
+ score.append(l[i][2])
+ lines.append(Gnuplot.Data(notes,score,
+ with='linespoints',
+ title=sys.argv[file+1].split('.')[-1]))+ titles.append(sys.argv[file+1].split('.')[-1])+ blacks,whites = draw_keyboard(firstnote = notes[0], lastnote = notes[-1],
+ y0= 40, y1 = 50)
+
+ g = gnuplot_create(sys.argv[file+1].split('.')[-3],'ps')+ #g = gnuplot_create('','')+ #g = gnuplot_create('/tmp/test','eps')+ g('set yrange [40:100]')+ #g('set xrange [%f:%f]' % (notes[0],notes[-1]+60))+ g('set size 0.5')+ g('set key outside')+
+ g('set border 3')+ g('set xtics nomirror')+ g('set ytics nomirror')+ multiplot = 1
+ oplots = lines
+ g('set size 1,2')+ if multiplot:
+ height = 2.
+ g('set lmargin 10')+ #g('set rmargin 15')+ g('set multiplot')+ g('set yrange [50:100]')+ g('set xrange [%f:%f]' % (notes[0],notes[-1]))+ g('set xtics %f,12' % notes[0])+ g('set nokey')+ for i in range(len(oplots)):
+ g.ylabel(titles[i])
+ g('set size %f,%f' % (1.,height*.85/float(len(oplots))))+ g('set origin 0,%f' % (height*(.15+.85*float(len(oplots)-i-1)/float(len(oplots)))))+ g.plot(oplots[i])
+ g('set title "Raw pitch accuracy (%) against midi note numbers"')+ g('set noxtics')+ g('set noytics')+ g('set size %f,%f' % (1.,.15*height))+ g('set origin 0,%f' % 0)+ g('set yrange [40:50]')+ g('set xrange [%f:%f]' % (notes[0],notes[-1]))+ g.xlabel('')+ g.ylabel('')+ g.plot(whites,blacks)
+ g('unset multiplot')+ else:
+ g.plot(whites,blacks,*lines)
--
⑨