audiolab icon indicating copy to clipboard operation
audiolab copied to clipboard

basic_reader: argument 'first' ignored when 'last' is specified

Open VinodKandasamy opened this issue 11 years ago • 0 comments
trafficstars

File: scikits.audiolab.pysndfile.matapi.py Function: basic_reader(filename, last = None, first = 0) Outer Function: _reader_factory(name, filetype, descr)

When using functions like scikits.audiolab.wavread, the argument first is ignored, when last is specified. wavread(filename, first=0, last=48) returns the first 48 frames (frame 0 through frame 47). wavread(filename, first=48, last=96) returns the first 96 frames. It should return frames 48 through 95, instead.

Code snippet in scikits.audiolab (0.11.0) scikits.audiolab.pysndfile.matapi.basic_reader :

    if last is None:
        nframes = hdl.nframes - first
        data    = hdl.read_frames(nframes)
    else:
        data    = hdl.read_frames(last)

Proposed solution:

    if last is None:
        last = hdl.nframes
    data = hdl.read_frames(last-first) 

VinodKandasamy avatar Nov 24 '14 17:11 VinodKandasamy