Changeset 470a772


Ignore:
Timestamp:
Jul 13, 2006, 3:48:24 PM (15 years ago)
Author:
Paul Brossier <piem@altern.org>
Branches:
feature/autosink, feature/constantq, feature/pitchshift, feature/pydocstrings, feature/timestretch, master, pitchshift, sampler, timestretch, yinfft+
Children:
bf8e134
Parents:
9c54265
Message:

fix timelines and plot sizes in onset and pitch
fix timelines and plot sizes in onset and pitch

Location:
python/aubio/task
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • python/aubio/task/onset.py

    r9c54265 r470a772  
    145145                # prepare the plot
    146146                g = gnuplot_create(outplot=outplot, extension=extension)
    147                
     147                g('set title \'%s\'' % (re.sub('.*/','',self.input)))
    148148                if spectro:
    149149                        g('set size %f,%f' % (xsize,1.3*ysize) )
     
    155155                g('set lmargin 3')
    156156                g('set rmargin 6')
    157                 g('set tmargin 0')
    158                 g('set format x ""')
    159                 g('set format y "%3e"')
    160                 g('set noytics')
    161 
    162                 for i in range(len(oplots)):
    163                         # plot onset detection functions
    164                         g('set size %f,%f' % (xsize,0.7*ysize/(len(oplots))))
    165                         g('set origin 0,%f' % ((len(oplots)-float(i)-1)*0.7*ysize/(len(oplots))))
    166                         g('set xrange [0:%f]' % (self.lenofunc*self.params.step))
    167                         g('set nokey')
    168                         g('set yrange [0:%f]' % (1.1*oplots[i][2]))
    169                         g('set y2tics ("0" 0, "%d" %d)' % (round(oplots[i][2]),round(oplots[i][2])))
    170                         g.ylabel(oplots[i][1])
    171                         if i == len(oplots)-1:
    172                                 g.xlabel('time (s)',offset=(0,0.7))
    173                         g.plot(*oplots[i][0])
    174157
    175158                if spectro:
     
    188171                        g('set tmargin 0')
    189172                        g('set palette rgbformulae -25,-24,-32')
    190                         g.xlabel('')
     173                        g.xlabel('time (s)',offset=(0,1.))
    191174                        g.ylabel('freq (Hz)')
     175                        g('set origin 0,%f' % (1.0*ysize) )
     176                        g('set format x "%1.1f"')
    192177                        #if log:
    193178                        #       g('set yrange [%f:%f]' % (max(10,minf),maxf))
    194179                        #       g('set log y')
    195180                        g.splot(Gnuplot.GridData(data,time,freq, binary=1, title=''))
    196                         g('set lmargin 3')
    197                         g('set rmargin 6')
    198                         g('set origin 0,%f' % (1.0*ysize) )
    199                         g('set format x "%1.1f"')
    200                         g.xlabel('time (s)',offset=(0,1.))
    201181                else:
    202182                        # plot waveform and onsets
     183                        time,data = audio_to_array(self.input)
     184                        wplot = [make_audio_plot(time,data)] + wplot
    203185                        g('set origin 0,%f' % (0.7*ysize) )
     186                        g('set size %f,%f' % (xsize,0.3*ysize))
     187                        g('set format y "%1f"')
     188                        g('set xrange [0:%f]' % max(time))
     189                        g('set yrange [-1:1]')
     190                        g('set noytics')
     191                        g('set y2tics -1,1')
    204192                        g.xlabel('time (s)',offset=(0,0.7))
    205                         g('set format y "%1f"')
    206 
    207                 g('set size %f,%f' % (1.*xsize, 0.3*ysize))
    208                 g('set title \'%s %s\'' % (re.sub('.*/','',self.input),self.title))
    209                 g('set tmargin 2')
    210                 # audio data
    211                 time,data = audio_to_array(self.input)
    212                 wplot = [make_audio_plot(time,data)] + wplot
    213                 g('set y2tics -1,1')
    214 
    215                 g('set xrange [0:%f]' % max(time))
    216                 g('set yrange [-1:1]')
    217                 g.ylabel('amplitude')
    218                 g.plot(*wplot)
    219                
     193                        g.ylabel('amplitude')
     194                        g.plot(*wplot)
     195
     196                # default settings for next plots
     197                g('unset title')
     198                g('set format x ""')
     199                g('set format y "%3e"')
     200                g('set tmargin 0')
     201                g.xlabel('')
     202
     203                N = len(oplots)
     204                y = 0.7*ysize # the vertical proportion of the plot taken by onset functions
     205                delta = 0.035 # the constant part of y taken by last plot label and data
     206                for i in range(N):
     207                        # plot onset detection functions
     208                        g('set size %f,%f' % ( xsize, (y-delta)/N))
     209                        g('set origin 0,%f' % ((N-i-1)*(y-delta)/N + delta ))
     210                        g('set nokey')
     211                        g('set xrange [0:%f]' % (self.lenofunc*self.params.step))
     212                        g('set yrange [0:%f]' % (1.1*oplots[i][2]))
     213                        g('set y2tics ("0" 0, "%d" %d)' % (round(oplots[i][2]),round(oplots[i][2])))
     214                        g.ylabel(oplots[i][1])
     215                        if i == N-1:
     216                                g('set size %f,%f' % ( xsize, (y-delta)/N + delta ) )
     217                                g('set origin 0,0')
     218                                g.xlabel('time (s)', offset=(0,0.7))
     219                                g('set format x')
     220                        g.plot(*oplots[i][0])
     221
    220222                g('unset multiplot')
    221 
    222 
  • python/aubio/task/pitch.py

    r9c54265 r470a772  
    162162
    163163                       
    164         def plotplot(self,wplot,oplots,titles,outplot=None,multiplot = 1, midi = 1, truth = 1):
    165                 from aubio.gnuplot import gnuplot_init, audio_to_array, make_audio_plot
     164        def plotplot(self,wplot,oplots,titles,outplot=None,extension=None,xsize=1.,ysize=1.,multiplot = 1, midi = 1, truth = 1):
     165                from aubio.gnuplot import gnuplot_create , audio_to_array, make_audio_plot
    166166                import re
    167167                import Gnuplot
    168                 # audio data
    169                 time,data = audio_to_array(self.input)
    170                 f = make_audio_plot(time,data)
    171168
    172169                # check if ground truth exists
     
    177174                                        title='ground truth')] + oplots
    178175
    179                 t = Gnuplot.Data(0,0,with='impulses')
    180 
    181                 g = gnuplot_init(outplot)
     176                g = gnuplot_create(outplot=outplot, extension=extension)
    182177                g('set title \'%s\'' % (re.sub('.*/','',self.input)))
     178                g('set size %f,%f' % (xsize,ysize) )
    183179                g('set multiplot')
    184180                # hack to align left axis
    185181                g('set lmargin 4')
    186182                g('set rmargin 4')
    187                 # plot waveform and onsets
    188                 g('set size 1,0.3')
    189                 g('set ytics 10')
    190                 g('set origin 0,0.7')
     183    # plot waveform
     184                time,data = audio_to_array(self.input)
     185                wplot = [make_audio_plot(time,data)]
     186                g('set origin 0,%f' % (0.7*ysize) )
     187                g('set size %f,%f' % (xsize,0.3*ysize))
     188                #g('set format y "%1f"')
    191189                g('set xrange [0:%f]' % max(time))
    192190                g('set yrange [-1:1]')
    193191                g('set noytics')
    194192                g('set y2tics -1,1')
    195                 g.xlabel('time (s)',offset=(0,0.8))
     193                g.xlabel('time (s)',offset=(0,0.7))
    196194                g.ylabel('amplitude')
    197                 g.plot(f)
     195                g.plot(*wplot)
     196
     197                # default settings for next plots
    198198                g('unset title')
    199                 # plot onset detection function
    200 
    201 
    202                 g('set size 1,0.7')
    203                 g('set origin 0,0')
    204                 g('set xrange [0:%f]' % max(time))
     199                g('set format x ""')
     200                g('set format y "%3e"')
     201                g('set tmargin 0')
     202                g.xlabel('')
     203                g('set noclip one')
     204
    205205                if not midi:
    206206                        g('set log y')
     
    212212                        g('set yrange [%f:%f]' % (aubio_freqtomidi(self.params.pitchmin), aubio_freqtomidi(self.params.pitchmax)))
    213213                        g('set y2tics %f,%f' % (round(aubio_freqtomidi(self.params.pitchmin)+.5),12))
    214                 g('set key right top')
    215                 g('set noclip one')
    216                 g('set format x ""')
     214               
    217215                if multiplot:
    218                         g('set tmargin 0')
    219                         for i in range(len(oplots)):
    220                                 # plot onset detection functions
    221                                 g('set size 1,%f' % (0.7/(len(oplots))))
    222                                 g('set origin 0,%f' % ((len(oplots)-float(i)-1)*0.7/(len(oplots))))
     216                        N = len(oplots)
     217                        y = 0.7*ysize # the vertical proportion of the plot taken by onset functions
     218                        delta = 0.035 # the constant part of y taken by last plot label and data
     219                        for i in range(N):
     220                                # plot pitch detection functions
     221                                g('set size %f,%f' % ( xsize, (y-delta)/N))
     222                                g('set origin 0,%f' % ((N-i-1)*(y-delta)/N + delta ))
     223                                g('set nokey')
    223224                                g('set xrange [0:%f]' % max(time))
    224                                 g('set nokey')
    225225                                g.ylabel(titles[i])
    226                                 g.xlabel('')
     226                                if i == N-1:
     227                                        g('set size %f,%f' % (xsize, (y-delta)/N + delta ) )
     228                                        g('set origin 0,0')
     229                                        g.xlabel('time (s)', offset=(0,0.7))
     230                                        g('set format x')
    227231                                g.plot(oplots[i])
    228232                else:
     233                        g('set key right top')
    229234                        g.plot(*oplots)
    230235                g('unset multiplot')
Note: See TracChangeset for help on using the changeset viewer.