I'm using Audacity to export a track, and there are just too many options to encode a .wav export:

  • Signed 16/24/32-bit PCM
  • Unsigned 8-bit PCM
  • 32/64-bit float
  • U-Law, A-Law
  • IMA ADPCM, Microsoft ADPCM
  • GSM 6.10
  • 32kbs G721
  • ADPCM 16/24/32, NMS ADPCM

Which is the best and why? Where can I learn more about these?

I've been exporting in 64-bit float for the past months, and I'm pretty happy with it (the file sizes are huge!). However, some streaming and distributing services (DistroKid, for example) won't take it and instead I used Signed 32-bit PCM.

But this causes a problem: for some reason, exported tracks that wouldn't have distortion with clipping (using 64-bit float), now do and I get a lot of clipping sounds when using Signed 32-bit PCM. The solution I found is to simply lower the volume of the track before exporting. This didn't happen in my previous laptop, so I wonder what is going on and if you have any suggestions to make the most of a .wav export.

By the way, this is the options I have (is there a better format than WAV?):

enter image description here


1 Answer 1


I assume that you export sound in order to import it somewhere else. This process has a lot of details and used to be done in the step called "mastering" in the old recording days. I'm no expert, but I could try to give you some pointers.

Your first choice is whether to compress or not. The best known example of compressed formats is probably MP3. I am not going to talk about this here.

So let us stay with uncompressed "wave" format. There are two choices you need to make here:

  • sample rate
  • bit depth

In video we use 48kHz as sample rate, on CD-s it is 44.1 kHz. Both work equally well as far as normal sound goes. Rarely anything different, and then the receiver of the files probably will tell you.

The effect of bit depth in digital sound only has to do with noise floor, or to be more exact the so called Signal-to-Noise-Ratio (short SNR). It bears to repeat this, it only effects the difference between the strongest signal or sound and the low level hiss. To make it very simple (the math is definitely above me) one bit gives you about 6dB of SNR. CD format has 16 bits, which would give about 96dB of SNR. It is extremely rare for normal people to actually need more for a finished "mastered" result. Basically no sound equipment can playback even close to that.

But we tend to use 24 bit for a bit of extra safety. I tend to record 24bit and aim for -12dB full scale as max and add a bit of gain before export. Works for me.

So from that point of view I would say that it is perfectly good to export 48kHz at 24bits as .wav file. No sound will be lost, no extra noise is added. And most if not all programs can import that format. But here comes the caveat: the format cannot give you anything above 0dB (simplified) in the sound wave. So if the sound ever goes outside of this it will distort. It is similar to if you record from a microphone and sets gain to high. One way to handle that is normalize the sound: just about every sound program has a normalize function. Set it to -1 dB or so in order to be a little on the safe side and export the result.

One alternative is to export as 32 bit float. The float format allows a signal a lot stronger than 0dB, several hundred dB-s. This means that on your export the sound will not be distorted. Not all programs can receive 32 bit float, so you need to check what the receiving end expects.

If you ask me the 64 bit float as export is simply stupid. More than half the file will contain no useful information at all.

There are however more to the art of "mastering". One part is to investigate closer what the receiving end does with the sound file. Often the receiving and applies various types of processing, and if you want your sound to be the best you might want to tailor the export to that. If you export to say Youtube, they will do something like normalizing. They will pull down all of the sound in the file to make the single max volume part below some value (my guess is -12dB). In order to make your listener happy this means that you should not export a sound file with large differences: a classical mistake is when the intro music is very strong followed by extremely weak spoken word. In some other media, say on radio, there is often a compressor applied to the sound. If you have worked with compressors you know that they can behave "strange" at times. One classical mistake is to have very low frequency sounds that triggers the compressor to turn down the volume. Before export I generally apply a low cut to remove anything below good signal, for spoken word often below around 100Hz or so.

  • in my benchmark on a 64bit cpu, pcm_s16le and pcm_s32le are 15% faster than pcm_s24le, because a 64bit cpu has no native support for 24bit numbers. 64 / 24 = 2.666. pcm_s16le and pcm_s32le have equal performance. pcm_s64le breaks my tools. pcm_u8 has poor quality. pcm_alaw is even slower than pcm_s24le. ffmpeg -codecs | grep " pcm" shows many other pcm codecs, but most are "not supported in WAVE format"
    – milahu
    Commented May 18 at 7:05
  • "Practically every modern DAW engine is running audio in 32-bit float these days. Most likely the number one reason is to prevent hardclipping at 0dBFS." ... "32-bit float has a dynamic range of 1528dB" (source)
    – milahu
    Commented May 18 at 8:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.