Changeset e5cc1ea for python/aubio


Ignore:
Timestamp:
Aug 2, 2006, 4:46:50 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:
5ed9133
Parents:
90bcdaa
Message:

pass created plot to plot_audio/spec instead of outplot/extension, minor fixes
pass created plot to plot_audio/spec instead of outplot/extension, minor fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/aubio/gnuplot.py

    r90bcdaa re5cc1ea  
    4646        return time,data
    4747
    48 def plot_audio(filenames, outplot='', extension='', start=0, end=None, noaxis=None,xsize=1.,ysize=1.):
    49         g = gnuplot_create(outplot, extension)
     48def plot_audio(filenames, g, start=0, end=None, noaxis=None,xsize=1.,ysize=1.):
    5049        d = []
    5150        todraw = len(filenames)
    5251        xorig = 0.
    5352        xratio = 1./todraw
    54         g.gnuplot('set size %f,%f;' % (xsize,ysize) )
    55         g.gnuplot('set multiplot;')
     53        #g('set rmargin 7')
     54        g('set multiplot;')
    5655        while (len(filenames)):
    5756                time,data = audio_to_array(filenames.pop(0))
     
    6463                        g.ylabel('Amplitude')
    6564                d.append(make_audio_plot(time,data))
    66                 g.gnuplot('set size %f,%f;' % (xsize*xratio,ysize) )
    67                 g.gnuplot('set origin %f,0.;' % (xorig) )
    68                 g.gnuplot('set style data lines; \
     65                g('set size %f,%f;' % (xsize*xratio,ysize) )
     66                g('set origin %f,0.;' % (xorig) )
     67                g('set style data lines; \
    6968                        set yrange [-1.:1.]; \
    7069                        set xrange [0:%f]' % time[-1])
    7170                g.plot(d.pop(0))
    7271                xorig += xsize*xratio
    73         g.gnuplot('unset multiplot;')
     72        g('unset multiplot;')
    7473
    7574def audio_to_spec(filename,minf = 0, maxf = 0, lowthres = -20.,
     
    117116        return data,time,freq
    118117
    119 def plot_spec(filename, outplot='',extension='', fileout=None, start=0, end=None, noaxis=None,log=1, minf=0, maxf= 0, xsize = 1., ysize = 1.,bufsize=8192, hopsize=1024):
     118def plot_spec(filename, g, start=0, end=None, noaxis=None,log=1, minf=0, maxf= 0, xsize = 1., ysize = 1.,bufsize=8192, hopsize=1024):
    120119        import Gnuplot
    121         g = gnuplot_create(outplot,extension)
    122120        data,time,freq = audio_to_spec(filename,minf=minf,maxf=maxf,bufsize=bufsize,hopsize=hopsize)
    123121        xorig = 0.
     
    128126                else:
    129127                        g.xlabel('Time (s)')
    130                 g.ylabel('Frequency (Hz)')
    131         g('set size %f,%f' % (xsize, ysize))
     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)')
    132135        g('set pm3d map')
    133136        g('set palette rgbformulae -25,-24,-32')
     137        #g('set lmargin 4')
     138        g('set cbtics 20')
    134139        #g('set colorbox horizontal')
    135140        g('set xrange [0.:%f]' % time[-1])
    136         g('set yrange [%f:%f]' % (minf,maxf))
    137141        if log:
     142                g('set log y')
    138143                g('set yrange [%f:%f]' % (max(10,minf),maxf))
    139                 g('set log y')
     144        else:
     145                g('set yrange [%f:%f]' % (minf,maxf))
    140146        g.splot(Gnuplot.GridData(data,time,freq, binary=1))
    141147        #xorig += 1./todraw
     
    176182        return g
    177183
    178 def gnuplot_create(outplot='',extension='',debug=0,persist=1):
     184def gnuplot_create(outplot='',extension='',debug=0,persist=1, xsize=1., ysize=1.):
    179185        import Gnuplot
    180186        g = Gnuplot.Gnuplot(debug=debug, persist=persist)
     
    189195        if outplot != "stdout":
    190196                g('set output \'%s%s\'' % (outplot,ext))
     197        g('set size %f,%f' % (xsize, ysize))
    191198        return g
Note: See TracChangeset for help on using the changeset viewer.