audiolab
audiolab copied to clipboard
basic_reader: argument 'first' ignored when 'last' is specified
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)