Changeset 33cf541 for python/aubio


Ignore:
Timestamp:
Aug 2, 2006, 5:55:02 PM (18 years ago)
Author:
Paul Brossier <piem@altern.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master, pitchshift, sampler, timestretch, yinfft+
Children:
dbd19ea
Parents:
0ab19df
Message:

use options structure for plot_audio plot_spec
use options structure for plot_audio plot_spec

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/aubio/gnuplot.py

    r0ab19df r33cf541  
    2020         Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    2121"""
    22 
    23 
    24 __notesheight = 0.25
    2522
    2623
     
    4643        return time,data
    4744
    48 def plot_audio(filenames, g, start=0, end=None, noaxis=None,xsize=1.,ysize=1.):
     45def plot_audio(filenames, g, options):
    4946        d = []
    5047        todraw = len(filenames)
    5148        xorig = 0.
    5249        xratio = 1./todraw
    53         #g('set rmargin 7')
    5450        g('set multiplot;')
    5551        while (len(filenames)):
    5652                time,data = audio_to_array(filenames.pop(0))
    57                 if not noaxis and todraw==1:
     53                if todraw==1:
    5854                        if max(time) < 1.:
    5955                                time = [t*1000. for t in time]
     
    6359                        g.ylabel('Amplitude')
    6460                d.append(make_audio_plot(time,data))
    65                 g('set size %f,%f;' % (xsize*xratio,ysize) )
     61                g('set size %f,%f;' % (options.xsize*xratio,options.ysize) )
    6662                g('set origin %f,0.;' % (xorig) )
    6763                g('set style data lines; \
     
    6965                        set xrange [0:%f]' % time[-1])
    7066                g.plot(d.pop(0))
    71                 xorig += xsize*xratio
     67                xorig += options.xsize*xratio
    7268        g('unset multiplot;')
    7369
     
    116112        return data,time,freq
    117113
    118 def plot_spec(filename, g, start=0, end=None, noaxis=None,log=1, minf=0, maxf= 0, xsize = 1., ysize = 1.,bufsize=8192, hopsize=1024):
     114def plot_spec(filename, g, options):
    119115        import Gnuplot
    120         data,time,freq = audio_to_spec(filename,minf=minf,maxf=maxf,bufsize=bufsize,hopsize=hopsize)
     116        data,time,freq = audio_to_spec(filename,
     117    minf=options.minf,maxf=options.maxf,
     118    bufsize=options.bufsize,hopsize=options.hopsize)
    121119        xorig = 0.
    122         if not noaxis:
    123                 if max(time) < 1.:
    124                         time = [t*1000. for t in time]
    125                         g.xlabel('Time (ms)')
    126                 else:
    127                         g.xlabel('Time (s)')
    128                 if xsize < 0.5 and not log and max(time) > 1.:
    129                         freq = [f/1000. for f in freq]
    130                         minf /= 1000.
    131                         maxf /= 1000.
    132                         g.ylabel('Frequency (kHz)')
    133                 else:
    134                         g.ylabel('Frequency (Hz)')
     120        if max(time) < 1.:
     121                time = [t*1000. for t in time]
     122                g.xlabel('Time (ms)')
     123        else:
     124                g.xlabel('Time (s)')
     125        if options.xsize < 0.5 and not options.log and max(time) > 1.:
     126                freq = [f/1000. for f in freq]
     127                options.minf /= 1000.
     128                options.maxf /= 1000.
     129                g.ylabel('Frequency (kHz)')
     130        else:
     131                g.ylabel('Frequency (Hz)')
    135132        g('set pm3d map')
    136133        g('set palette rgbformulae -25,-24,-32')
    137         #g('set lmargin 4')
    138134        g('set cbtics 20')
    139135        #g('set colorbox horizontal')
    140136        g('set xrange [0.:%f]' % time[-1])
    141         if log:
     137        if options.log:
    142138                g('set log y')
    143                 g('set yrange [%f:%f]' % (max(10,minf),maxf))
     139                g('set yrange [%f:%f]' % (max(10,options.minf),options.maxf))
    144140        else:
    145                 g('set yrange [%f:%f]' % (minf,maxf))
     141                g('set yrange [%f:%f]' % (options.minf,options.maxf))
    146142        g.splot(Gnuplot.GridData(data,time,freq, binary=1))
    147143        #xorig += 1./todraw
     
    171167          action="store", dest="ysize", default=1.,
    172168          type='float',help="define ysize for plot")
    173   parser.add_option("-d","--debug",
     169  parser.add_option("--debug",
    174170          action="store_true", dest="debug", default=False,
    175171          help="use gnuplot debug mode")
    176   parser.add_option("-p","--persist",
     172  parser.add_option("--persist",
    177173          action="store_false", dest="persist", default=True,
    178174          help="do not use gnuplot persistant mode")
     175  parser.add_option("--lmargin",
     176          action="store", dest="lmargin", default=None,
     177          type='int',help="define left margin for plot")
     178  parser.add_option("--rmargin",
     179          action="store", dest="rmargin", default=None,
     180          type='int',help="define right margin for plot")
     181  parser.add_option("--bmargin",
     182          action="store", dest="bmargin", default=None,
     183          type='int',help="define bottom margin for plot")
     184  parser.add_option("--tmargin",
     185          action="store", dest="tmargin", default=None,
     186          type='int',help="define top margin for plot")
    179187  parser.add_option("-O","--outplot",
    180188          action="store", dest="outplot", default=None,
     
    192200  else: exit("ERR: unknown plot extension")
    193201  g('set terminal %s' % extension)
     202  if options.lmargin: g('set lmargin %i' % options.lmargin)
     203  if options.rmargin: g('set rmargin %i' % options.rmargin)
     204  if options.bmargin: g('set bmargin %i' % options.bmargin)
     205  if options.tmargin: g('set tmargin %i' % options.tmargin)
    194206  if outplot != "stdout":
    195207    g('set output \'%s%s\'' % (outplot,ext))
Note: See TracChangeset for help on using the changeset viewer.