FLAC(1)

NAME
flac - Free Lossless Audio Codec

SYNOPSIS
flac [ OPTION ] infile ...

DESCRIPTION

This manual page documents briefly the flac command.

This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. Instead, it has documentation in HTML format; see below.

OPTIONS

A summary of options is included below. For a complete description, see the HTML documentation.

  GENERIC OPTIONS

-v, --version
    Show the flac version number

-h, --help
    Show basic usage and a list of all options

-H, --explain
    Show detailed explanation of usage and all options

-d, --decode
    Decode (the default behavior is to encode)

-t, --test
    Test a flac encoded file (same as -d except no decoded file is written)

-a, --analyze
    Analyze a flac encoded file (same as -d except an analysis file is written)

-c, --stdout
    Write output to stdout

-s, --silent
    Silent mode (do not write runtime encode/decode statistics to stderr)

-o filename, --output-name=filename
    Force the output file name (usually flac just changes the extension). May only be used when encoding a single file. May not be used in conjunction with --output-prefix.

--output-prefix=string
    Prefix each output file name with the given string. This can be useful for encoding or decoding files to a different directory. Make sure if your string is a path name that it ends with a trailing `/' (slash).

--delete-input-file
    Automatically delete the input file after a successful encode or decode. If there was an error (including a verify error) the input file is left intact.

--skip=#
    Skip the specified number of samples at the beginning of the input file (can be used for both encoding and decoding)

--ogg
    When encoding, generate Ogg-FLAC output instead of native-FLAC. Ogg-FLAC streams are FLAC streams wrapped in an Ogg transport layer. The resulting file should have an '.ogg' extension and will still be decodable by flac. When decoding, force the input to be treated as Ogg-FLAC. This is useful when piping input from stdin or when the filename does not end in '.ogg'.

--serial-number=#
    When used with --ogg, specifies the serial number to use for the FLAC stream. When encoding and no serial number is given, flac uses '0'. When decoding and no number is given, flac uses the serial number of the first page.

  ANALYSIS OPTIONS

--residual-text
    Includes the residual signal in the analysis file. This will make the file very big, much larger than even the decoded file.

--residual-gnuplot
    Generates a gnuplot file for every subframe; each file will contain the residual distribution of the subframe. This will create a lot of files.

  DECODING OPTIONS

-F, --decode-through-errors
    By default flac stops decoding with an error and removes the partially decoded file if it encounters a bitstream error. With -F, errors are still printed but flac will continue decoding to completion. Note that errors may cause the decoded audio to be missing some samples or have silent sections.

  ENCODING OPTIONS

-V, --verify
    Verify a correct encoding by decoding the output in parallel and comparing to the original

--lax
    Allow encoder to generate non-Subset files.

--sector-align
    Align encoding of multiple CD format WAVE files on sector boundaries. See the HTML documentation for more information.

-S {#|X|#x}, --seekpoint={#|X|#x}
    Include a point or points in a SEEKTABLE. Using #, a seek point at that sample number is added. Using X, a placeholder point is added at the end of a the table. Using #x, # evenly spaced seek points will be added, the first being at sample 0. You may use many -S options; the resulting SEEKTABLE will be the unique-ified union of all such values. With no -S options, flac defaults to '-S 100x'. Use -S- for no SEEKTABLE. Note: '-S #x' will not work if the encoder can't determine the input size before starting. Note: if you use '-S #' and # is >= samples in the input, there will be either no seek point entered (if the input size is determinable before encoding starts) or a placeholder point (if input size is not determinable).

-P #, --padding=#
    Tell the encoder to write a PADDING metadata block of the given length (in bytes) after the STREAMINFO block. This is useful if you plan to tag the file later with an APPLICATION block; instead of having to rewrite the entire file later just to insert your block, you can write directly over the PADDING block. Note that the total length of the PADDING block will be 4 bytes longer than the length given because of the 4 metadata block header bytes. You can force no PADDING block at all to be written with -P-, which is the default.

-T FIELD=VALUE, --tag=FIELD=VALUE
    Add a Vorbis comment. The comment must adhere to the Vorbis comment spec; i.e. the FIELD must contain only legal characters, terminated by an 'equals' sign. Make sure to quote the comment if necessary. This option may appear more than once to add several comments. NOTE: all tags will be added to all encoded files.

-b #, --blocksize=#
    Specify the block size in samples. The default is 1152 for -l 0, else 4608; must be one of 192, 576, 1152, 2304, 4608, 256, 512, 1024, 2048, 4096, 8192, 16384, or 32768 (unless --lax is used)

-m, --mid-side
    Try mid-side coding for each frame (stereo input only)

-M, --adaptive-mid-side
    Adaptive mid-side coding for all frames (stereo input only)

-0..-8, --compression-level-0..--compression-level-8
    Fastest compression..highest compression (default is -5). These are synonyms for other options:

    -0, --compression-level-0
        Synonymous with -l 0 -b 1152 -r 2,2

    -1, --compression-level-1
        Synonymous with -l 0 -b 1152 -M -r 2,2

    -2, --compression-level-2
        Synonymous with -l 0 -b 1152 -m -r 3

    -3, --compression-level-3
        Synonymous with -l 6 -b 4608 -r 3,3

    -4, --compression-level-4
        Synonymous with -l 8 -b 4608 -M -r 3,3

    -5, --compression-level-5
        Synonymous with -l 8 -b 4608 -m -r 3,3

    -6, --compression-level-6
        Synonymous with -l 8 -b 4608 -m -r 4

    -7, --compression-level-7
        Synonymous with -l 8 -b 4608 -m -e -r 6

    -8, --compression-level-8
        Synonymous with -l 12 -b 4608 -m -e -r 6

--fast
    Fastest compression. Currently synonymous with -0.

--best
    Highest compression. Currently synonymous with -8.

-e, --exhaustive-model-search
    Do exhaustive model search (expensive!)

-E, --escape-coding
    Do escape coding in the entropy coder. This causes the encoder to use an unencoded representation of the residual in a partition if it is smaller. It increases the runtime and usually results in an improvement of less than 1%.

-l #, --max-lpc-order=#
    Set the maximum LPC order; 0 means use only the fixed predictors

-p, --qlp-coeff-precision-search
    Do exhaustive search of LP coefficient quantization (expensive!). Overrides -q; does nothing if using -l 0

-q #, --qlp-coeff-precision=#
    Precision of the quantized linear-predictor coefficients, 0 => let encoder decide (min is 5, default is 0)

-r [#,]#, --rice-partition-order=[#,]#
    Set the [min,]max residual partition order (0..16). min defaults to 0 if unspecified. Default is -r 3,3.

  FORMAT OPTIONS

--endian={big|little}
    Set the byte order for samples

--channels=#
    Set number of channels.

--bps=#
    Set bits per sample.

--sample-rate=#
    Set sample rate (in Hz).

--sign={signed|unsigned}
    Set the sign of samples (the default is signed).

--force-raw-format
    Force input (when encoding) or output (when decoding) to be treated as raw samples (even if filename ends in .wav).

  NEGATIVE OPTIONS

--no-adaptive-mid-side

--no-decode-through-errors

--no-delete-input-file

--no-escape-coding

--no-exhaustive-model-search

--no-lax

--no-mid-side

--no-ogg

--no-padding

--no-qlp-coeff-precision-search

--no-residual-gnuplot

--no-residual-text

--no-sector-align

--no-seektable

--no-silent

--no-verify
    These flags can be used to invert the sense of the corresponding normal option.

SEE ALSO

The programs are documented fully by HTML format documentation, available in /usr/share/doc/flac/html on Debian GNU/Linux systems.

AUTHOR

This manual page was written by Matt Zimmerman <mdz@debian.org> for the Debian GNU/Linux system (but may be used by others).