Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: The 2GB Wav-limit!? (Read 63346 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

The 2GB Wav-limit!?

Reply #25
Quote
Anyway, none of these changes would be compatible with existing apps 
Then, instead of redefining two data structures in an incompatible way, why not use mka ?


See ? All these great experts here discussing about the limitations of a format that has been 'invented' when the biggest HDDs were still 120 MB, and none of them even considers to give you an answer to this very valid question  .....

Christian
matroska project admin
http://www.matroska.org

The 2GB Wav-limit!?

Reply #26
Quote
Quote
Anyway, none of these changes would be compatible with existing apps 
Then, instead of redefining two data structures in an incompatible way, why not use mka ?


See ? All these great experts here discussing about the limitations of a format that has been 'invented' when the biggest HDDs were still 120 MB, and none of them even considers to give you an answer to this very valid question  .....

Christian
matroska project admin
http://www.matroska.org[a href="index.php?act=findpost&pid=283675"][{POST_SNAPBACK}][/a]
I am uncertain that I understand the  relevance of your reply and how it contributory to the thread or what you are implying?
Quote
[...]
I guess there is no way, since it is a limitation of the format. You could use raw PCM and wrap it into a Matroska container (if supported).
[...][a href="index.php?act=findpost&pid=283017"][{POST_SNAPBACK}][/a]
However, would you please instead respond with an authoritative answer?

Thanks, tec

The 2GB Wav-limit!?

Reply #27
Quote
Quote
Anyway, none of these changes would be compatible with existing apps 
Then, instead of redefining two data structures in an incompatible way, why not use mka ?


See ? All these great experts here discussing about the limitations of a format that has been 'invented' when the biggest HDDs were still 120 MB, and none of them even considers to give you an answer to this very valid question  .....

Christian
matroska project admin
http://www.matroska.org
[a href="index.php?act=findpost&pid=283675"][{POST_SNAPBACK}][/a]

I answered this question - thought I was getting boring; wav headers could ~surely be redefined to break 4gig barrier without breaking backward compatability. Cliveb's rhetorical solution might be clearer and superior to my own suggestions.

I was not aware of the matroska project as maybe I should be, and it looks good -extensible, I hope it catches on.  Old .wav only reading programs wont be able to open matroska files though will they?
no conscience > no custom

The 2GB Wav-limit!?

Reply #28
Quote
Old .wav only reading programs wont be able to open matroska files though will they?
[a href="index.php?act=findpost&pid=283713"][{POST_SNAPBACK}][/a]


Nope, and, at least for me, that's the point of sticking to WAV standard.

The 2GB Wav-limit!?

Reply #29
Quote
See ? All these great experts here discussing about the limitations of a format that has been 'invented' when the biggest HDDs were still 120 MB, and none of them even considers to give you an answer to this very valid question  ..... Christian
I am uncertain that I understand the  relevance of your reply and how it contributory to the thread or what you are implying?


What i wanted to say is, if all the energy that was invested into discussing the limitations of an old, outdated format, and to make it even worse, even more energy to find hacks around them, would be invested into adapting new, better standards like matroska into various important apps like Cooledit, EAC and others, we all move forward a lot faster  .....

Quote
I was not aware of the matroska project as maybe I should be, and it looks good -extensible, I hope it catches on.  Old .wav only reading programs wont be able to open matroska files though will they?


matroska will only 'catch on' if people actually start using it, coders start implementing it. Waiting for others until it finally will become a standard one day, can lead to nowhere ....

Quote
Nope, and, at least for me, that's the point of sticking to WAV standard.


If all people would think like that, we'd all still be using MP3  .....

Christian
matroska project admin
http://www.matroska.org

The 2GB Wav-limit!?

Reply #30
Quote
matroska will only 'catch on' if people actually start using it, coders start implementing it. Waiting for others until it finally will become a standard one day, can lead to nowhere ....

Difficulty is its not backwards compatible with wav, so it will have to be implemented in parallel for quite some years before simplifying things.
A basic Wav compatible format for PCM doesnt have to be very complex to read or write or do beyond 4G so why should the next suggested format discourage refinement of an existing one?
no conscience > no custom

The 2GB Wav-limit!?

Reply #31
Quote
If all people would think like that, we'd all still be using MP3  .....
[a href="index.php?act=findpost&pid=284647"][{POST_SNAPBACK}][/a]


Most people are still using MP3. Me included.

The 2GB Wav-limit!?

Reply #32
Quote
Quote
If all people would think like that, we'd all still be using MP3  .....

Most people are still using MP3. Me included.


.... call me a radical revoluzzer then, i dont  .....

The 2GB Wav-limit!?

Reply #33
There have been a number of posts about the 2GB size limit for wav files.  I recently was using an automatic sound recorder to record hours of bird song on my laptop. I meant to select mono but accidentally selected stereo resulting in a 2.57 GB wav file that will not play (or open in a sound editor such as Sound Forge).

Is there a way to salvage this information by going in and grabbing samples?

The 2GB Wav-limit!?

Reply #34
use it as raw audio

you may need to know bits/samplerate/etc.


later

The 2GB Wav-limit!?

Reply #35
Quote
use it as raw audio

you may need to know bits/samplerate/etc.

I ended up searching a dozen or so websites for a file splitting
utility as promising as this-hjsplit its a 200kB peach

E: oops added link
no conscience > no custom

The 2GB Wav-limit!?

Reply #36
Quote
I ended up searching a dozen or so websites for a file splitting
utility as promising as this-hjsplit its a 200kB
[{POST_SNAPBACK}][/a]


Ah yes, HJSplit. "Very nice looking freeware file splitter" - what a blatant lie. It's ugly, with a horrific usability.

Maybe try this: [a href="http://www.acc.umu.se/~max/maxsplitter/index_free.html]http://www.acc.umu.se/~max/maxsplitter/index_free.html[/url]

The 2GB Wav-limit!?

Reply #37
Quote
Maybe try this: http://www.acc.umu.se/~max/maxsplitter/index_free.html
[a href="index.php?act=findpost&pid=293671"][{POST_SNAPBACK}][/a]


Yeah well, hjsplit is GPL, 200k and explicitly supports filesizes up to 10 gigabytes.
The link rankings for 'file ~splitting' are riddled with dozens of trialwares and old <4gig utilities designed for floppies.
Maxsplitter doesnt deem to mention its max size, and the download is for a 'free edition'
We can take it from your recommendation then that the missing functionality doesnt include very large file handling then? -not being able to tell from anywhere on the website - its just another candidate to try and then (in most cases) delete.
no conscience > no custom


The 2GB Wav-limit!?

Reply #39
oooh, that's lookin' manual, baby...

100th suggestion: shntool


later

The 2GB Wav-limit!?

Reply #40
Quote
oooh, that's lookin' manual, baby...

100th suggestion: shntool


later
[a href="index.php?act=findpost&pid=293707"][{POST_SNAPBACK}][/a]


Hi,

I'm having the same problem here, I just recorded a live mix, 3.29 Gb with N-Track.
I didn't know about the 2 Gb WAV file limit, but I should have.
I got an "error exiting data chunk", something like that, as well as an error involving the 'fmt' chunk.
The data is there though.

I've tried your different solutions but none has worked so far. HJSplit does split my file into smaller ones, but the header must still be corrupted.

I've tried shntool as well, but no luck :

I:\>shntool strip mix.wav
warning: no output format specified - defaulting to wav

shntool [strip]: error: skipping file 'mix.wav' because its header is inconsiste
nt

I'm willing to use dd now, but what should the syntax be exactly? I can't find any useful info online so far.

Thank you very much for your help, it will be greatly appreciated!

The 2GB Wav-limit!?

Reply #41
Quote
I'm willing to use dd now, but what should the syntax be exactly? I can't find any useful info online so far.

You could use Sox now, to convert the split files into separate wavs again.
Command something like:

sox -r 44100 -s -w -c 1 filename.raw filename.wav

-r samplerate
-s signed integer samples
-w 16bit samples
-c channels

hth
no conscience > no custom

The 2GB Wav-limit!?

Reply #42
To use GNU dd to skip the header, you need to know the size of the header.

First save a normal short file with the same characteristics. Take note of its size, sampling rate, bitdepth, number of samples, and number of channels.

raw size (bits) == sampling rate x bitdepth x number of samples x number of channels
raw size (bytes) == raw size (bits) / 8
size == header size + raw size (bytes)
header size == size - raw size (bytes)

Let's say header size is 54 bytes.

dd if=big.wav of=stripped.pcm ibs=54 skip=1

This will give you a stripped PCM file, and if it's less than 4GB in size, you should have no trouble loading it as raw PCM in a capable audio editor.

----

If you want to split any file, you can use GNU split. Let's say you want to split a stripped PCM file into several 2GB stripped-PCM files.

split -b 2048m stripped.pcm 'splitpcm.'

This will give you files from splitpcm.aa to splitpcm.zz.

---

Where to get GNU coreutils: google for MinGW, GnuWin32, or Cygwin.

The manual for dd and split: http://www.gnu.org/software/coreutils/manual/coreutils.html

The 2GB Wav-limit!?

Reply #43
If pipes are fully supported, without the use of temporary files, you can combine the two processes above.

dd if=big.wav ibs=54 skip=1 | split -b 2048m - 'strippedpcm.'

The 2GB Wav-limit!?

Reply #44
Quote
If pipes are fully supported, without the use of temporary files, you can combine the two processes above.

dd if=big.wav ibs=54 skip=1 | split -b 2048m - 'strippedpcm.'
[a href="index.php?act=findpost&pid=296029"][{POST_SNAPBACK}][/a]


Thank you very much for your help!

I managed to fix it in a different manner in the end :
I noticed than by splitting my file into smaller ones (using HJsplit and that other one), and by renaming the second file say, from .wav.002 into .raw, I managed to load it into Cool Edit as RAW file (16 bits, 44 khz).
I tried with smaller sizes, as I thought the first one would have been corrupted.
It figured out that I could simply rename the whole 3.29 Gb corrupted wave file into .raw and thus load it into RAW file in the audio editor.
From there I was able to save the file back into proper .wav and .mp3.
Now everything is fine

Thanks for all these shell commands though, this may come in handy one of these days, it's no lost knowledge, I'll write it down!


The 2GB Wav-limit!?

Reply #46
cool - Its a backwards compatible format extension that escapes the old wave format at size = 0xffffffff and puts the extended details in a "junk chunk"
Proposed about a month before this thread started.

Nice find Spoon'
no conscience > no custom

The 2GB Wav-limit!?

Reply #47
OoOoOoO just like BigTIFF
FLAC – all your bit are belong to you

The 2GB Wav-limit!?

Reply #48
>Its a backwards compatible

Perhaps not for the poorly written programs (ones that expect a 'fmt ' at a certain location, instead of walking the chunks...). Other than that, I like it, and will be implementing it.

The 2GB Wav-limit!?

Reply #49
It breaks my own little wavreader class, but thats not really difficult
Code: [Select]
  if (fmt!=0x666D7420)
 { System.out.println("  fmt sig not encountered - Failure Likely...");
   System.out.println("  fmtsig val="+fmt+"\n");}
no conscience > no custom