One of the most popular audio encoding.
Bit Depth support
This supports various bit depth including integers and floats.1
Data Type | Signed | Bits | Min Value | Max Value |
---|---|---|---|---|
Integer | No | 8 | 0 | 255 |
Integer | Yes | 16 | -32,768 | 32,767 |
Integer | Yes | 24 | -8,388,608 | 8,388,607 |
Integer | Yes | 32 | -2,147,483,648 | 2,147,483,647 |
Float | Yes | 32 | ≈ -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
-
Floats typically are overkill unless you need extremely high audio data quality for professional settings. ↩