History

update params and pitch update params and pitch

Paul Brossier committed 20 years ago

Commit 4798fdf1 parent 650e39b3 files · +26 −22Browse files

Showing the changes to python (3 of 3 files). Show all

Unified · Split

3 files
  1. python/aubio/task/params.py +2 −1
  2. python/aubio/task/pitch.py +7 −7
  3. python/aubiopitch +17 −14
python/aubio/task/params.py+2−1
@@ -25,8 +25,9 @@ class taskparams(object): · 24 unmodified lines
2525 # also best param for yinfft polyphonic Mirex04
2626 self.yinfftthresh = 0.85
2727 self.pitchsmooth = 0
28− self.pitchmin=10.
28+ self.pitchmin=20.
2929 self.pitchmax=20000.
30+ self.pitchdelay = -0.5
3031 self.dcthreshold = -1.
3132 self.omode = aubio_pitchm_freq
3233 self.verbose = False
python/aubio/task/pitch.py+7−7
@@ -78,7 +78,7 @@ class taskpitch(task): · 77 unmodified lines
7878 pitch.append(self.truth)
7979 else:
8080 pitch.append(-1.)
81− return time,pitch #0,aubio_miditofreq(float(floatpit))
81+ return time,pitch
8282 except ValueError:
8383 # FIXME very weak check
8484 if not os.path.isfile(datafile):
@@ -120,7 +120,7 @@ class taskpitch(task): · 35 unmodified lines
120120 for i in range(len(pitch)):
121121 if pitch[i] == "nan" or pitch[i] == -1:
122122 pitch[i] = -1
123− time = [ i*self.params.step for i in range(len(pitch)) ]
123+ time = [ (i+self.params.pitchdelay)*self.params.step for i in range(len(pitch)) ]
124124 #print len(timet),len(pitcht)
125125 #print len(time),len(pitch)
126126 if len(timet) != len(time):
@@ -152,16 +152,15 @@ class taskpitch(task): · 25 unmodified lines
152152 return osil, esil, opit, epit, echr
153153
154154 def plot(self,pitch,wplot,oplots,outplot=None):
155− import numarray
156155 import Gnuplot
157156
158− downtime = self.params.step*numarray.arange(len(pitch))
157+ time = [ (i+self.params.pitchdelay)*self.params.step for i in range(len(pitch)) ]
159158 pitch = [aubio_freqtomidi(i) for i in pitch]
160− oplots.append(Gnuplot.Data(downtime,pitch,with='lines',
159+ oplots.append(Gnuplot.Data(time,pitch,with='lines',
161160 title=self.params.pitchmode))
162161
163162
164− def plotplot(self,wplot,oplots,outplot=None,multiplot = 0, midi = 1):
163+ def plotplot(self,wplot,oplots,outplot=None,multiplot = 1, midi = 1):
165164 from aubio.gnuplot import gnuplot_init, audio_to_array, make_audio_plot
166165 import re
167166 import Gnuplot
@@ -184,6 +183,7 @@ class taskpitch(task): · 16 unmodified lines
184183 g('set lmargin 15')
185184 # plot waveform and onsets
186185 g('set size 1,0.3')
186+ g('set ytics 10')
187187 g('set origin 0,0.7')
188188 g('set xrange [0:%f]' % max(time))
189189 g('set yrange [-1:1]')
@@ -202,7 +202,7 @@ class taskpitch(task): · 12 unmodified lines
202202 g.ylabel('f0 (Hz)')
203203 g('set yrange [100:%f]' % self.params.pitchmax)
204204 else:
205− g.ylabel('pitch (midi)')
205+ g.ylabel('midi')
206206 g('set yrange [%f:%f]' % (aubio_freqtomidi(self.params.pitchmin), aubio_freqtomidi(self.params.pitchmax)))
207207 g('set key right top')
208208 g('set noclip one')
python/aubiopitch+17−14
@@ -39,15 +39,16 @@ def parse_args(): · 38 unmodified lines
3939 help="silence threshold [default=-70]")
4040 parser.add_option("-D","--delay",
4141 action="store", dest="delay",
42− help="number of seconds to take back [default=system]\
43− default system delay is 2*hopsize/samplerate")
44− parser.add_option("-L","--localmin",
45− action="store_true", dest="localmin", default=False,
46− help="use local minima after peak detection")
47− parser.add_option("-c","--cut",
48− action="store_true", dest="cut", default=False,
49− help="cut input sound file at detected labels \
50− best used with option -L")
42+ help="number of seconds frames to take back [default=0]")
43+ parser.add_option("-S","--smoothing",
44+ action="store", dest="smoothing", default=False,
45+ help="use a median filter of N frames [default=0]")
46+ parser.add_option("-M","--maximum",
47+ action="store", dest="pitchmax", default=False,
48+ help="maximum pitch value to look for (Hz) [default=20000]")
49+ parser.add_option("-l","--minimum",
50+ action="store", dest="pitchmin", default=False,
51+ help="minimum pitch value to look for (Hz) [default=20]")
5152 # to be implemented
5253 parser.add_option("-n","--note",
5354 action="store_true", dest="note", default=False,
@@ -55,13 +56,13 @@ def parse_args(): · 1 unmodified line
5556 # plotting functions
5657 parser.add_option("-p","--plot",
5758 action="store_true", dest="plot", default=False,
58− help="NOT IMPLEMENTED draw plot")
59+ help="draw plot of the pitch track")
5960 parser.add_option("-O","--outplot",
6061 action="store", dest="outplot", default=None,
61− help="NOT IMPLEMENTED save plot to output.{ps,png}")
62+ help="save the plot to output.{ps,png,svg} instead of displaying it")
6263 parser.add_option("-v","--verbose",
6364 action="store_true", dest="verbose", default=False,
64− help="make lots of noise [default]")
65+ help="make lots of noise")
6566 parser.add_option("-q","--quiet",
6667 action="store_false", dest="verbose", default=False,
6768 help="be quiet")
@@ -92,10 +93,12 @@ params.step = params.samplerate/float(params.hopsize) · 24 unmodified lines
9293 params.yinthresh = float(options.threshold)
9394 params.silence = float(options.silence)
9495 params.verbose = options.verbose
96+if options.smoothing: params.pitchsmooth = int(options.smoothing)
97+if options.pitchmax: params.pitchmax = int(options.pitchmax)
98+if options.pitchmin: params.pitchmin = int(options.pitchmin)
9599 #mintol = float(options.mintol)*step
96100 # default take back system delay
97−if options.delay: delay = float(options.delay)
98−else: delay = 2./params.step
101+if options.delay: params.pitchdelay = float(options.delay)
99102
100103 if options.note:
101104 exit("not implemented yet")

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t