1flac(1) Free Lossless Audio Codec conversion tool flac(1)
2
3
4
6 flac - Free Lossless Audio Codec
7
9 flac [ OPTIONS ] [ infile.wav | infile.rf64 | infile.aiff | infile.raw
10 | infile.flac | infile.oga | infile.ogg | - ... ]
11
12 flac [ -d | --decode | -t | --test | -a | --analyze ] [ OPTIONS ] [ in‐
13 file.flac | infile.oga | infile.ogg | - ... ]
14
16 flac is a command-line tool for encoding, decoding, testing and analyz‐
17 ing FLAC streams.
18
20 flac supports as input RIFF WAVE, Wave64, RF64, AIFF, FLAC or Ogg FLAC
21 format, or raw interleaved samples. The decoder currently can output
22 to RIFF WAVE, Wave64, RF64, or AIFF format, or raw interleaved samples.
23 flac only supports linear PCM samples (in other words, no A-LAW, uLAW,
24 etc.), and the input must be between 4 and 32 bits per sample.
25
26 flac assumes that files ending in “.wav” or that have the RIFF WAVE
27 header present are WAVE files, files ending in “.w64” or have the
28 Wave64 header present are Wave64 files, files ending in “.rf64” or have
29 the RF64 header present are RF64 files, files ending in “.aif” or
30 “.aiff” or have the AIFF header present are AIFF files, files ending in
31 “.flac” or have the FLAC header present are FLAC files and files ending
32 in “.oga” or “.ogg” or have the Ogg FLAC header present are Ogg FLAC
33 files.
34
35 Other than this, flac makes no assumptions about file extensions,
36 though the convention is that FLAC files have the extension “.flac” (or
37 “.fla” on ancient “8.3” file systems like FAT-16).
38
39 Before going into the full command-line description, a few other things
40 help to sort it out: 1. flac encodes by default, so you must use -d to
41 decode 2. the options -0 .. -8 (or –fast and –best) that control the
42 compression level actually are just synonyms for different groups of
43 specific encoding options (described later) and you can get the same
44 effect by using the same options. When specific options are specified
45 they take priority over the compression level no matter the order 3.
46 flac behaves similarly to gzip in the way it handles input and output
47 files 4. the order in which options are specified is generally not im‐
48 portant
49
50 Skip to the examples below for examples of some common tasks.
51
52 flac will be invoked one of four ways, depending on whether you are en‐
53 coding, decoding, testing, or analyzing. Encoding is the default invo‐
54 cation, but can be switch to decoding with -d, analysis with -a or
55 testing with -t. Depending on which way is chosen, encoding, decoding,
56 analysis or testing options can be used, see section OPTIONS for de‐
57 tails. General options can be used for all.
58
59 If only one inputfile is specified, it may be “-” for stdin. When
60 stdin is used as input, flac will write to stdout. Otherwise flac will
61 perform the desired operation on each input file to similarly named
62 output files (meaning for encoding, the extension will be replaced with
63 “.flac”, or appended with “.flac” if the input file has no extension,
64 and for decoding, the extension will be “.wav” for WAVE output and
65 “.raw” for raw output). The original file is not deleted unless
66 –delete-input-file is specified.
67
68 If you are encoding/decoding from stdin to a file, you should use the
69 -o option like so:
70
71 flac [options] -o outputfile
72 flac -d [options] -o outputfile
73
74 which are better than:
75
76 flac [options] > outputfile
77 flac -d [options] > outputfile
78
79 since the former allows flac to seek backwards to write the STREAMINFO
80 or RIFF WAVE header contents when necessary.
81
82 Also, you can force output data to go to stdout using -c.
83
84 To encode or decode files that start with a dash, use – to signal the
85 end of options, to keep the filenames themselves from being treated as
86 options:
87
88 flac -V -- -01-filename.wav
89
90 The encoding options affect the compression ratio and encoding speed.
91 The format options are used to tell flac the arrangement of samples if
92 the input file (or output file when decoding) is a raw file. If it is
93 a RIFF WAVE, Wave64, RF64, or AIFF file the format options are not
94 needed since they are read from the file’s header.
95
96 In test mode, flac acts just like in decode mode, except no output file
97 is written. Both decode and test modes detect errors in the stream,
98 but they also detect when the MD5 signature of the decoded audio does
99 not match the stored MD5 signature, even when the bitstream is valid.
100
101 flac can also re-encode FLAC files. In other words, you can specify a
102 FLAC or Ogg FLAC file as an input to the encoder and it will decoder it
103 and re-encode it according to the options you specify. It will also
104 preserve all the metadata unless you override it with other options
105 (e.g. specifying new tags, seekpoints, cuesheet, padding, etc.).
106
107 flac has been tuned so that the default settings yield a good speed vs.
108 compression tradeoff for many kinds of input. However, if you are
109 looking to maximize the compression rate or speed, or want to use the
110 full power of FLAC’s metadata system, see the page titled `About the
111 FLAC Format' on the FLAC website.
112
114 Some common encoding tasks using flac:
115
116 flac abc.wav
117 Encode abc.wav to abc.flac using the default compression set‐
118 ting. abc.wav is not deleted.
119
120 flac --delete-input-file abc.wav
121 Like above, except abc.wav is deleted if there were no errors.
122
123 flac --delete-input-file -w abc.wav
124 Like above, except abc.wav is deleted if there were no errors or
125 warnings.
126
127 flac --best abc.wav
128 Encode abc.wav to abc.flac using the highest compression set‐
129 ting.
130
131 flac --verify abc.wav
132 Encode abc.wav to abc.flac and internally decode abc.flac to
133 make sure it matches abc.wav.
134
135 flac -o my.flac abc.wav
136 Encode abc.wav to my.flac.
137
138 flac -T "TITLE=Bohemian Rhapsody" -T "ARTIST=Queen" abc.wav
139 Encode abc.wav and add some tags at the same time to abc.flac.
140
141 flac *.wav
142 Encode all .wav files in the current directory.
143
144 flac abc.aiff
145 Encode abc.aiff to abc.flac.
146
147 flac abc.rf64
148 Encode abc.rf64 to abc.flac.
149
150 flac abc.w64
151 Encode abc.w64 to abc.flac.
152
153 flac abc.flac --force
154 This one’s a little tricky: notice that flac is in encode mode
155 by default (you have to specify -d to decode) so this command
156 actually recompresses abc.flac back to abc.flac. –force is
157 needed to make sure you really want to overwrite abc.flac with a
158 new version. Why would you want to do this? It allows you to
159 recompress an existing FLAC file with (usually) higher compres‐
160 sion options or a newer version of FLAC and preserve all the
161 metadata like tags too.
162
163 Some common decoding tasks using flac:
164
165 flac -d abc.flac
166 Decode abc.flac to abc.wav. abc.flac is not deleted. NOTE:
167 Without -d it means re-encode abc.flac to abc.flac (see above).
168
169 flac -d --force-aiff-format abc.flac
170 flac -d -o abc.aiff abc.flac : Two different ways of decoding abc.flac
171 to abc.aiff (AIFF format). abc.flac is not deleted.
172
173 flac -d --force-rf64-format abc.flac
174 flac -d -o abc.rf64 abc.flac : Two different ways of decoding abc.flac
175 to abc.rf64 (RF64 format). abc.flac is not deleted.
176
177 flac -d --force-wave64-format abc.flac
178 flac -d -o abc.w64 abc.flac : Two different ways of decoding abc.flac
179 to abc.w64 (Wave64 format). abc.flac is not deleted.
180
181 flac -d -F abc.flac
182 Decode abc.flac to abc.wav and don’t abort if errors are found
183 (useful for recovering as much as possible from corrupted
184 files).
185
187 A summary of options is included below. For a complete description,
188 see the HTML documentation.
189
190 GENERAL OPTIONS
191 -v, --version
192 Show the flac version number
193
194 -h, --help
195 Show basic usage and a list of all options
196
197 -H, --explain
198 Show detailed explanation of usage and all options
199
200 -d, --decode
201 Decode (the default behavior is to encode)
202
203 -t, --test
204 Test a flac encoded file (same as -d except no decoded file is
205 written)
206
207 -a, --analyze
208 Analyze a FLAC encoded file (same as -d except an analysis file
209 is written)
210
211 -c, --stdout
212 Write output to stdout
213
214 -s, --silent
215 Silent mode (do not write runtime encode/decode statistics to
216 stderr)
217
218 --totally-silent
219 Do not print anything of any kind, including warnings or errors.
220 The exit code will be the only way to determine successful com‐
221 pletion.
222
223 --no-utf8-convert
224 Do not convert tags from local charset to UTF-8. This is useful
225 for scripts, and setting tags in situations where the locale is
226 wrong. This option must appear before any tag options!
227
228 -w, --warnings-as-errors
229 Treat all warnings as errors (which cause flac to terminate with
230 a non-zero exit code).
231
232 -f, --force
233 Force overwriting of output files. By default, flac warns that
234 the output file already exists and continues to the next file.
235
236 -o filename, --output-name=filename
237 Force the output file name (usually flac just changes the exten‐
238 sion). May only be used when encoding a single file. May not
239 be used in conjunction with --output-prefix.
240
241 --output-prefix=string
242 Prefix each output file name with the given string. This can be
243 useful for encoding or decoding files to a different directory.
244 Make sure if your string is a path name that it ends with a
245 trailing `/’ (slash).
246
247 --delete-input-file
248 Automatically delete the input file after a successful encode or
249 decode. If there was an error (including a verify error) the
250 input file is left intact.
251
252 --preserve-modtime
253 Output files have their timestamps/permissions set to match
254 those of their inputs (this is default). Use --no-preserve-mod‐
255 time to make output files have the current time and default per‐
256 missions.
257
258 --keep-foreign-metadata
259 If encoding, save WAVE, RF64, or AIFF non-audio chunks in FLAC
260 metadata. If decoding, restore any saved non-audio chunks from
261 FLAC metadata when writing the decoded file. Foreign metadata
262 cannot be transcoded, e.g. WAVE chunks saved in a FLAC file can‐
263 not be restored when decoding to AIFF. Input and output must be
264 regular files (not stdin or stdout). With this option, FLAC
265 will pick the right output format on decoding.
266
267 --keep-foreign-metadata-if-present
268 Like --keep-foreign-metadata, but without throwing an error if
269 foreign metadata cannot be found or restored, instead printing a
270 warning.
271
272 --skip={#|mm:ss.ss}
273 Skip over the first number of samples of the input. This works
274 for both encoding and decoding, but not testing. The alterna‐
275 tive form mm:ss.ss can be used to specify minutes, seconds, and
276 fractions of a second.
277
278 --until={#|[+|-]mm:ss.ss}
279 Stop at the given sample number for each input file. This works
280 for both encoding and decoding, but not testing. The given sam‐
281 ple number is not included in the decoded output. The alterna‐
282 tive form mm:ss.ss can be used to specify minutes, seconds, and
283 fractions of a second. If a `+’ (plus) sign is at the begin‐
284 ning, the --until point is relative to the --skip point. If a
285 `-’ (minus) sign is at the beginning, the --until point is rela‐
286 tive to end of the audio.
287
288 --ogg When encoding, generate Ogg FLAC output instead of native FLAC.
289 Ogg FLAC streams are FLAC streams wrapped in an Ogg transport
290 layer. The resulting file should have an `.oga' extension and
291 will still be decodable by flac. When decoding, force the input
292 to be treated as Ogg FLAC. This is useful when piping input
293 from stdin or when the filename does not end in `.oga' or
294 `.ogg'.
295
296 --serial-number=#
297 When used with --ogg, specifies the serial number to use for the
298 first Ogg FLAC stream, which is then incremented for each addi‐
299 tional stream. When encoding and no serial number is given,
300 flac uses a random number for the first stream, then increments
301 it for each additional stream. When decoding and no number is
302 given, flac uses the serial number of the first page.
303
304 ANALYSIS OPTIONS
305 --residual-text
306 Includes the residual signal in the analysis file. This will
307 make the file very big, much larger than even the decoded file.
308
309 --residual-gnuplot
310 Generates a gnuplot file for every subframe; each file will con‐
311 tain the residual distribution of the subframe. This will cre‐
312 ate a lot of files.
313
314 DECODING OPTIONS
315 --cue=[#.#][-[#.#]]
316 Set the beginning and ending cuepoints to decode. The optional
317 first #.# is the track and index point at which decoding will
318 start; the default is the beginning of the stream. The optional
319 second #.# is the track and index point at which decoding will
320 end; the default is the end of the stream. If the cuepoint does
321 not exist, the closest one before it (for the start point) or
322 after it (for the end point) will be used. If those don’t ex‐
323 ist, the start of the stream (for the start point) or end of the
324 stream (for the end point) will be used. The cuepoints are
325 merely translated into sample numbers then used as --skip and
326 --until. A CD track can always be cued by, for example,
327 --cue=9.1-10.1 for track 9, even if the CD has no 10th track.
328
329 -F, --decode-through-errors
330 By default flac stops decoding with an error and removes the
331 partially decoded file if it encounters a bitstream error. With
332 -F, errors are still printed but flac will continue decoding to
333 completion. Note that errors may cause the decoded audio to be
334 missing some samples or have silent sections.
335
336 --apply-replaygain-which-is-not-lossless[=<specification>]
337 Applies ReplayGain values while decoding. WARNING: THIS IS NOT
338 LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL
339 WITH THIS OPTION. This option is useful for example in transcod‐
340 ing media servers, where the client does not support ReplayGain.
341 For details on the use of this option, see the section Replay‐
342 Gain application specification.
343
344 ENCODING OPTIONS
345 -V, --verify
346 Verify a correct encoding by decoding the output in parallel and
347 comparing to the original
348
349 --lax Allow encoder to generate non-Subset files. The resulting FLAC
350 file may not be streamable or might have trouble being played in
351 all players (especially hardware devices), so you should only
352 use this option in combination with custom encoding options
353 meant for archival.
354
355 --replay-gain
356 Calculate ReplayGain values and store them as FLAC tags, similar
357 to vorbisgain. Title gains/peaks will be computed for each in‐
358 put file, and an album gain/peak will be computed for all files.
359 All input files must have the same resolution, sample rate, and
360 number of channels. Only mono and stereo files are allowed, and
361 the sample rate must be 8, 11.025, 12, 16, 18.9, 22.05, 24, 28,
362 32, 36, 37.8, 44.1, 48, 56, 64, 72, 75.6, 88.2, 96, 112, 128,
363 144, 151.2, 176.4, 192, 224, 256, 288, 302.4, 352.8, 384, 448,
364 512, 576, or 604.8 kHz. Also note that this option may leave a
365 few extra bytes in a PADDING block as the exact size of the tags
366 is not known until all files are processed. Note that this op‐
367 tion cannot be used when encoding to standard output (stdout).
368
369 --cuesheet=filename
370 Import the given cuesheet file and store it in a CUESHEET meta‐
371 data block. This option may only be used when encoding a single
372 file. A seekpoint will be added for each index point in the
373 cuesheet to the SEEKTABLE unless --no-cued-seekpoints is speci‐
374 fied.
375
376 --picture={FILENAME|SPECIFICATION}
377 Import a picture and store it in a PICTURE metadata block. More
378 than one --picture option can be specified. Either a filename
379 for the picture file or a more complete specification form can
380 be used. The SPECIFICATION is a string whose parts are separat‐
381 ed by | (pipe) characters. Some parts may be left empty to in‐
382 voke default values. FILENAME is just shorthand for “||||FILE‐
383 NAME”. For the format of SPECIFICATION, see the section picture
384 specification.
385
386 --ignore-chunk-sizes
387 When encoding to flac, ignore the file size headers in WAV and
388 AIFF files to attempt to work around problems with over-sized or
389 malformed files. WAV and AIFF files both have an unsigned 32
390 bit numbers in the file header which specifes the length of au‐
391 dio data. Since this number is unsigned 32 bits, that limits
392 the size of a valid file to being just over 4 Gigabytes. Files
393 larger than this are mal-formed, but should be read correctly
394 using this option.
395
396 -S {#|X|#x|#s}, --seekpoint={#|X|#x|#s}
397 Include a point or points in a SEEKTABLE. Using #, a seek point
398 at that sample number is added. Using X, a placeholder point is
399 added at the end of a the table. Using #x, # evenly spaced seek
400 points will be added, the first being at sample 0. Using #s, a
401 seekpoint will be added every # seconds (# does not have to be a
402 whole number; it can be, for example, 9.5, meaning a seekpoint
403 every 9.5 seconds). You may use many -S options; the resulting
404 SEEKTABLE will be the unique-ified union of all such values.
405 With no -S options, flac defaults to `-S 10s'. Use --no-seek‐
406 table for no SEEKTABLE. Note: `-S #x' and `-S #s' will not work
407 if the encoder can’t determine the input size before starting.
408 Note: if you use `-S #' and # is >= samples in the input, there
409 will be either no seek point entered (if the input size is de‐
410 terminable before encoding starts) or a placeholder point (if
411 input size is not determinable).
412
413 -P #, --padding=#
414 Tell the encoder to write a PADDING metadata block of the given
415 length (in bytes) after the STREAMINFO block. This is useful if
416 you plan to tag the file later with an APPLICATION block; in‐
417 stead of having to rewrite the entire file later just to insert
418 your block, you can write directly over the PADDING block. Note
419 that the total length of the PADDING block will be 4 bytes
420 longer than the length given because of the 4 metadata block
421 header bytes. You can force no PADDING block at all to be writ‐
422 ten with --no-padding. The encoder writes a PADDING block of
423 8192 bytes by default (or 65536 bytes if the input audio stream
424 is more that 20 minutes long).
425
426 -T FIELD=VALUE, --tag=FIELD=VALUE
427 Add a FLAC tag. The comment must adhere to the Vorbis comment
428 spec; i.e. the FIELD must contain only legal characters, termi‐
429 nated by an `equals' sign. Make sure to quote the comment if
430 necessary. This option may appear more than once to add several
431 comments. NOTE: all tags will be added to all encoded files.
432
433 --tag-from-file=FIELD=FILENAME
434 Like --tag, except FILENAME is a file whose contents will be
435 read verbatim to set the tag value. The contents will be con‐
436 verted to UTF-8 from the local charset. This can be used to
437 store a cuesheet in a tag (e.g. --tag-from-file=“CUESHEET=im‐
438 age.cue”). Do not try to store binary data in tag fields! Use
439 APPLICATION blocks for that.
440
441 -b #, --blocksize=#
442 Specify the blocksize in samples. The default is 1152 for -l 0,
443 else 4096. For subset streams this must be <= 4608 if the sam‐
444 plerate <= 48kHz, for subset streams with higher samplerates it
445 must be <= 16384.
446
447 -m, --mid-side
448 Try mid-side coding for each frame (stereo input only)
449
450 -M, --adaptive-mid-side
451 Adaptive mid-side coding for all frames (stereo input only)
452
453 -0..-8, --compression-level-0..--compression-level-8
454 Fastest compression..highest compression (default is -5). These
455 are synonyms for other options:
456
457 -0, --compression-level-0
458 Synonymous with -l 0 -b 1152 -r 3 --no-mid-side
459
460 -1, --compression-level-1
461 Synonymous with -l 0 -b 1152 -M -r 3
462
463 -2, --compression-level-2
464 Synonymous with -l 0 -b 1152 -m -r 3
465
466 -3, --compression-level-3
467 Synonymous with -l 6 -b 4096 -r 4 --no-mid-side
468
469 -4, --compression-level-4
470 Synonymous with -l 8 -b 4096 -M -r 4
471
472 -5, --compression-level-5
473 Synonymous with -l 8 -b 4096 -m -r 5
474
475 -6, --compression-level-6
476 Synonymous with -l 8 -b 4096 -m -r 6 -A subdivide_tukey(2)
477
478 -7, --compression-level-7
479 Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(2)
480
481 -8, --compression-level-8
482 Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(3)
483
484 --fast Fastest compression. Currently synonymous with -0.
485
486 --best Highest compression. Currently synonymous with -8.
487
488 -e, --exhaustive-model-search
489 Do exhaustive model search (expensive!)
490
491 -A function, --apodization=function
492 Window audio data with given the apodization function. See sec‐
493 tion Apodization functions for details.
494
495 -l #, --max-lpc-order=#
496 Specifies the maximum LPC order. This number must be <= 32.
497 For subset streams, it must be <=12 if the sample rate is
498 <=48kHz. If 0, the encoder will not attempt generic linear pre‐
499 diction, and use only fixed predictors. Using fixed predictors
500 is faster but usually results in files being 5-10% larger.
501
502 -p, --qlp-coeff-precision-search
503 Do exhaustive search of LP coefficient quantization (expen‐
504 sive!). Overrides -q; does nothing if using -l 0
505
506 -q #, --qlp-coeff-precision=#
507 Precision of the quantized linear-predictor coefficients, 0 =>
508 let encoder decide (min is 5, default is 0)
509
510 -r [#,]#, --rice-partition-order=[#,]#
511 Set the [min,]max residual partition order (0..15). min de‐
512 faults to 0 if unspecified. Default is -r 5.
513
514 FORMAT OPTIONS
515 --endian={big|little}
516 Set the byte order for samples
517
518 --channels=#
519 Set number of channels.
520
521 --bps=#
522 Set bits per sample.
523
524 --sample-rate=#
525 Set sample rate (in Hz).
526
527 --sign={signed|unsigned}
528 Set the sign of samples.
529
530 --input-size=#
531 Specify the size of the raw input in bytes. If you are encoding
532 raw samples from stdin, you must set this option in order to be
533 able to use --skip, --until, --cuesheet, or other options that
534 need to know the size of the input beforehand. If the size giv‐
535 en is greater than what is found in the input stream, the en‐
536 coder will complain about an unexpected end-of-file. If the
537 size given is less, samples will be truncated.
538
539 --force-raw-format
540 Force input (when encoding) or output (when decoding) to be
541 treated as raw samples (even if filename ends in .wav).
542
543 --force-aiff-format
544 --force-rf64-format
545 --force-wave64-format : Force the decoder to output AIFF/RF64/WAVE64
546 format respectively. This option is not needed if the output filename
547 (as set by -o) ends with .aif or .aiff, .rf64 and .w64 respectively.
548 Also, this option has no effect when encoding since input is auto-de‐
549 tected. When none of these options nor –keep-foreign-metadata are giv‐
550 en and no output filename is set, the output format is WAV by default.
551
552 --force-legacy-wave-format
553 --force-extensible-wave-format : Instruct the decoder to output a WAVE
554 file with WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE respectively. If
555 none of these options nor –keep-foreign-metadata are given, FLAC out‐
556 puts WAVE_FORMAT_PCM for mono or stereo with a bit depth of 8 or 16
557 bits, and WAVE_FORMAT_EXTENSIBLE for all other audio formats.
558
559 --force-aiff-c-none-format
560 --force-aiff-c-sowt-format : Instruct the decoder to output an AIFF-C
561 file with format NONE and sowt respectively.
562
563 NEGATIVE OPTIONS
564 --no-adaptive-mid-side
565 --no-cued-seekpoints
566 --no-decode-through-errors
567 --no-delete-input-file
568 --no-preserve-modtime
569 --no-keep-foreign-metadata
570 --no-exhaustive-model-search
571 --no-force
572 --no-lax
573 --no-mid-side
574 --no-ogg
575 --no-padding
576 --no-qlp-coeff-prec-search
577 --no-replay-gain
578 --no-residual-gnuplot
579 --no-residual-text
580 --no-seektable
581 --no-silent
582 --no-verify
583 --no-warnings-as-errors
584
585 These flags can be used to invert the sense of the corresponding normal
586 option.
587
588 ReplayGain application specification
589 The option --apply-replaygain-which-is-not-lossless[=<specification>]
590 applies ReplayGain values while decoding. WARNING: THIS IS NOT LOSS‐
591 LESS. DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS
592 OPTION.** This option is useful for example in transcoding media
593 servers, where the client does not support ReplayGain.
594
595 The equals sign and <specification> is optional. If omitted, the de‐
596 fault specification is 0aLn1.
597
598 The <specification> is a shorthand notation for describing how to apply
599 ReplayGain. All components are optional but order is important. `[]'
600 means `optional'. `|' means `or'. `{}' means required. The format
601 is:
602
603 [<preamp>][a|t][l|L][n{0|1|2|3}]
604
605 In which the following parameters are used:
606
607 • preamp: A floating point number in dB. This is added to the existing
608 gain value.
609
610 • a|t: Specify `a' to use the album gain, or `t' to use the track gain.
611 If tags for the preferred kind (album/track) do not exist but tags
612 for the other (track/album) do, those will be used instead.
613
614 • l|L: Specify `l' to peak-limit the output, so that the ReplayGain
615 peak value is full-scale. Specify `L' to use a 6dB hard limiter that
616 kicks in when the signal approaches full-scale.
617
618 • n{0|1|2|3}: Specify the amount of noise shaping. ReplayGain synthe‐
619 sis happens in floating point; the result is dithered before convert‐
620 ing back to integer. This quantization adds noise. Noise shaping
621 tries to move the noise where you won’t hear it as much. 0 means no
622 noise shaping, 1 means `low', 2 means `medium', 3 means `high'.
623
624 For example, the default of 0aLn1 means 0dB preamp, use album gain, 6dB
625 hard limit, low noise shaping. --apply-replaygain-which-is-not-loss‐
626 less=3 means 3dB preamp, use album gain, no limiting, no noise shaping.
627
628 flac uses the ReplayGain tags for the calculation. If a stream does
629 not have the required tags or they can’t be parsed, decoding will con‐
630 tinue with a warning, and no ReplayGain is applied to that stream.
631
632 Picture specification
633 This described the specification used for the --picture option.
634 [TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE
635
636 TYPE is optional; it is a number from one of:
637
638 0. Other
639
640 1. 32x32 pixels `file icon' (PNG only)
641
642 2. Other file icon
643
644 3. Cover (front)
645
646 4. Cover (back)
647
648 5. Leaflet page
649
650 6. Media (e.g. label side of CD)
651
652 7. Lead artist/lead performer/soloist
653
654 8. Artist/performer
655
656 9. Conductor
657
658 10. Band/Orchestra
659
660 11. Composer
661
662 12. Lyricist/text writer
663
664 13. Recording Location
665
666 14. During recording
667
668 15. During performance
669
670 16. Movie/video screen capture
671
672 17. A bright coloured fish
673
674 18. Illustration
675
676 19. Band/artist logotype
677
678 20. Publisher/Studio logotype
679
680 The default is 3 (front cover). There may only be one picture each of
681 type 1 and 2 in a file.
682
683 MIME-TYPE is optional; if left blank, it will be detected from the
684 file. For best compatibility with players, use pictures with MIME type
685 image/jpeg or image/png. The MIME type can also be --> to mean that
686 FILE is actually a URL to an image, though this use is discouraged.
687
688 DESCRIPTION is optional; the default is an empty string.
689
690 The next part specifies the resolution and color information. If the
691 MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually leave
692 this empty and they can be detected from the file. Otherwise, you must
693 specify the width in pixels, height in pixels, and color depth in bits-
694 per-pixel. If the image has indexed colors you should also specify the
695 number of colors used. When manually specified, it is not checked
696 against the file for accuracy.
697
698 FILE is the path to the picture file to be imported, or the URL if MIME
699 type is -->
700
701 For example, “|image/jpeg|||../cover.jpg” will embed the JPEG file at
702 ../cover.jpg, defaulting to type 3 (front cover) and an empty descrip‐
703 tion. The resolution and color info will be retrieved from the file
704 itself.
705
706 The specification “4|-->|CD|320x300x24/173|http://blah.blah/backcov‐
707 er.tiff” will embed the given URL, with type 4 (back cover), descrip‐
708 tion “CD”, and a manually specified resolution of 320x300, 24 bits-per-
709 pixel, and 173 colors. The file at the URL will not be fetched; the
710 URL itself is stored in the PICTURE metadata block.
711
712 Apodization functions
713 To improve LPC analysis, audio data is windowed . The window can be
714 selected with one or more -A options. Possible functions are:
715 bartlett, bartlett_hann, blackman, blackman_harris_4term_92db, connes,
716 flattop, gauss(STDDEV), hamming, hann, kaiser_bessel, nuttall, rectan‐
717 gle, triangle, tukey(P), partial_tukey(n[/ov[/P]]), pun‐
718 chout_tukey(n[/ov[/P]]), subdivide_tukey(n[/P]) welch.
719
720 • For gauss(STDDEV), STDDEV is the standard deviation (0<STDDEV<=0.5).
721
722 • For tukey(P), P specifies the fraction of the window that is tapered
723 (0<=P<=1; P=0 corresponds to “rectangle” and P=1 corresponds to
724 “hann”).
725
726 • For partial_tukey(n) and punchout_tukey(n), n apodization functions
727 are added that span different parts of each block. Values of 2 to 6
728 seem to yield sane results. If necessary, an overlap can be speci‐
729 fied, as can be the taper parameter, for example partial_tukey(2/0.2)
730 or partial_tukey(2/0.2/0.5). ov should be smaller than 1 and can be
731 negative. The use of this is that different parts of a block are ig‐
732 nored as the might contain transients which are hard to predict any‐
733 way. The encoder will try each different added apodization (each
734 covering a different part of the block) to see which resulting pre‐
735 dictor results in the smallest representation.
736
737 • subdivide_tukey(n) is a more efficient reimplementation of par‐
738 tial_tukey and punchout_tukey taken together, recycling as much data
739 as possible. It combines all possible non-redundant partial_tukey(n)
740 and punchout_tukey(n) up to the n specified. Specifying subdi‐
741 vide_tukey(3) is equivalent to specifying tukey, partial_tukey(2),
742 partial_tukey(3) and punchout_tukey(3), specifying subdivide_tukey(5)
743 equivalently adds partial_tukey(4), punchout_tukey(4), par‐
744 tial_tukey(5) and punchout_tukey(5). To be able to reuse data as
745 much as possible, the tukey taper is taken equal for all windows, and
746 the P specified is applied for the smallest used window. In other
747 words, subdivide_tukey(2/0.5) results in a taper equal to that of
748 tukey(0.25) and subdivide_tukey(5) in a taper equal to that of
749 tukey(0.1). The default P for subdivide_tukey when none is specified
750 is 0.5.
751
752 Note that P, STDDEV and ov are locale specific, so a comma as decimal
753 separator might be required instead of a dot. Use scientific notation
754 for a locale-independent specification, for example tukey(5e-1) instead
755 of tukey(0.5) or tukey(0,5).
756
757 More than one -A option (up to 32) may be used. Any function that is
758 specified erroneously is silently dropped. The encoder chooses suit‐
759 able defaults in the absence of any -A options; any -A option specified
760 replaces the default(s).
761
762 When more than one function is specified, then for every subframe the
763 encoder will try each of them separately and choose the window that re‐
764 sults in the smallest compressed subframe. Multiple functions can
765 greatly increase the encoding time.
766
768 metaflac(1)
769
771 This manual page was initially written by Matt Zimmerman <mdz@de‐
772 bian.org> for the Debian GNU/Linux system (but may be used by others).
773 It has been kept up-to-date by the Xiph.org Foundation.
774
775
776
777Version 1.4.3 flac(1)