FLAC(1)                                                                FLAC(1)


       flac - Free Lossless Audio Codec


       flac [ options ] [ infile.wav | infile.aiff | infile.raw | - ... ]

       flac  [  -d  |  --decode | -t | --test | -a | --analyze ] [ OPTIONS ] [
       infile.flac ... ]


       flac is a command-line tool for encoding, decoding, testing and analyz-
       ing FLAC streams.

       This  manual  page was originally written for the Debian GNU/Linux dis-
       tribution because the original program did not have a manual page.


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

       -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

       -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

              Do not print anything of any kind, including warnings or errors.
              The  exit code will be the only way to determine successful com-

       -f, --force
              Force overwriting of output files.  By default, flac warns  that
              the output file already exists and continues to the next file.

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

              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).

              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 over the first number of samples of the input.  This  works
              for  both  encoding and decoding, but not testing.  The alterna-
              tive form mm:ss.ss can be used to specify minutes, seconds,  and
              fractions of a second.

              Stop at the given sample number for each input file.  This works
              for both encoding and decoding, but not testing.  The given sam-
              ple  number is not included in the decoded output.  The alterna-
              tive form mm:ss.ss can be used to specify minutes, seconds,  and
              fractions  of  a  second.  If a ‘+’ (plus) sign is at the begin-
              ning, the --until point is relative to the --skip point.   If  a
              ‘-’ (minus) sign is at the beginning, the --until point is rela-
              tive to end of the audio.

       --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’.

              When used with --ogg, specifies the serial number to use for the
              first Ogg FLAC stream, which is then incremented for each  addi-
              tional  stream.   When  encoding  and no serial number is given,
              flac uses a random number for the first stream, then  increments
              it  for  each additional stream.  When decoding and no number is
              given, flac uses the serial number of the first page.

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

              Generates a gnuplot file for every subframe; each file will con-
              tain  the residual distribution of the subframe.  This will cre-
              ate a lot of files.

              Set the beginning and ending cuepoints to decode.  The  optional
              first  #.#  is  the track and index point at which decoding will
              start; the default is the beginning of the stream.  The optional
              second  #.#  is the track and index point at which decoding will
              end; the default is the end of the stream.  If the cuepoint does
              not  exist,  the  closest one before it (for the start point) or
              after it (for the end point)  will  be  used.   If  those  don’t
              exist,  the  start of the stream (for the start point) or end of
              the stream (for the end point) will be used.  The cuepoints  are
              merely  translated  into  sample numbers then used as --skip and

       -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.

       -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.  The resulting FLAC
              file may not be streamable or might have trouble being played in
              all  players  (especially  hardware devices), so you should only
              use this option in  combination  with  custom  encoding  options
              meant for archival.

              Calculate  ReplayGain values and store in Vorbis comments, simi-
              lar to vorbisgain.  Title gains/peaks will be computed for  each
              input  file,  and  an  album  gain/peak will be computed for all
              files.  All input files must have the  same  resolution,  sample
              rate,  and  number  of channels.  Only mono and stereo files are
              allowed, and the sample rate must be one of 8, 11.025,  12,  16,
              22.05,  24, 32, 44.1, or 48 kHz.  Also note that this option may
              leave a few extra bytes in a PADDING block as the exact size  of
              the  tags is not known until all files are processed.  Note that
              this option cannot be used  when  encoding  to  standard  output

              Import  the given cuesheet file and store it in a CUESHEET meta-
              data block.  This option may only be used when encoding a single
              file.   A  seekpoint  will  be added for each index point in the
              cuesheet to the SEEKTABLE unless --no-cued-seekpoints is  speci-

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

       -S {#|X|#x|#s}, --seekpoint={#|X|#x|#s}
              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.  Using #s, a
              seekpoint will be added every # seconds (# does not have to be a
              whole  number;  it can be, for example, 9.5, meaning a seekpoint
              every 9.5 seconds).  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 10s’.   Use  --no-seek-
              table for no SEEKTABLE.  Note: ’-S #x’ and ’-S #s’ 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 --no-padding.  The encoder writes a  PADDING  block
              of 4096 bytes by default.

              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 sev-
              eral  comments.   NOTE:  all  tags  will be added to all encoded

       -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

       -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!)

       -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 (expen-
              sive!).  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.

              Set the byte order for samples

              Set number of channels.

              Set bits per sample.

              Set sample rate (in Hz).

              Set the sign of samples (the default is signed).

              Specify the size of the raw input in bytes.  If you are encoding
              raw  samples from stdin, you must set this option in order to be
              able to use --skip, --until, --cue-sheet, or other options  that
              need  to  know  the  size  of the input beforehand.  If the size
              given is greater than what is found in  the  input  stream,  the
              encoder  will  complain about an unexpected end-of-file.  If the
              size given is less, samples will be truncated.

              Force the decoder to output AIFF format.   This  option  is  not
              needed  if  the  output filename (as set by -o) ends with .aiff.
              Also, this option has no effect when encoding since  input  AIFF
              is auto-detected.

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















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



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


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

                               02 February 2005                        FLAC(1)

Man(1) output converted with man2html