I read the header file, convert it to hex and comment it here
http://pastebin.com/YBQTieNZ
The comments came from reading
http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html
After reading your replies and the page I understood a little better
about the problem.
From: Erik de Castro Lopo
It doesn't stop writing data, it stops reading. Basically you have
a file which contains > 4Gig of audio data, but the file header
says its only 20 minutes (60001717 frames).
Im curious, why does wave format need to store the chunk size, does it
have any advantages?
Any of W64, RF64 and CAF (all supported by libsndfile)
would be fine.
I would not recommend sun/next au; it main disadvantage is that it
has no way of storing meta data.
In what way does meta data would be useful? Does it keep the
samplerate, and all the technical stuff,
or is it to keep other kinds of information?
As for salvaging this file, give me a day or two and
I'll write a
utility to drag your data out of the file.
Wow, I'm very grateful for you spending your time helping me and
answering my questions. Thank you very much.
Erik
--
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
From: Rick Green
On Mon, 19 Apr 2010, Erik de Castro Lopo wrote:
Any of W64, RF64 and CAF (all supported by
libsndfile) would be fine.
I would not recommend sun/next au; it main disadvantage is that it
has no way of storing meta data.
That's not a bug, it's a feature! (In this case, anyway)
Could you
elaborate in what way does not being able to store meta data
a feature? Is meta data harmful or bring any trouble?
Use a simple utility(dd comes to mind) to strip the header off the .wav
file, and write the rest to .au .
I think that .au also has a very simple header.
Do I need to add a .au header? Can sox add the header automatically?
What is a good way to create it manually?
The thing that confuses me is the endianness of the data.
Wave is little endian, while this page
http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/AU/AU.html
says that AU is big-endian, or is it just the header?
Altough on the bottom of the page it says that the data is stored in
little endian.
So, is it enough to copy the data using dd (minus the header), and add
a header file manually?
Then use another utility (sox?) to read the .au file, which will read the
entire file since it doesn't have any bogus header data to convince it
otherwise, and write out a .w64 file.
I tried splitting the file and reading it using sox and it says it
can't find Sun/NeXT/DEC identifier.
I guess I should add a header myself?
--
Rick Green