[Flac-dev] floating point

Paul Davis paul at linuxaudiosystems.com
Fri Aug 14 14:24:30 PDT 2009


On Fri, Aug 14, 2009 at 5:05 PM, Josh Coalson<xflac at yahoo.com> wrote:
> it's unlikely flac will ever support floating-point samples natively.  the main application for it is audio engineering, which demands easy editing and very high speed for both encoding and decoding above everything else.

thats not why floating point is used.

the highest current feasible bit resolution for digital audio samples
is 24 bits. most converters don't even fully provide that. 32 bit
floating bit allows bit-for-bit storage of all 24 bits of the original
sample as the mantissa, along with more bits available in the
exponent. this provides astronomical "headroom" for use when summing
multiple samples. if you only use 24 bits and add two values very
close to the maximum 24 bit value, you will overflow. even if you use
32 bits, its not imposible to construct workflow scenarios where you
would overflow. if you do this in float format, you lose a little
precision in the answer, but you cannot overflow.

this is why floating point is used.

> flac is designed as a consumer audio format.  it trades ease of editing for a featureful, robust transport layer more suited for playback, and encoding speed for more compression and faster decompression.

flac seems more popular at present among high end audiophiles than
mere consumers. its very regrettable that it doesn't support floating
point natively. many of our users (http://ardour.org/) have asked
about using FLAC as an option for recording format, but we have to
explain that its not viable because of the lack of floating point
support. and yes, that is audio engineering :)

--p


More information about the Flac-dev mailing list