FLAC
Josh Coalson began work on FLAC in 2000. He released version 0.9 of the reference implementation on the 31st of March 2001, which froze the bitstream format. Version 1.0 followed on the 20th of July 2001. On the 29th of January 2003, the Xiph.Org Foundation announced the incorporation of FLAC under its banner. The foundation also hosts other free compression formats like Vorbis and Opus. In 2019, developers proposed FLAC as an IETF standard. By December 2024, the format was formally specified and published.
A FLAC file starts with the magic number fLaC. It contains metadata before any audio data begins. Each frame includes a header, a data block, and a CRC16 checksum. A sync word identifies the start of each valid frame. Metadata holds properties such as sample rate and channel count. Album cover art can be embedded within this section. Textual details like track titles use Vorbis comments for storage. The encoded audio is divided into independent frames that do not rely on previous blocks.
The encoder splits input audio into blocks during the first stage. If multiple channels exist, each becomes a separate subblock. Mathematical approximations fit simple polynomials or apply linear predictive coding. A few bytes describe the approximation. Rice coding encodes the difference between the approximation and the original input. This residual often occupies less space than raw pulse-code modulation. For stereo tracks, the system may create side and mid channels to save space. Higher compression levels from 0 to 8 increase ratio but slow down processing speed.
libFLAC serves as the core reference implementation for encoding and decoding operations. libFLAC++ provides an object-oriented wrapper in C++. Command-line tools named flac and metaflac handle file manipulation. The codec compiles on Unix systems including Linux and BSD. Windows, BeOS, and OS/2 also support the build process. FLAC playback appears by default in Windows 10 and Android 3.1. macOS added support with version 10.13 High Sierra. iOS requires hardware support starting at version 11. Some operating systems support regular files while others require Ogg containers.
The National Archives and Records Administration lists FLAC as a preferred format for digital audio preservation. Institutions use this standard because exact duplicates recoverable from lossless copies ensure data integrity. If original media becomes damaged or lost, the archive remains intact. A CUE file allows burning of audio CDs that match the original track order and pregap. This method excludes graphics like CD+G but preserves audio data perfectly. Transcoding to other formats does not introduce quality loss when starting from FLAC.
Development moved to the Xiph.org git repository after version 1.3.0 released on the 26th of May 2013. The standardization process targeted archival use cases specifically. Formal specification occurred in December 2024 through IETF publication. No patents cover the FLAC format or libFLAC library. Anyone may write their own implementations without restriction. Future updates rely on community contributions rather than corporate control. The open nature ensures long-term accessibility for researchers and archivists worldwide.
Up Next
Continue Browsing
Common questions
When did Josh Coalson begin work on FLAC?
Josh Coalson began work on FLAC in 2000. He released version 0.9 of the reference implementation on the 31st of March 2001, which froze the bitstream format.
What is the structure of a FLAC file header and metadata section?
A FLAC file starts with the magic number fLaC and contains metadata before any audio data begins. Each frame includes a header, a data block, and a CRC16 checksum while metadata holds properties such as sample rate and channel count.
How does the FLAC encoder process audio channels and compression levels?
The encoder splits input audio into blocks during the first stage and uses Rice coding to encode the difference between the approximation and the original input. Higher compression levels from 0 to 8 increase ratio but slow down processing speed.
Which operating systems support FLAC playback by default or through updates?
FLAC playback appears by default in Windows 10 and Android 3.1 while macOS added support with version 10.13 High Sierra. iOS requires hardware support starting at version 11 and some operating systems require Ogg containers for regular files.
Why do institutions like the National Archives use FLAC for digital preservation?
The National Archives and Records Administration lists FLAC as a preferred format for digital audio preservation because exact duplicates recoverable from lossless copies ensure data integrity. If original media becomes damaged or lost, the archive remains intact without quality loss from transcoding.