4
4
<!ENTITY dhfirstname "<firstname>Matt</firstname>">
5
5
<!ENTITY dhsurname "<surname>Zimmerman</surname>">
6
6
<!-- Please adjust the date whenever revising the manpage. -->
7
<!ENTITY dhdate "<date>November 15, 2001</date>">
7
<!ENTITY dhdate "<date>July 26, 2003</date>">
8
8
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
9
9
allowed: see man(7), man(1). -->
10
10
<!ENTITY dhsection "<manvolnum>1</manvolnum>">
47
47
<command>flac</command>
49
<arg><option><replaceable>OPTION</replaceable></option></arg>
50
<arg choice=plain><replaceable>infile</replaceable></arg>
51
<arg choice=plain><replaceable>...</replaceable></arg>
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>
55
68
<title>DESCRIPTION</title>
57
<para>This manual page documents briefly the
58
<command>flac</command> command.</para>
70
<para><command>flac</command> is a command-line tool for
71
encoding, decoding, testing and analyzing FLAC streams.
60
<para>This manual page was written for the &debian;
61
distribution because the original program does not have a
62
manual page. Instead, it has documentation in HTML
63
format; see below.</para>
74
<para>This manual page was originally written for the &debian;
75
distribution because the original program did not have a
70
83
description, see the HTML documentation.</para>
73
<title>Generic Options</title>
86
<title>General Options</title>
77
<term><option>-H</option>
80
<para>Show detailed help screen</para>
85
<term><option>-d</option>
88
<para>Decode (default behavior is encode)</para>
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>
93
<term><option>-c</option>
140
<term><option>-c</option>, <option>--stdout</option>
96
<para>Encode from standard input, or decode to
97
standard output</para>
143
<para>Write output to stdout</para>
102
<term><option>-t</option>
105
<para>Test a flac encoded file (same as -d
106
except no decoded file is written)</para>
111
<term><option>-a</option>
114
<para>Analyze a flac encoded file (same as -d
115
except an analysis file is written)</para>
120
<term><option>-s</option>
148
<term><option>-s</option>, <option>--silent</option>
123
151
<para>Silent mode (do not write runtime
124
encode/decode statistics to stdout)</para>
152
encode/decode statistics to stderr)</para>
129
<term><option>-o</option> <replaceable>filename</replaceable></term>
157
<term><option>-o</option> <replaceable>filename</replaceable>, <option>--output-name</option>=<replaceable>filename</replaceable></term>
131
159
<para>Force the output file name (usually flac just
132
160
changes the extension). May only be used when
139
<term><option>--output-prefix</option> <replaceable>string</replaceable></term>
167
<term><option>--output-prefix</option>=<replaceable>string</replaceable></term>
141
169
<para>Prefix each output file name with the given
142
string. This can be useful for encoding/decoding
170
string. This can be useful for encoding or decoding
143
171
files to a different directory. Make sure if your
144
172
string is a path name that it ends with a trailing
145
173
`/' (slash).</para>
161
<term><option>--skip</option> <replaceable>samples</replaceable></term>
163
<para>Skip the specified number of samples at the
164
beginning of the input file (can be used for both
165
encoding and decoding)</para>
173
<title>Analysis Options</title>
177
<term><option>--a-rtext</option>
180
<para>Includes the residual signal in the analysis
181
file. This will make the file very big, much
182
larger than even the decoded file.</para>
187
<term><option>--a-rgp</option>
190
<para>Generates a gnuplot file for every subframe;
191
each file will contain the residual distribution
192
of the subframe. This will create a lot of
201
<title>Encoding Options</title>
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
205
215
<term><option>--ogg</option></term>
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
220
308
<term><option>--lax</option></term>
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>
229
351
<term><option>--sector-align</option></term>
244
366
a seek point at that sample number is added. Using
245
367
X, a placeholder point is added at the end of a the
246
368
table. Using #x, # evenly spaced seek points will
247
be added, the first being at sample 0. You may use
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
248
373
many -S options; the resulting SEEKTABLE will be the
249
374
unique-ified union of all such values. With no -S
250
options, flac defaults to '-S 100x'. Use -S- for
251
no SEEKTABLE. Note: '-S #x' will not work if the
252
encoder can't determine the input size before
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
253
378
starting. Note: if you use '-S #' and # is >=
254
379
samples in the input, there will be either no seek
255
380
point entered (if the input size is determinable
262
<term><option>-P</option> <replaceable>bytes</replaceable></term>
387
<term><option>-P</option> <replaceable>#</replaceable>, <option>--padding</option>=<replaceable>#</replaceable></term>
265
390
<para>Tell the encoder to write a PADDING metadata
266
391
block of the given length (in bytes) after the
267
STREAMINFO block. -P 0 implies no PADDING block,
268
which is the default. This is useful if you plan
269
to tag the file later with an APPLICATION block;
392
STREAMINFO block. This is useful if you plan to
393
tag the file later with an APPLICATION block;
270
394
instead of having to rewrite the entire file later
271
395
just to insert your block, you can write directly
272
over the PADDING block.</para>
277
<term><option>-b</option> <replaceable>blocksize</replaceable></term>
280
<para>Default is 1152 for -l 0, else 4608; must be
281
192/576/1152/2304/4608/256/512/1024/2048/4096/8192/16384/32768
282
(unless --lax is used)</para>
287
<term><option>-m</option></term>
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>
290
435
<para>Try mid-side coding for each frame (stereo
296
<term><option>-M</option></term>
441
<term><option>-M</option>, <option>--adaptive-mid-side</option></term>
299
<para>Loose mid-side coding for all frames (stereo
444
<para>Adaptive mid-side coding for all frames (stereo
300
445
input only)</para>
305
<term><option>-0</option>..<option>-8</option></term>
450
<term><option>-0</option>..<option>-8</option>, <option>--compression-level-0</option>..<option>--compression-level-8</option></term>
308
453
<para>Fastest compression..highest compression
401
<term><option>-e</option></term>
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>
404
566
<para>Do exhaustive model search
410
<term><option>-E</option></term>
413
<para>Do escape coding in the entropy coder. This
414
causes the encoder to use an unencoded representation
415
of the residual in a partition if it is smaller. It
416
increases the runtime and usually results in an
417
improvement of less than 1%.</para>
422
<term><option>-l</option> <replaceable>max_lpc_order</replaceable></term>
425
<para>0 => use only fixed predictors</para>
430
<term><option>-p</option></term>
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>
433
583
<para>Do exhaustive search of LP coefficient
434
quantization (expensive!). Overrides -q,
584
quantization (expensive!). Overrides -q;
435
585
does nothing if using -l 0</para>
440
<term><option>-q</option> <replaceable>bits</replaceable></term>
590
<term><option>-q</option> <replaceable>#</replaceable>, <option>--qlp-coeff-precision</option>=<replaceable>#</replaceable></term>
443
593
<para>Precision of the quantized linear-predictor
460
<term><option>-R</option> <replaceable>#</replaceable></term>
463
<para>Set the Rice parameter search distance.
469
<term><option>-V</option></term>
472
<para>Verify a correct encoding by decoding the
473
output in parallel and comparing to the
479
<term><option>-S-</option> <option>-m-</option> <option>-M-</option> <option>-e-</option> <option>-E-</option> <option>-p-</option> <option>-V-</option> <option>--delete-input-file-</option> <option>--lax-</option> <option>--ogg-</option>
483
<para>These flags can be used to invert the sense
484
of the corresponding normal option.</para>
495
<term><option>-fb</option></term>
498
<para>Big-endian byte order</para>
503
<term><option>-fl</option></term>
506
<para>Little-endian byte order</para>
511
<term><option>-fc</option>
512
<replaceable>channels</replaceable></term>
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>
515
628
<para>Set number of channels.</para>
538
<term><option>-fu</option></term>
541
<para>Unsigned samples (default is signed)</para>
546
<term><option>-fr</option></term>
549
<para>Force to raw format (even if filename ends
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
550
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>
559
711
<title>SEE ALSO</title>
713
<para>metaflac(1).</para>
561
715
<para>The programs are documented fully by HTML format
562
716
documentation, available in
563
717
<filename>/usr/share/doc/flac/html</filename> on