1 <!doctype refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
3 <!-- Fill in your name for FIRSTNAME and SURNAME. -->
4 <!ENTITY dhfirstname "<firstname>Matt</firstname>">
5 <!ENTITY dhsurname "<surname>Zimmerman</surname>">
6 <!-- Please adjust the date whenever revising the manpage. -->
7 <!ENTITY dhdate "<date>July 26, 2003</date>">
8 <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
9 allowed: see man(7), man(1). -->
10 <!ENTITY dhsection "<manvolnum>1</manvolnum>">
11 <!ENTITY dhemail "<email>mdz@debian.org</email>">
12 <!ENTITY dhusername "Matt Zimmerman">
13 <!ENTITY dhucpackage "<refentrytitle>FLAC</refentrytitle>">
14 <!ENTITY dhpackage "flac">
16 <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
17 <!ENTITY gnu "<acronym>GNU</acronym>">
30 <year>2002,2003</year>
31 <holder>&dhusername;</holder>
41 <refname>&dhpackage;</refname>
43 <refpurpose>Free Lossless Audio Codec</refpurpose>
47 <command>flac</command>
48 <arg choice=opt><replaceable>options</replaceable></arg>
50 <arg><replaceable>infile.wav</replaceable></arg>
51 <arg><replaceable>infile.aiff</replaceable></arg>
52 <arg><replaceable>infile.raw</replaceable></arg>
57 <command>flac</command>
59 <arg>-d</arg> <arg>--decode</arg>
60 <arg>-t</arg> <arg>--test</arg>
61 <arg>-a</arg> <arg>--analyze</arg>
63 <arg choice=opt><replaceable>OPTIONS</replaceable></arg>
64 <arg choice=opt rep=repeat><replaceable>infile.flac</replaceable></arg>
68 <title>DESCRIPTION</title>
70 <para><command>flac</command> is a command-line tool for
71 encoding, decoding, testing and analyzing FLAC streams.
74 <para>This manual page was originally written for the &debian;
75 distribution because the original program did not have a
80 <title>OPTIONS</title>
82 <para>A summary of options is included below. For a complete
83 description, see the HTML documentation.</para>
86 <title>General Options</title>
90 <term><option>-v</option>, <option>--version</option>
93 <para>Show the flac version number</para>
98 <term><option>-h</option>, <option>--help</option>
101 <para>Show basic usage and a list of all options</para>
106 <term><option>-H</option>, <option>--explain</option>
109 <para>Show detailed explanation of usage and all options</para>
114 <term><option>-d</option>, <option>--decode</option>
117 <para>Decode (the default behavior is to encode)</para>
122 <term><option>-t</option>, <option>--test</option>
125 <para>Test a flac encoded file (same as -d
126 except no decoded file is written)</para>
131 <term><option>-a</option>, <option>--analyze</option>
134 <para>Analyze a flac encoded file (same as -d
135 except an analysis file is written)</para>
140 <term><option>-c</option>, <option>--stdout</option>
143 <para>Write output to stdout</para>
148 <term><option>-s</option>, <option>--silent</option>
151 <para>Silent mode (do not write runtime
152 encode/decode statistics to stderr)</para>
157 <term><option>-o</option> <replaceable>filename</replaceable>, <option>--output-name</option>=<replaceable>filename</replaceable></term>
159 <para>Force the output file name (usually flac just
160 changes the extension). May only be used when
161 encoding a single file. May not be used in
162 conjunction with --output-prefix.</para>
167 <term><option>--output-prefix</option>=<replaceable>string</replaceable></term>
169 <para>Prefix each output file name with the given
170 string. This can be useful for encoding or decoding
171 files to a different directory. Make sure if your
172 string is a path name that it ends with a trailing
178 <term><option>--delete-input-file</option>
181 <para>Automatically delete the input file after a
182 successful encode or decode. If there was an
183 error (including a verify error) the input file
184 is left intact.</para>
189 <term><option>--skip</option>={<replaceable>#</replaceable>|<replaceable>mm:ss.ss</replaceable>}</term>
191 <para>Skip over the first number of samples of the input.
192 This works for both encoding and decoding, but not
193 testing. The alternative form mm:ss.ss can be used
194 to specify minutes, seconds, and fractions of a
200 <term><option>--until</option>={<replaceable>#</replaceable>|[<replaceable>+</replaceable>|<replaceable>-</replaceable>]<replaceable>mm:ss.ss</replaceable>}</term>
202 <para>Stop at the given sample number for each input file.
203 This works for both encoding and decoding, but not testing.
204 The given sample number is not included in the decoded
205 output. The alternative form mm:ss.ss can be used to
206 specify minutes, seconds, and fractions of a second. If a
207 `+' (plus) sign is at the beginning, the --until point is
208 relative to the --skip point. If a `-' (minus) sign is at
209 the beginning, the --until point is relative to end of the
215 <term><option>--ogg</option></term>
218 <para>When encoding, generate Ogg-FLAC output instead
219 of native-FLAC. Ogg-FLAC streams are FLAC streams
220 wrapped in an Ogg transport layer. The resulting
221 file should have an '.ogg' extension and will still
222 be decodable by flac.</para>
223 <para>When decoding, force the input to be treated as
224 Ogg-FLAC. This is useful when piping input from
225 stdin or when the filename does not end in '.ogg'.</para>
230 <term><option>--serial-number</option>=<replaceable>#</replaceable></term>
233 <para>When used with --ogg, specifies the serial
234 number to use for the FLAC stream. When encoding and
235 no serial number is given, flac uses '0'. When
236 decoding and no number is given, flac uses the serial
237 number of the first page.</para>
245 <title>Analysis Options</title>
249 <term><option>--residual-text</option>
252 <para>Includes the residual signal in the analysis
253 file. This will make the file very big, much
254 larger than even the decoded file.</para>
259 <term><option>--residual-gnuplot</option>
262 <para>Generates a gnuplot file for every subframe;
263 each file will contain the residual distribution
264 of the subframe. This will create a lot of
273 <title>Decoding Options</title>
277 <term><option>-F</option>, <option>--decode-through-errors</option>
280 <para>By default flac stops decoding with an error
281 and removes the partially decoded file if it
282 encounters a bitstream error. With -F, errors are
283 still printed but flac will continue decoding to
284 completion. Note that errors may cause the decoded
285 audio to be missing some samples or have silent
294 <title>Encoding Options</title>
298 <term><option>-V</option>, <option>--verify</option></term>
301 <para>Verify a correct encoding by decoding the
302 output in parallel and comparing to the
308 <term><option>--lax</option></term>
311 <para>Allow encoder to generate non-Subset
317 <term><option>--replay-gain</option></term>
320 <para>Calculate ReplayGain values and store in
321 Vorbis comments, similar to vorbisgain. Title
322 gains/peaks will be computed for each input
323 file, and an album gain/peak will be computed
324 for all files. All input files must have the
325 same resolution, sample rate, and number of
326 channels. Only mono and stereo files are
327 allowed, and the sample rate must be one of
328 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48
329 kHz. Also note that this option may leave a
330 few extra bytes in a PADDING block as the exact
331 size of the tags is not known until all files
332 are processed. Note that this option cannot be
333 used when encoding to standard output (stdout).
339 <term><option>--cuesheet</option>=<replaceable>filename</replaceable></term>
342 <para>Import the given cuesheet file and store it in a
343 CUESHEET metadata block. This option may only be used
344 when encoding a single file. A seekpoint will be added
345 for each index point in the cuesheet to the SEEKTABLE
346 unless --no-cued-seekpoints is specified.</para>
351 <term><option>--sector-align</option></term>
354 <para>Align encoding of multiple CD format WAVE
355 files on sector boundaries. See the HTML
356 documentation for more information.</para>
361 <term><option>-S</option> {<replaceable>#</replaceable>|<replaceable>X</replaceable>|<replaceable>#x</replaceable>|<replaceable>#s</replaceable>}, <option>--seekpoint</option>={<replaceable>#</replaceable>|<replaceable>X</replaceable>|<replaceable>#x</replaceable>|<replaceable>#s</replaceable>}</term>
365 Include a point or points in a SEEKTABLE. Using #,
366 a seek point at that sample number is added. Using
367 X, a placeholder point is added at the end of a the
368 table. Using #x, # evenly spaced seek points will
369 be added, the first being at sample 0. Using #s, a
370 seekpoint will be added every # seconds (# does not
371 have to be a whole number; it can be, for example, 9.5,
372 meaning a seekpoint every 9.5 seconds). You may use
373 many -S options; the resulting SEEKTABLE will be the
374 unique-ified union of all such values. With no -S
375 options, flac defaults to '-S 10s'. Use --no-seektable
376 for no SEEKTABLE. Note: '-S #x' and '-S #s' will not
377 work if the encoder can't determine the input size before
378 starting. Note: if you use '-S #' and # is >=
379 samples in the input, there will be either no seek
380 point entered (if the input size is determinable
381 before encoding starts) or a placeholder point (if
382 input size is not determinable).</para>
387 <term><option>-P</option> <replaceable>#</replaceable>, <option>--padding</option>=<replaceable>#</replaceable></term>
390 <para>Tell the encoder to write a PADDING metadata
391 block of the given length (in bytes) after the
392 STREAMINFO block. This is useful if you plan to
393 tag the file later with an APPLICATION block;
394 instead of having to rewrite the entire file later
395 just to insert your block, you can write directly
396 over the PADDING block. Note that the total length
397 of the PADDING block will be 4 bytes longer than
398 the length given because of the 4 metadata block
399 header bytes. You can force no PADDING block at
400 all to be written with --no-padding. The encoder
401 writes a PADDING block of 4096 bytes by default.
407 <term><option>-T</option> <replaceable>FIELD=VALUE</replaceable>, <option>--tag</option>=<replaceable>FIELD=VALUE</replaceable></term>
410 <para>Add a Vorbis comment. The comment must adhere
411 to the Vorbis comment spec; i.e. the FIELD must
412 contain only legal characters, terminated by an
413 'equals' sign. Make sure to quote the comment if
414 necessary. This option may appear more than once
415 to add several comments. NOTE: all tags will be
416 added to all encoded files.</para>
421 <term><option>-b</option> <replaceable>#</replaceable>, <option>--blocksize</option>=<replaceable>#</replaceable></term>
424 <para>Specify the block size in samples. The
425 default is 1152 for -l 0, else 4608; must be one of
426 192, 576, 1152, 2304, 4608, 256, 512, 1024, 2048,
427 4096, 8192, 16384, or 32768 (unless --lax is used)</para>
432 <term><option>-m</option>, <option>--mid-side</option></term>
435 <para>Try mid-side coding for each frame (stereo
441 <term><option>-M</option>, <option>--adaptive-mid-side</option></term>
444 <para>Adaptive mid-side coding for all frames (stereo
450 <term><option>-0</option>..<option>-8</option>, <option>--compression-level-0</option>..<option>--compression-level-8</option></term>
453 <para>Fastest compression..highest compression
454 (default is -5). These are synonyms for other
459 <term><option>-0</option>, <option>--compression-level-0</option></term>
462 <para>Synonymous with -l 0 -b 1152 -r 2,2
468 <term><option>-1</option>, <option>--compression-level-1</option></term>
471 <para>Synonymous with -l 0 -b 1152 -M -r 2,2
477 <term><option>-2</option>, <option>--compression-level-2</option></term>
480 <para>Synonymous with -l 0 -b 1152 -m -r 3
486 <term><option>-3</option>, <option>--compression-level-3</option></term>
489 <para>Synonymous with -l 6 -b 4608 -r 3,3
495 <term><option>-4</option>, <option>--compression-level-4</option></term>
498 <para>Synonymous with -l 8 -b 4608 -M -r 3,3
504 <term><option>-5</option>, <option>--compression-level-5</option></term>
507 <para>Synonymous with -l 8 -b 4608 -m -r 3,3
513 <term><option>-6</option>, <option>--compression-level-6</option></term>
516 <para>Synonymous with -l 8 -b 4608 -m -r 4
522 <term><option>-7</option>, <option>--compression-level-7</option></term>
525 <para>Synonymous with -l 8 -b 4608 -m -e -r 6
531 <term><option>-8</option>, <option>--compression-level-8</option></term>
534 <para>Synonymous with -l 12 -b 4608 -m -e -r 6
545 <term><option>--fast</option></term>
548 <para>Fastest compression. Currently
549 synonymous with -0.</para>
554 <term><option>--best</option></term>
557 <para>Highest compression. Currently
558 synonymous with -8.</para>
563 <term><option>-e</option>, <option>--exhaustive-model-search</option></term>
566 <para>Do exhaustive model search
572 <term><option>-l</option> <replaceable>#</replaceable>, <option>--max-lpc-order</option>=<replaceable>#</replaceable></term>
575 <para>Set the maximum LPC order; 0 means use only the fixed predictors</para>
580 <term><option>-p</option>, <option>--qlp-coeff-precision-search</option></term>
583 <para>Do exhaustive search of LP coefficient
584 quantization (expensive!). Overrides -q;
585 does nothing if using -l 0</para>
590 <term><option>-q</option> <replaceable>#</replaceable>, <option>--qlp-coeff-precision</option>=<replaceable>#</replaceable></term>
593 <para>Precision of the quantized linear-predictor
594 coefficients, 0 => let encoder decide (min is 5,
600 <term><option>-r</option> [<replaceable>#</replaceable>,]<replaceable>#</replaceable>, <option>--rice-partition-order</option>=[<replaceable>#</replaceable>,]<replaceable>#</replaceable></term>
603 <para>Set the [min,]max residual partition order
604 (0..16). min defaults to 0 if unspecified. Default
613 <title>Format Options</title>
617 <term><option>--endian</option>={<replaceable>big</replaceable>|<replaceable>little</replaceable>}</term>
620 <para>Set the byte order for samples</para>
625 <term><option>--channels</option>=<replaceable>#</replaceable></term>
628 <para>Set number of channels.</para>
633 <term><option>--bps</option>=<replaceable>#</replaceable></term>
636 <para>Set bits per sample.</para>
641 <term><option>--sample-rate</option>=<replaceable>#</replaceable></term>
644 <para>Set sample rate (in Hz).</para>
649 <term><option>--sign</option>={<replaceable>signed</replaceable>|<replaceable>unsigned</replaceable>}</term>
652 <para>Set the sign of samples (the default is signed).</para>
657 <term><option>--force-aiff-format</option></term>
660 <para>Force the decoder to output AIFF format. This option
661 is not needed if the output filename (as set by -o) ends
662 with <filename>.aiff</filename>. Also, this option has no
663 effect when encoding since input AIFF is auto-detected.</para>
668 <term><option>--force-raw-format</option></term>
671 <para>Force input (when encoding) or output (when decoding)
672 to be treated as raw samples (even if filename ends
673 in <filename>.wav</filename>).</para>
681 <title>Negative Options</title>
685 <term><option>--no-adaptive-mid-side</option></term>
686 <term><option>--no-decode-through-errors</option></term>
687 <term><option>--no-delete-input-file</option></term>
688 <term><option>--no-exhaustive-model-search</option></term>
689 <term><option>--no-lax</option></term>
690 <term><option>--no-mid-side</option></term>
691 <term><option>--no-ogg</option></term>
692 <term><option>--no-padding</option></term>
693 <term><option>--no-qlp-coeff-precision-search</option></term>
694 <term><option>--no-residual-gnuplot</option></term>
695 <term><option>--no-residual-text</option></term>
696 <term><option>--no-sector-align</option></term>
697 <term><option>--no-seektable</option></term>
698 <term><option>--no-silent</option></term>
699 <term><option>--no-verify</option></term>
701 <para>These flags can be used to invert the sense
702 of the corresponding normal option.</para>
711 <title>SEE ALSO</title>
713 <para>metaflac(1).</para>
715 <para>The programs are documented fully by HTML format
716 documentation, available in
717 <filename>/usr/share/doc/flac/html</filename> on
718 &debian; systems.</para>
721 <title>AUTHOR</title>
723 <para>This manual page was written by &dhusername; &dhemail; for
724 the &debian; system (but may be used by others).</para>
726 <!-- <para>Permission is granted to copy, distribute and/or modify
727 this document under the terms of the <acronym>GNU</acronym> Free
728 Documentation License, Version 1.1 or any later version
729 published by the Free Software Foundation; with no Invariant
730 Sections, no Front-Cover Texts and no Back-Cover Texts. A copy
731 of the license can be found under
732 <filename>/usr/share/common-licenses/FDL</filename>.</para> -->
737 <!-- Keep this comment at the end of the file
742 sgml-minimize-attributes:nil
743 sgml-always-quote-attributes:t
746 sgml-parent-document:nil
747 sgml-default-dtd-file:nil
748 sgml-exposed-tags:nil
749 sgml-local-catalogs:nil
750 sgml-local-ecat-files:nil