FLAC (Free Lossless Audio Codec) is an open source, multiplatform and free command-line program implemented in C and designed from the ground up to act as a lossless audio codec tailored for POSIX operating systems.
FLAC is a very popular and highly acclaimed audio codec among audiophiles who want only the best quality available for their music library. The software acts as both an encode and decoder for .flac files. It’s also the fastest lossless audio codec available for free.
Key features include lossless quality, fast decoding and encoding, hardware support, flexible metadata, seekable, streamable, suitable for archiving, convenient CD archiving, as well as error resistant. It is not lossy and includes no DRM protection.
Getting started with FLAC
Most probably, FLAC can be found on the main software repositories of your Linux distribution, so we strongly suggest to install it from there, using the default package manager application of your distro.Installing FLAC using the gzipped source archive is also possible, just download the latest version from Softoware, save the archive somewhere on your computer, unpack it, open a Linux Terminal app and go to the location of the extracted archive files with the ‘cd’ command (e.g. cd /home/softoware/flac-1.3.1).
Then, you should use the ‘./configure’ command to optimize FLAC for a specific architecture, as well as to enable various hidden options that you might need. Next, run the ‘make’ command to compile the software and the ‘make install’ command as root or the ‘sudo make install’ command as a privileged user to install it system wide.
Under the hood and supported OSes
Looking under the hood of the FLAC project, we can notice that it is written in the C programming language. Supported operating systems include Linux, BSD, Solaris, IRIX, IBM OS/2, BeOS, Mac OS X and Microsoft Windows. Both 32-bit and 64-bit hardware architectures are supported at this time, though we recommend installing it on a 64-bit computer with a multi-core processor.What is new in this release:
- General:
- Improved decoding efficiency of all bit depths but especially so for 24 bits for IA32 architecture (lvqcl and Miroslav Lichvar).
- Faster encoding using SSE and AVX (lvqcl).
- Fixed bartlett, bartlett_hann and triangle functions.
- New apodization functions partial_tukey and punchout_tukey for improved compression (Martijn van Beurden).
- Retuned compression presets to incorporate new apodization functions (Martijn van Beurden).
- Fix -Wcast-align warnings on armhf architecture (Erik de Castro Lopo).
- FLAC format:
- (none)
- Ogg FLAC format:
- (none)
- flac:
- Help output documentation improvements.
- I/O buffering improvements on Windows to reduce disk fragmentation when writing files.
- Only write vorbis-comments if they are non-empty.
- metaflac:
- (none)
- plugins:
- Fix symbol visibility in XMMS plugin.
- build system:
- Many fixes and improvements across all the build systems.
- documentation:
- Document new apodization windows.
- libraries:
- Fix CVE-2014-9028 (heap write overflow) and CVE-2014-8962 (heap read overflow) (Erik de Castro Lopo).
- Interface changes:
- libFLAC:
- (none)
- libFLAC++:
- (none)
What is new in version 1.3.0:
- General:
- Move development to Xiph.org git repository.
- The --sector-align option of flac has been deprecated and may not exist in future versions. shntool provides similar functionality.
- Support for the RF64 and Wave64 formats in flac (see below).
- Better handling of cuesheets with non-CD-DA sample rates.
- The --ignore-chunk-sizes option has been added to the flac command line tool.
- flac:
- Added support for encoding from and decoding to the RF64 format, and a new corresponding option --force-rf64-format. (SF #1762502). --keep-foreign-metadata is also supported.
- Added support for encoding from and decoding to the Sony Wave64 format, and a new corresponding option --force-wave64-format. (SF #1769582). --keep-foreign-metadata is also supported.
- Added new options --preserve-modtime and --no-preserve-modtime to specify whether or not output files should copy the timestamp and permissions from their input files. The default is --preserve-modtime as in previous versions. (SF #1805428).
- Allow MM:SS:FF and MM:SS.SS time formats in non-CD-DA cuesheets. (SF #1947353, SF #2182432)
- The --sector-align option of flac has been deprecated and may not exist in future versions. shntool provides similar functionality. (SF #1805946)
- Improved error message when user attempts to decode a non-FLAC file (SF #2222789).
- Fix bug where flac was disallowing use of --replay-gain when encoding from stdin (SF #1840124).
- Fix bug with fractional seconds on some locales (SF #1815517, SF #1858012).
- Read and write appropriate channel masks for 6.1 and 7.1 surround input WAV files. Documentation was also updated.
- Correct Wave64 GUIDs.
- Support 56kHz to 192kHz gain analysis (patch from Earl Chew)
- Add ability to handle utf8 filenames on Windows (large set of patches from Janne Hyvarinen)
- metaflac:
- Allow MM:SS:FF and MM:SS.SS time formats in non-CD-DA cuesheets. (SF #1947353, SF #2182432)
- plugins:
- Minor updates for XMMS plugin.
- Winamp2 plugin was dropped because Nullsoft has provided native FLAC support since 2006.
- build system:
- Fixes for autotools (including SF #1859664).
- Fixes for MinGW (including SF #2000973, SF #2209829).
- Fixes for gcc (including SF #1834168, SF #2002481).
- Fixes for Sun Studio/Forte (SF #1701960).
- Fixes for windows builds (including SF #1676822, SF #1756624, SF #1809863, SF #1911149).
- Fixes for FreeBSD and OpenBSD.
- Compile with GNU gcc _FORTIFY_SOURCE=2 and stack protection where those features are detected.
- Enable a bunch of GCC compiler warnings and fix code that generates warnings.
- documentation:
- Document --ignore-chunk-sizes and --apply-replaygain-which-is-not-lossless option for flac.
- libraries:
- libFLAC encoder was defaulting to level 0 compression instead of 5 (SF #1816825).
- Fix bug in bitreader handling of read callback returning a short count (SF #2490454).
- Improve decoder's ability to distinguish between a FLAC sync code and an MPEG one (SF #2491433).
- Interface changes:
- libFLAC:
- Added FLAC__format_blocksize_is_subset()
- libFLAC++:
- Add a number of convienience methods.
Comments not found