Jump to content

FLAC: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
YurikBot (talk | contribs)
m robot Modifying: hu
Line 75: Line 75:
** [[Windows Media Player]] and [[Media Player Classic]] with [[third-party]] [http://www.illiminable.com/ogg/ plugin]
** [[Windows Media Player]] and [[Media Player Classic]] with [[third-party]] [http://www.illiminable.com/ogg/ plugin]
** [[Winamp]] with [http://www.winamp.com/plugins/browse.php?search=yes&filter=C&query=flac plugin]
** [[Winamp]] with [http://www.winamp.com/plugins/browse.php?search=yes&filter=C&query=flac plugin]
** [[Foobar2000]] decoder included with normal install or above
* Linux
* Linux
** [[Mplayer]]
** [[Mplayer]]

Revision as of 05:20, 12 March 2006

File:FLAC.png
The Free Lossless Audio Codec (FLAC) Logo.

FLAC stands for Free Lossless Audio Codec. FLAC is a popular free audio compression codec that is lossless. Unlike lossy codecs such as Vorbis, MP3 and AAC, it does not remove any information from the audio stream and is suitable both for everyday playback and for archiving audio collections. The FLAC format is currently well supported by many software audio products.

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.

The project

The FLAC project consists of:

  • the stream format
  • a simple container format for the stream, also called FLAC (or Native FLAC)
  • libFLAC, a library of reference encoders and decoders, and a metadata interface
  • libFLAC++, an object wrapper around libFLAC
  • flac, a command-line wrapper around libFLAC to encode and decode .flac files
  • metaflac, a command-line metadata editor for .flac files
  • input plugins for various music players (Winamp, XMMS, foobar2000, musikCube, and many more)
  • With Xiph.org incorporation, the Ogg container format, suitable for streaming (also called Ogg FLAC)

"Free" means that the specification of the stream format can be implemented by anyone without prior permission (xiph.org reserves the right to set the FLAC specification and certify compliance), and that neither the FLAC format nor any of the implemented encoding/decoding methods are covered by any patent. It also means that the reference implementation is free software: the sources for libFLAC and libFLAC++ are available under Xiph.org's BSD license and the sources for flac, metaflac, and the plugins are available under the GPL.

In its stated goals, the FLAC project encourages its developers not to implement copy prevention features of any kind.[1]

Comparisons

FLAC is distinguished from general lossless algorithms, such as ZIP and gzip, in that it is specifically designed for the efficient packing of audio data: while ZIP may compress a CD-quality audio file by ten to twenty percent, FLAC achieves compression rates of thirty to fifty percent.

While lossy codecs can achieve ratios of eighty percent or more, they do this by discarding data from the original stream. FLAC uses linear prediction to convert the audio samples to a series of small, uncorrelated numbers (known as the residual), which are stored efficiently using Golomb-Rice coding. It also uses run-length encoding for blocks of identical samples, such as silent passages. The technical strengths of FLAC compared to other lossless codecs lie in its ability to be streamed and in a fast decode time, which is independent of compression level.

FLAC has become the preferred lossless format for trading live music online. Monkey's Audio and Shorten are frequently used as well, although FLAC files are smaller than Shorten files.

FLAC is also a popular archive format for owners of CDs and other media who wish to preserve their valuable audio collections. If the original media is lost, damaged, or worn out, a FLAC copy of the audio tracks ensures that an exact duplicate of the original data can be recovered at any time, a restoration impossible from a lossy archive (e.g., MP3) of the same data. The optional creation of a CUE file makes the CD perfectly identical to the original CD.

The Hydrogenaudio Wiki features a very thorough comparison of lossless codecs, including FLAC.

Technical

FLAC supports only fixed-point samples, not floating-point. This is to eliminate any rounding errors to ensure bit-perfect reproduction. It can handle any PCM bit resolution from 4 to 32 bits per sample. It supports any sampling rate from 1 Hz to 1,048,570 Hz in 1 Hz increments.

The reference implementation of FLAC compiles on many platforms: most Unix and Unix-like (including Linux, *BSD, Solaris, and Mac OS X), Windows, BeOS, and OS/2 operating systems. There are build systems for autoconf/automake, MSVC, Watcom C, and Project Builder.

Software support

Hardware support