Export in batch .wav 32 bits PCM


First of all. I am user of windows 7, I use Audacity 2.0.5 which I downloaded in its zip version.

I have more than 5000 .ogg files that I would like to export into 32 bit PCM .wav in batch mode. However, there is no command for this in the chain mode settings. Any solutions?

Thanks in advance!

Sorry, an export command in Chains for “Other uncompressed files” is a feature request. I can add your “vote”.

However the source (OGG) is lossy, and bit depth is not meaningful for lossy formats. Even if you encoded the OGG’s from 24-bit input, that doesn’t make them 24-bit in my understanding.

So, 32-bit WAV will double the file size for no audible benefit over the existing 16-bit ExportWAV Chain command.

You can never make a file better than it is, only make it no worse (by choosing a lossless format).

Don’t feed Audacity more than about 1000 files at a time. The file names list will overflow otherwise.


Try [u]TAudioConverter[/u].

I’ve converted multiple files at once, but I haven’t tried thousands of files and I haven’t tried that exact conversion. And, I’m not sure if the 32-bit WAV format is integer or floating-point (and as far as I can tell it doesn’t give you an option).

32 bit WAV can be either integer or floating point.

The conversion to either 32 bit float or 32 bit floating point WAV can be done with SoX (http://sox.sourceforge.net/), but that is a command line program so it would require a little bit of scripting to handle batch conversion.

Any particular reason why “32 bit” PCM .WAV and not 16 bit?

With TAudioConverter I don’t think you can choose.

If it happens be what he wants, it’s just “drag & drop”.

Thank you very much for your answers.

I am actually doing an environmental acoustics project in which I have to compare certain .ogg files. However, the own software of the company I am working in doesn’t accept neither .ogg files nor floating point .wav as input. For that reason I need to convert those .ogg files into .wav PCM and I need them to be exactly the same as the original .ogg files. As the dynamic range of the files is very high not even with 24 bits PCM I can get the exact similitude.

I have tried with a few files and with 32 bit PCM I get the desired files. The problem is that I need to batch processed a huge amount of data. I think I would try with SoX.

Ogg format cannot be converted directly to 32 bit float format. SoX (or any other transcoder) can only decode to 8 or 16 bit, then convert that to 32 bit float.
In the case of SoX this can be achieved with one command:

sox infile.ogg -e floating-point outfile.raw

The reference implementation for decoding Ogg format is oggdec. The manual is here: http://linux.die.net/man/1/oggdec

The SoX manual is here: http://sox.sourceforge.net/sox.html

Converting from Ogg to 16 bit WAV (assuming that it is done correctly) will produce identical audio data to converting from Ogg to 32 bit float PCM (I’ve just tested that to confirm, and the result was a difference of 1/infinity = 0.00000000000000…)

Can OGG contain samples below -96 dB? If I export a 24-bit recording that has samples below -96 dB, they are not represented in the exported OGG, any more than they are in a 16-bit WAV file.

If there are no samples below -96 dB, what is the advantage of 32-bit PCM over 16-bit PCM?


I should probably rephrase that. Lossy audio files are better described as a stream of calculations rather than containing samples, so the question would be if OGG can contain audio below -96 dB.

The answer seems to be “no”. The OGG encoder “calculations” can’t retain more dynamic range than that, hence decoding OGG is not done to greater than 16-bit.