[Flac-dev] Re: FLAC: same features as WavPack

Brian Willoughby brianw at sounds.wa.com
Thu Mar 29 12:07:25 PDT 2007


Hi Henry,

32-bit float has exactly the same precision as 24-bit int.  I'm not  
sure what the reference encoder does, but it would be possible to  
write an encoder based on the FLAC library which converts 32-bit  
float to 24-bit int when creating a FLAC-compressed file.  You could  
also do the 32-bit float-to-24-bit int conversion with another tool  
before using the standard flac encoder.  There would be no loss of  
data so long as the original audio does not exceed +-1.0 in floating  
point, in which case you'd need some way to handle clipping.  32-bit  
float really only has an advantage for intermediate stages of audio  
processing where it might not be a good thing to require clipping or  
peak limiting until a later stage.

32-bit int has more precision than 32-float, albeit less dynamic  
range.  However, there are no 32-bit A/D converters out there, and we  
really only need about 18.5 bits in any listening environment, so 32- 
bit integer is not very useful.  It shouldn't be difficult to write  
an encoder/decoder which supports 32-bit integer.  There is at least  
one independent FLAC implementation, but I have no idea whether it is  
open-source or supports 32-bit.

As it stands, FLAC is perfectly suited for compression and archival  
of all original recordings and all final masters of audio material.   
Only engineers and experimental researchers would need 32-bit for  
their intermediate storage, and I believe it is typical to not  
compress intermediate storage anyway.  In other words, there's no  
real point for this support in FLAC, which is why it isn't there.

Do you have a specific need?  ... other than to see the support  
listed as a bullet item on the feature list?

Brian Willoughby
Sound Consulting


On Mar 29, 2007, at 10:24, Harry Sack wrote:

Hi,

I have read this on a forum:

'FLAC supports 24-bit audio fine. My understanding is that the FLAC  
format also handles 32-bit ints, but the reference encoder does not  
implement it, and FLAC has no support for float data. WavPack handles  
all integer bitdepths up to 32-bit and also 32-bit floats.

Both codecs handle all sampling rates.'

I was wondering if there are plans to support 32-bit ints and float  
data in the future, like WavPack does.

thanks in advance



More information about the Flac-dev mailing list