Ignore:
Timestamp:
Nov 5, 2018, 3:43:02 PM (5 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/timestretch, fix/ffmpeg5, master
Children:
893e699
Parents:
a9e3bd0 (diff), bc1ed63 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into feature/pytest

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/lib/aubio/slicing.py

    ra9e3bd0 r568fc60  
    55
    66_max_timestamp = 1e120
     7
    78
    89def slice_source_at_stamps(source_file, timestamps, timestamps_end=None,
     
    7374    """
    7475
    75     if timestamps is None or len(timestamps) == 0:
     76    if not timestamps:
    7677        raise ValueError("no timestamps given")
    7778
     
    9091
    9192    regions = list(zip(timestamps, timestamps_end))
    92     #print regions
    9393
    9494    source_base_name, _ = os.path.splitext(os.path.basename(source_file))
     
    9898        source_base_name = os.path.join(output_dir, source_base_name)
    9999
    100     def new_sink_name(source_base_name, timestamp, samplerate):
    101         """ create a sink based on a timestamp in samples, converted in seconds """
     100    def _new_sink_name(source_base_name, timestamp, samplerate):
     101        # create name based on a timestamp in samples, converted in seconds
    102102        timestamp_seconds = timestamp / float(samplerate)
    103103        return source_base_name + "_%011.6f" % timestamp_seconds + '.wav'
     
    114114        vec, read = _source.do_multi()
    115115        # if the total number of frames read will exceed the next region start
    116         while len(regions) and total_frames + read >= regions[0][0]:
    117             #print "getting", regions[0], "at", total_frames
     116        while regions and total_frames + read >= regions[0][0]:
    118117            # get next region
    119118            start_stamp, end_stamp = regions.pop(0)
    120119            # create a name for the sink
    121             new_sink_path = new_sink_name(source_base_name, start_stamp, samplerate)
     120            new_sink_path = _new_sink_name(source_base_name, start_stamp,
     121                                           samplerate)
    122122            # create its sink
    123123            _sink = sink(new_sink_path, samplerate, _source.channels)
    124124            # create a dictionary containing all this
    125             new_slice = {'start_stamp': start_stamp, 'end_stamp': end_stamp, 'sink': _sink}
     125            new_slice = {'start_stamp': start_stamp, 'end_stamp': end_stamp,
     126                         'sink': _sink}
    126127            # append the dictionary to the current list of slices
    127128            slices.append(new_slice)
     
    135136            # number of samples yet to written be until end of region
    136137            remaining = end_stamp - total_frames + 1
    137             #print current_slice, remaining, start
    138138            # not enough frames remaining, time to split
    139139            if remaining < read:
     
    141141                    # write remaining samples from current region
    142142                    _sink.do_multi(vec[:, start:remaining], remaining - start)
    143                     #print("closing region", "remaining", remaining)
    144143                    # close this file
    145144                    _sink.close()
     
    150149        # remove old slices
    151150        slices = list(filter(lambda s: s['end_stamp'] > total_frames,
    152             slices))
     151                             slices))
    153152        if read < hopsize:
    154153            break
Note: See TracChangeset for help on using the changeset viewer.