One of the most popular audio encoding.

Bit Depth support

This supports various bit depth including integers and floats.1

Data TypeSignedBitsMin ValueMax Value
IntegerNo80255
IntegerYes16-32,76832,767
IntegerYes24-8,388,6088,388,607
IntegerYes32-2,147,483,6482,147,483,647
FloatYes32≈ -3.40282 × 10≈ 3.40282 × 10

It’s also written worth noting that there’s a non-standard 24-bit integer type. This is a middle ground between bit depth and memory footprint.

Quantization

Linear PCM (LPCM) is a scheme where amplitudes are quantized linearly.
The intervals can also be quantized non-linearly as a function of amplitudes, in the form of A-Law and mu-Law encodings.

Technically PCM is actually an umbrella term for these encodings. However, most of the time LPCM is what is referred to when people talk about PCM.

References

https://realpython.com/python-wav-files/

Footnotes

  1. Floats typically are overkill unless you need extremely high audio data quality for professional settings.