Sustainability of Digital Formats: Planning for Library of Congress Collections |
|
Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact |
Full name | FLAC (Free Lossless Audio Codec), Version 1.1.2 |
---|---|
Description |
Open source bitstream encoding format designed for lossless compression of LPCM audio data, with many of its default parameters tuned to CD-quality music data. The encoding is described in Notes, below. The format also includes "transport system" elements that provide a file format for the encoded data. The FLAC Web site indicates that in some applications there may be advantages to using Ogg (or Matroska) as a wrapper. Comments welcome. The format's sponsors compare FLAC's level of disclosure, player and hardware support, streamability, and cost with those of other lossless codecs at https://xiph.org/flac/comparison.html. |
Production phase | Generally used for final-state, end-user delivery. |
Relationship to other formats | |
Used by | Ogg_FLAC, Ogg FLAC Audio Format |
Has earlier version | FLAC, Version 1.1.1 (Not documented at this Web site at this time) |
Has later version | FLAC, Version 1.1.3 (November 2005, not documented at this Web site at this time) |
Has later version | FLAC, Version 1.1.4 (February 2007, not documented at this Web site at this time) |
Has later version | FLAC, Version 1.2.0 (Not documented at this Web site at this time) |
Has later version | FLAC, Version 1.3.0 (June 2013, not documented at this Web site at this time) |
Has later version | FLAC, Version 1.3.1 (November 2014, not documented at this Web site at this time) |
LC experience or existing holdings | None. In late 2005, there was preliminary discussion within the Library's Motion Picture, Broadcasting, and Recorded Sound Division concerning the use of FLAC files as on-premises listening copies of preservation-project masters. By 2007, system redesign and increasing bandwidth to the reading (i.e., listening) rooms meant that uncompressed WAVE_LPCM could be provided and the FLAC proposal was set aside. |
---|---|
LC preference | General preference for master or best copies of recorded sound is WAVE_LCPM_BWF or WAVE_LCPM. |
Disclosure | Fully documented. Developed as an open source project; see history section of Notes, below. |
---|---|
Documentation | Published online at https://xiph.org/flac/format.html and https://xiph.org/flac/documentation.html. |
Adoption |
Moderate. Employed by Web sites like Live Music Archive (on this page as a menu item). A number of FLAC-capable devices are listed at the FLAC site. Software tools exist for encoding and decoding, including plug-ins for browser-related online media players like Winamp. These are sometimes included in the application or may be downloaded from https://xiph.org/flac/download.html. Originally introduced in the 8.1 update for Windows 8, Microsoft's Windows 10 built-in media player apps include native support for FLAC. According to cnet, "FLAC files now show up in Explorer as the new Windows 'G' icon and by default will play in the new Groove player." |
Licensing and patents | Documentation and tools are freely distributed under Xiph's variant of the BSD open-source license. |
Transparency | Depends upon algorithms and tools to read; requires sophistication to build tools. |
Self-documentation |
Appears to be limited to technical metadata. From https://xiph.org/flac/format.html: "A FLAC bitstream consists of the 'fLaC' marker at the beginning of the stream, followed by a mandatory metadata block (called the STREAMINFO block), any number of other metadata blocks, then the audio frames. FLAC supports up to 128 kinds of metadata blocks. [The STREAMINFO block] has information about the whole stream, like sample rate, number of channels, total number of samples, etc. It must be present as the first metadata block in the stream. Other metadata blocks may follow, and ones that the decoder doesn't understand, it will skip." Also included in the STREAMINFO block is the MD5 signature of the unencoded audio data. From https://xiph.org/flac/format.html#def_CUESHEET: [The cuesheet] block is for storing various information that can be used in a cue sheet. It supports track and index points, compatible with Red Book CD digital audio discs, as well as other CD-DA metadata such as media catalog number and track ISRCs. The CUESHEET block is especially useful for backing up CD-DA discs, but it can be used as a general purpose cueing mechanism for playback. |
External dependencies | None. |
Technical protection considerations | None. |
Sound | |
---|---|
Normal rendering | Good support. |
Fidelity (high audio resolution) | Potentially excellent. FLAC supports linear PCM samples at rates from 1Hz - 655350Hz and bit depth resolution between 4 and 32 bits per sample. |
Multiple channels | From https://xiph.org/flac/faq.html#general__channels: "FLAC supports from 1 to 8 channels per stream. Channels are only grouped in FLAC to take advantage of interchannel correlation and to define common channel assignments (like stereo L/R, 5.1 surround, et cetera). When encoding a large number of independent channels it is expected that they are coded separately and if required, multiplexed together in a suitable container like Ogg or Matroska." |
Support for user-defined sounds, samples, and patches | Not applicable. |
Functionality beyond normal rendering | One specialist in the field reports two fixity elements in FLAC: first,"the header of a FLAC file contains an MD5 checksum or signature that represents the original audio data that is encoded," and second that "deeper within the FLAC file, audio samples are grouped into audio frames which themselves are checksummed with a crc value." In addition, the specification reports that FLAC is streamable in a computer network if some constraints are applied; see . Later versions (post 1.1.2) include support for images and other content elements. |
Tag | Value | Note |
---|---|---|
Filename extension | flac fla |
flac is preferred; both are documented at The File Extension Source. |
Internet Media Type | audio/flac |
From The File Extension Source. |
Magic numbers | Hex: 66 4C 61 43 00 00 00 22 ASCII: fLaC |
From The File Extension Source. https://xiph.org/flac/format.html#stream states that "the stream begins with fLaC (the FLAC stream marker in ASCII), meaning byte 0 of the stream is 0x66, followed by 0x4C 0x61 0x43." |
General |
Transport system, native file format. (from https://xiph.org/flac/ogg_mapping.html):
Coding. (from https://xiph.org/flac/format.html):
Versions. Information about FLAC versions is provided on the FLAC changelog page. |
---|---|
History |
FLAC appears to have been developed by Josh Coalson; the FLAC Web site carries Coalson's name in copyright notices dated from 2000 forward. The Wikipedia FLAC entry (consulted on September 14, 2007) states that on "January 29th, 2003, Xiphophorus (now called the Xiph.Org Foundation) announced the incorporation of FLAC under their Xiph.Org banner, to go along with Ogg Vorbis, Ogg Theora, and Speex." As of October 2013, documentation had migrated from a sourceforge wiki to xiph.org. In May 2013, the first software update in six years, to version 1.3.0, was published. An offshoot of the European-based PREFORMA project, which aims "to address the challenge of implementing good quality standardised file formats for preserving data content in the long term," Codec Encoding for LossLess Archiving and Realtime transmission (cellar) is an IETF-approved project to standardize FLAC, Matroska, and FFV1. |
|