From: Paul Brossier Date: Mon, 5 Nov 2018 13:01:41 +0000 (+0100) Subject: [py] [style] add space after , in cut.py X-Git-Tag: 0.4.8~68 X-Git-Url: https://git.aubio.org/?a=commitdiff_plain;h=f8c75aaa3c89099bc4a46b325e4bbc5c8c82d106;p=aubio.git [py] [style] add space after , in cut.py --- diff --git a/python/lib/aubio/cut.py b/python/lib/aubio/cut.py index 8055f196..09f44a12 100644 --- a/python/lib/aubio/cut.py +++ b/python/lib/aubio/cut.py @@ -5,83 +5,86 @@ """ import sys +import warnings from aubio.cmd import AubioArgumentParser +from aubio.slicing import slice_source_at_stamps + def aubio_cut_parser(): parser = AubioArgumentParser() parser.add_input() - parser.add_argument("-O","--onset-method", + parser.add_argument("-O", "--onset-method", action="store", dest="onset_method", default='default', metavar = "", help="onset detection method [default=default] \ complexdomain|hfc|phase|specdiff|energy|kl|mkl") # cutting methods - parser.add_argument("-b","--beat", + parser.add_argument("-b", "--beat", action="store_true", dest="beat", default=False, help="slice at beat locations") """ - parser.add_argument("-S","--silencecut", + parser.add_argument("-S", "--silencecut", action="store_true", dest="silencecut", default=False, help="use silence locations") - parser.add_argument("-s","--silence", + parser.add_argument("-s", "--silence", metavar = "", action="store", dest="silence", default=-70, help="silence threshold [default=-70]") """ # algorithm parameters parser.add_buf_hop_size() - parser.add_argument("-t","--threshold", "--onset-threshold", + parser.add_argument("-t", "--threshold", "--onset-threshold", metavar = "", type=float, action="store", dest="threshold", default=0.3, help="onset peak picking threshold [default=0.3]") - parser.add_argument("-c","--cut", + parser.add_argument("-c", "--cut", action="store_true", dest="cut", default=False, help="cut input sound file at detected labels") parser.add_minioi() """ - parser.add_argument("-D","--delay", + parser.add_argument("-D", "--delay", action = "store", dest = "delay", type = float, metavar = "", default=0, help="number of seconds to take back [default=system]\ default system delay is 3*hopsize/samplerate") - parser.add_argument("-C","--dcthreshold", + parser.add_argument("-C", "--dcthreshold", metavar = "", action="store", dest="dcthreshold", default=1., help="onset peak picking DC component [default=1.]") - parser.add_argument("-L","--localmin", + parser.add_argument("-L", "--localmin", action="store_true", dest="localmin", default=False, help="use local minima after peak detection") - parser.add_argument("-d","--derivate", + parser.add_argument("-d", "--derivate", action="store_true", dest="derivate", default=False, help="derivate onset detection function") - parser.add_argument("-z","--zerocross", + parser.add_argument("-z", "--zerocross", metavar = "", action="store", dest="zerothres", default=0.008, help="zero-crossing threshold for slicing [default=0.00008]") # plotting functions - parser.add_argument("-p","--plot", + parser.add_argument("-p", "--plot", action="store_true", dest="plot", default=False, help="draw plot") - parser.add_argument("-x","--xsize", + parser.add_argument("-x", "--xsize", metavar = "", action="store", dest="xsize", default=1., type=float, help="define xsize for plot") - parser.add_argument("-y","--ysize", + parser.add_argument("-y", "--ysize", metavar = "", action="store", dest="ysize", default=1., type=float, help="define ysize for plot") - parser.add_argument("-f","--function", + parser.add_argument("-f", "--function", action="store_true", dest="func", default=False, help="print detection function") - parser.add_argument("-n","--no-onsets", + parser.add_argument("-n", "--no-onsets", action="store_true", dest="nplot", default=False, help="do not plot detected onsets") - parser.add_argument("-O","--outplot", + parser.add_argument("-O", "--outplot", metavar = "", action="store", dest="outplot", default=None, help="save plot to output.{ps,png}") - parser.add_argument("-F","--spectrogram", + parser.add_argument("-F", "--spectrogram", action="store_true", dest="spectro", default=False, help="add spectrogram to the plot") """ @@ -105,9 +108,11 @@ def _cut_analyze(options): options.samplerate = samplerate if options.beat: - o = tempo(options.onset_method, bufsize, hopsize, samplerate=samplerate) + o = tempo(options.onset_method, bufsize, hopsize, + samplerate=samplerate) else: - o = onset(options.onset_method, bufsize, hopsize, samplerate=samplerate) + o = onset(options.onset_method, bufsize, hopsize, + samplerate=samplerate) if options.minioi: if options.minioi.endswith('ms'): o.set_minioi_ms(int(options.minioi[:-2])) @@ -122,31 +127,36 @@ def _cut_analyze(options): while True: samples, read = s() if o(samples): - timestamps.append (o.get_last()) - if options.verbose: print ("%.4f" % o.get_last_s()) + timestamps.append(o.get_last()) + if options.verbose: + print("%.4f" % o.get_last_s()) total_frames += read - if read < hopsize: break + if read < hopsize: + break del s return timestamps, total_frames + def _cut_slice(options, timestamps): # cutting pass nstamps = len(timestamps) if nstamps > 0: # generate output files - from aubio.slicing import slice_source_at_stamps timestamps_end = None if options.cut_every_nslices: timestamps = timestamps[::options.cut_every_nslices] nstamps = len(timestamps) if options.cut_until_nslices and options.cut_until_nsamples: - print ("warning: using cut_until_nslices, but cut_until_nsamples is set") + msg = "using cut_until_nslices, but cut_until_nsamples is set" + warnings.warn(msg) if options.cut_until_nsamples: - timestamps_end = [t + options.cut_until_nsamples for t in timestamps[1:]] - timestamps_end += [ 1e120 ] + lag = options.cut_until_nsamples + timestamps_end = [t + lag for t in timestamps[1:]] + timestamps_end += [1e120] if options.cut_until_nslices: - timestamps_end = [t for t in timestamps[1 + options.cut_until_nslices:]] - timestamps_end += [ 1e120 ] * (options.cut_until_nslices + 1) + slice_lag = options.cut_until_nslices + timestamps_end = [t for t in timestamps[1 + slice_lag:]] + timestamps_end += [1e120] * (options.cut_until_nslices + 1) slice_source_at_stamps(options.source_uri, timestamps, timestamps_end = timestamps_end, output_dir = options.output_directory, @@ -167,7 +177,7 @@ def main(): timestamps, total_frames = _cut_analyze(options) # print some info - duration = float (total_frames) / float(options.samplerate) + duration = float(total_frames) / float(options.samplerate) base_info = '%(source_uri)s' % {'source_uri': options.source_uri} base_info += ' (total %(duration).2fs at %(samplerate)dHz)\n' % \ {'duration': duration, 'samplerate': options.samplerate}