[SciPy-Dev] Suggested Change to io.wavfile
Fri Aug 10 15:02:07 CDT 2012
On Fri, Aug 10, 2012 at 9:51 PM, Matthew Brett <email@example.com>wrote:
> On Thu, Aug 9, 2012 at 8:08 AM, Brian Hone <firstname.lastname@example.org> wrote:
> > Hi folks,
> > I'm running into a wavfile read error which appears to be caused by
> > slight problems in wavfile meta-data. (Specifically, the meta-data
> > mis-reports the number of frames). Unfortunately, 2/3 of the wav files
> > I've randomly sampled have this problem, and most audio packages just
> > deal with it.
> > I notice from a search that a lot of people have this problem with
> > io.wavfile.read:
> > /usr/lib/python2.7/site-packages/scipy/io/wavfile.pyc in read(file)
> > 125 else:
> > 126 fmt = '<i'
> > --> 127 size = struct.unpack(fmt, data)
> > 128 fid.seek(size, 1)
> > 129 fid.close()
> > Here's a fix - just calculate the actual file length and use the minimum
> > or the file length and the meta-data reported length.
> > 113,121c113
> > <
> > < ## Calculate the actual file length in case meta-data is incorrect
> > < current_pos = fid.tell()
> > < fid.seek(0,2)
> > < actual_file_length = fid.tell()
> > < fid.seek( current_pos )
> > < total_length = min( fsize, actual_file_length )
> > <
> > < while (fid.tell() < total_length):
> > ---
> > > while (fid.tell() < fsize):
> Thanks for posting. I see we don't have a nominated maintainer for
> io.wavfile - Ralf - is that right?
Yes, unfortunately. I count 7 open tickets for wavfile, some of which are
quite old. Wavfile is <200 lines of Python code, so fixing most of these
probably won't be very difficult. If there's someone who is interested in
this code and would be willing to put in some time, that would be great.
> Does anyone who uses wav files feel able to comment here?
> Brian - please consider a test and a pull request? Please do email
> again if that's hard to do. Do you think we should omit a warning or
> make this fix optional, perhaps with the fix set as the default
> Thanks again,
> SciPy-Dev mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-Dev