1009 lines
39 KiB
Groff
1009 lines
39 KiB
Groff
.\" Automatically generated by Pandoc 3.8.2.1
|
|
.\"
|
|
.TH "flac" "1" "" "Version 1.5.0" "Free Lossless Audio Codec conversion tool"
|
|
.SH NAME
|
|
flac \- Free Lossless Audio Codec
|
|
.SH SYNOPSIS
|
|
\f[B]flac\f[R] [ \f[I]OPTIONS\f[R] ] [ \f[I]infile.wav\f[R] |
|
|
\f[I]infile.rf64\f[R] | \f[I]infile.aiff\f[R] | \f[I]infile.raw\f[R] |
|
|
\f[I]infile.flac\f[R] | \f[I]infile.oga\f[R] | \f[I]infile.ogg\f[R] |
|
|
\f[B]\-\f[R] \f[I]\&...\f[R] ]
|
|
.PP
|
|
\f[B]flac\f[R] [ \f[B]\-d\f[R] | \f[B]\-\-decode\f[R] | \f[B]\-t\f[R] |
|
|
\f[B]\-\-test\f[R] | \f[B]\-a\f[R] | \f[B]\-\-analyze\f[R] ] [
|
|
\f[I]OPTIONS\f[R] ] [ \f[I]infile.flac\f[R] | \f[I]infile.oga\f[R] |
|
|
\f[I]infile.ogg\f[R] | \f[B]\-\f[R] \f[I]\&...\f[R] ]
|
|
.SH DESCRIPTION
|
|
\f[B]flac\f[R] is a command\-line tool for encoding, decoding, testing
|
|
and analyzing FLAC streams.
|
|
.SH GENERAL USAGE
|
|
\f[B]flac\f[R] supports as input RIFF WAVE, Wave64, RF64, AIFF, FLAC or
|
|
Ogg FLAC format, or raw interleaved samples.
|
|
The decoder currently can output to RIFF WAVE, Wave64, RF64, or AIFF
|
|
format, or raw interleaved samples.
|
|
flac only supports linear PCM samples (in other words, no A\-LAW, uLAW,
|
|
etc.), and the input must be between 4 and 32 bits per sample.
|
|
.PP
|
|
flac assumes that files ending in \(lq.wav\(rq or that have the RIFF
|
|
WAVE header present are WAVE files, files ending in \(lq.w64\(rq or have
|
|
the Wave64 header present are Wave64 files, files ending in
|
|
\(lq.rf64\(rq or have the RF64 header present are RF64 files, files
|
|
ending in \(lq.aif\(rq or \(lq.aiff\(rq or have the AIFF header present
|
|
are AIFF files, files ending in \(lq.flac\(rq or have the FLAC header
|
|
present are FLAC files and files ending in \(lq.oga\(rq or \(lq.ogg\(rq
|
|
or have the Ogg FLAC header present are Ogg FLAC files.
|
|
.PP
|
|
Other than this, flac makes no assumptions about file extensions, though
|
|
the convention is that FLAC files have the extension \(lq.flac\(rq (or
|
|
\(lq.fla\(rq on ancient \(lq8.3\(rq file systems like FAT\-16).
|
|
.PP
|
|
Before going into the full command\-line description, a few other things
|
|
help to sort it out:
|
|
.IP "1." 3
|
|
flac encodes by default, so you must use \-d to decode
|
|
.IP "2." 3
|
|
Encoding options \-0 ..
|
|
\-8 (or \-\-fast and \-\-best) that control the compression level
|
|
actually are just synonyms for different groups of specific encoding
|
|
options (described later).
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
.IP "3." 3
|
|
The order in which options are specified is generally not important
|
|
except when they contradict each other, then the latter takes precedence
|
|
except that compression presets are overridden by any option given
|
|
before or after.
|
|
For example, \-0M, \-M0, \-M2 and \-2M are all the same as \-1, and \-l
|
|
12 \-6 the same as \-7.
|
|
.IP "4." 3
|
|
flac behaves similarly to gzip in the way it handles input and output
|
|
files
|
|
.PP
|
|
Skip to the EXAMPLES section below for examples of some typical tasks.
|
|
.PP
|
|
flac will be invoked one of four ways, depending on whether you are
|
|
encoding, decoding, testing, or analyzing.
|
|
Encoding is the default invocation, but can be switch to decoding with
|
|
\f[B]\-d\f[R], analysis with \f[B]\-a\f[R] or testing with
|
|
\f[B]\-t\f[R].
|
|
Depending on which way is chosen, encoding, decoding, analysis or
|
|
testing options can be used, see section OPTIONS for details.
|
|
General options can be used for all.
|
|
.PP
|
|
If only one inputfile is specified, it may be \(lq\-\(rq for stdin.
|
|
When stdin is used as input, flac will write to stdout.
|
|
Otherwise flac will perform the desired operation on each input file to
|
|
similarly named output files (meaning for encoding, the extension will
|
|
be replaced with \(lq.flac\(rq, or appended with \(lq.flac\(rq if the
|
|
input file has no extension, and for decoding, the extension will be
|
|
\(lq.wav\(rq for WAVE output and \(lq.raw\(rq for raw output).
|
|
The original file is not deleted unless \-\-delete\-input\-file is
|
|
specified.
|
|
.PP
|
|
If you are encoding/decoding from stdin to a file, you should use the
|
|
\-o option like so:
|
|
.IP
|
|
.EX
|
|
flac [options] \-o outputfile
|
|
flac \-d [options] \-o outputfile
|
|
.EE
|
|
.PP
|
|
which are better than:
|
|
.IP
|
|
.EX
|
|
flac [options] > outputfile
|
|
flac \-d [options] > outputfile
|
|
.EE
|
|
.PP
|
|
since the former allows flac to seek backwards to write the STREAMINFO
|
|
or RIFF WAVE header contents when necessary.
|
|
.PP
|
|
Also, you can force output data to go to stdout using \-c.
|
|
.PP
|
|
To encode or decode files that start with a dash, use \-\- to signal the
|
|
end of options, to keep the filenames themselves from being treated as
|
|
options:
|
|
.IP
|
|
.EX
|
|
flac \-V \-\- \-01\-filename.wav
|
|
.EE
|
|
.PP
|
|
The encoding options affect the compression ratio and encoding speed.
|
|
The format options are used to tell flac the arrangement of samples if
|
|
the input file (or output file when decoding) is a raw file.
|
|
If it is a RIFF WAVE, Wave64, RF64, or AIFF file the format options are
|
|
not needed since they are read from the file\(cqs header.
|
|
.PP
|
|
In test mode, flac acts just like in decode mode, except no output file
|
|
is written.
|
|
Both decode and test modes detect errors in the stream, but they also
|
|
detect when the MD5 signature of the decoded audio does not match the
|
|
stored MD5 signature, even when the bitstream is valid.
|
|
.PP
|
|
flac can also re\-encode FLAC files.
|
|
In other words, you can specify a FLAC or Ogg FLAC file as an input to
|
|
the encoder and it will decoder it and re\-encode it according to the
|
|
options you specify.
|
|
It will also preserve all the metadata unless you override it with other
|
|
options (e.g.
|
|
specifying new tags, seekpoints, cuesheet, padding, etc.).
|
|
.PP
|
|
flac has been tuned so that the default settings yield a good speed vs.
|
|
compression tradeoff for many kinds of input.
|
|
However, if you are looking to maximize the compression rate or speed,
|
|
or want to use the full power of FLAC\(cqs metadata system, see the page
|
|
titled `About the FLAC Format' on the FLAC website.
|
|
.SH EXAMPLES
|
|
Some typical encoding and decoding tasks using flac:
|
|
.SS Encoding examples
|
|
.TP
|
|
\f[CR]flac abc.wav\f[R]
|
|
Encode abc.wav to abc.flac using the default compression setting.
|
|
abc.wav is not deleted.
|
|
.TP
|
|
\f[CR]flac \-\-delete\-input\-file abc.wav\f[R]
|
|
Like above, except abc.wav is deleted if there were no errors.
|
|
.TP
|
|
\f[CR]flac \-\-delete\-input\-file \-w abc.wav\f[R]
|
|
Like above, except abc.wav is deleted if there were no errors and no
|
|
warnings.
|
|
.TP
|
|
\f[CR]flac \-\-best abc.wav\f[R] or \f[CR]flac \-8 abc.wav\f[R]
|
|
Encode abc.wav to abc.flac using the highest compression preset.
|
|
.TP
|
|
\f[CR]flac \-\-verify abc.wav\f[R] or \f[CR]flac \-V abc.wav\f[R]
|
|
Encode abc.wav to abc.flac and internally decode abc.flac to make sure
|
|
it matches abc.wav.
|
|
.TP
|
|
\f[CR]flac \-o my.flac abc.wav\f[R]
|
|
Encode abc.wav to my.flac.
|
|
.TP
|
|
\f[CR]flac abc.aiff foo.rf64 bar.w64\f[R]
|
|
Encode abc.aiff to abc.flac, foo.rf64 to foo.flac and bar.w64 to
|
|
bar.flac
|
|
.TP
|
|
\f[CR]flac *.wav *.aif?\f[R]
|
|
Wildcards are supported.
|
|
This command will encode all .wav files and all .aif/.aiff/.aifc files
|
|
(as well as other supported files ending in .aif+one character) in the
|
|
current directory.
|
|
.TP
|
|
\f[CR]flac abc.flac \-\-force\f[R] or \f[CR]flac abc.flac \-f\f[R]
|
|
Recompresses, keeping metadata like tags.
|
|
The syntax is a little tricky: this is an \f[I]encoding\f[R] command
|
|
(which is the default: you need to specify \-d for decoded output), and
|
|
will thus want to output the file abc.flac \- which already exists.
|
|
flac will require the \-\-force or shortform \-f option to overwrite an
|
|
existing file.
|
|
Recompression will first write a temporary file, which afterwards
|
|
replaces the old abc.flac (provided flac has write access to that file).
|
|
The above example uses default settings.
|
|
More often, recompression is combined with a different \- usually higher
|
|
\- compression option.
|
|
Note: If the FLAC file does not end with .flac \- say, it is abc.fla
|
|
.RS
|
|
.IP \(bu 2
|
|
the \-f is not needed: A new abc.flac will be created and the old kept,
|
|
just like for an uncompressed input file.
|
|
.RE
|
|
.TP
|
|
\f[CR]flac \-\-tag\-from\-file=\(dqALBUM=albumtitle.txt\(dq \-T \(dqARTIST=Queen\(dq *.wav\f[R]
|
|
Encode every .wav file in the directory and add some tags.
|
|
Every file will get the same set of tags.
|
|
Warning: Will wipe all existing tags, when the input file is (Ogg) FLAC
|
|
\- not just those tags listed in the option.
|
|
Use the metaflac utility to tag FLAC files.
|
|
.TP
|
|
\f[CR]flac \-\-keep\-foreign\-metadata\-if\-present abc.wav\f[R]
|
|
FLAC files can store non\-audio chunks of input WAVE/AIFF/RF64/W64
|
|
files.
|
|
The related option \-\-keep\-foreign\-metadata works the same way, but
|
|
will instead exit with an error if the input has no such non\-audio
|
|
chunks.
|
|
The encoder only stores the chunks as they are, it cannot import the
|
|
content into its own tags (vorbis comments).
|
|
To transfer such tags from a source file, use tagging software which
|
|
supports them.
|
|
.TP
|
|
\f[CR]flac \-Vj2 \-m3fo Track07.flac \-\- \-7.wav\f[R]
|
|
flac employs the commonplace convention that options in a short version
|
|
\- invoked with single dash \- can be shortened together until one that
|
|
takes an argument.
|
|
Here \-j and \-o do, and after the \(lq2\(rq a whitespace is needed to
|
|
start new options with single/double dash.
|
|
The \-m option does not, and the following \(lq3\(rq is the \-3
|
|
compression setting.
|
|
The options could equally well have been written out as \-V \-j 2 \-m
|
|
\-3 \-f \-o Track04.flac , or as \-fo Track04.flac \-3mVj2.
|
|
flac also employs the convention that \f[CR]\-\-\f[R] (with whitespace!)
|
|
signifies end of options, treating everything to follow as filename.
|
|
That is needed when an input filenames could otherwise be read as an
|
|
option, and \(lq\-7\(rq is one such.
|
|
In total, this line takes the input file \-7.wav as input; \-o will give
|
|
output filename as Track07.flac, and the \-f will overwrite if the file
|
|
Track04.flac is already present.
|
|
The encoder will select encoding preset \-3 modified with the \-m
|
|
switch, and use two CPU threads.
|
|
Afterwards, the \-V will make it decode the flac file and compare the
|
|
audio to the input, to ensure they are indeed equal.
|
|
.SS Decoding examples
|
|
.TP
|
|
\f[CR]flac \-\-decode abc.flac\f[R] or \f[CR]flac \-d abc.flac\f[R]
|
|
Decode abc.flac to abc.wav.
|
|
abc.flac is not deleted.
|
|
If abc.wav is already present, the process will exit with an error
|
|
instead of overwriting; use \(enforce / \-f to force overwrite.
|
|
NOTE: A mere flac abc.flac \f[I]without \(endecode or its shortform
|
|
\-d\f[R], would mean to re\-encode abc.flac to abc.flac (see above), and
|
|
that command would err out because abc.flac already exists.
|
|
.TP
|
|
\f[CR]flac \-d \-\-force\-aiff\-format abc.flac\f[R] or \f[CR]flac \-d \-o abc.aiff abc.flac\f[R]
|
|
Two different ways of decoding abc.flac to abc.aiff (AIFF format).
|
|
abc.flac is not deleted.
|
|
\-d \-o could be shortened to \-do.
|
|
The decoder can force other output formats, or different versions of the
|
|
WAVE/AIFF formats, see the options below.
|
|
.TP
|
|
\f[CR]flac \-d \-\-keep\-foreign\-metadata\-if\-present abc.flac\f[R]
|
|
If the FLAC file has non\-audio chunks stored from the original input
|
|
file, this option will restore both audio and non\-audio.
|
|
The chunks will reveal the original file type, and the decoder will
|
|
select output format and output file extension accordingly
|
|
.RS
|
|
.IP \(bu 2
|
|
note that this is not compatible with forcing a particular output format
|
|
except if it coincides with the original, as the decoder cannot
|
|
transcode non\-audio between formats.
|
|
If there are no such chunks stored, it will decode to abc.wav.
|
|
The related option \-\-keep\-foreign\-metadata will instead exit with an
|
|
error if no such non\-audio chunks are found.
|
|
.RE
|
|
.TP
|
|
\f[CR]flac \-d \-F abc.flac\f[R]
|
|
Decode abc.flac to abc.wav and don\(cqt abort if errors are found.
|
|
This is potentially useful for recovering as much as possible from a
|
|
corrupted file.
|
|
Note: Be careful about trying to \(lqrepair\(rq files this way.
|
|
Often it will only conceal an error, and not play any subjectively
|
|
\(lqbetter\(rq than the corrupted file.
|
|
It is a good idea to at least keep it, and possibly try several
|
|
decoders, including the one that generated the file, and hear if one has
|
|
less detrimental audible errors than another.
|
|
Make sure output volume is limited, as corrupted audio can generate loud
|
|
noises.
|
|
.SH OPTIONS
|
|
A summary of options is included below.
|
|
Several of the options can be negated, see the \f[B]Negative
|
|
options\f[R] section below.
|
|
.SS GENERAL OPTIONS
|
|
.TP
|
|
\f[B]\-v\f[R], \f[B]\-\-version\f[R]
|
|
Show the flac version number, and quit.
|
|
.TP
|
|
\f[B]\-h\f[R], \f[B]\-\-help\f[R]
|
|
Show basic usage and a list of all options, and quit.
|
|
.TP
|
|
\f[B]\-d\f[R], \f[B]\-\-decode\f[R]
|
|
Decode (the default behavior is to encode)
|
|
.TP
|
|
\f[B]\-t\f[R], \f[B]\-\-test\f[R]
|
|
Test a flac encoded file.
|
|
This works the same as \-d except no decoded file is written, and with
|
|
some additional checks like parsing of all metadata blocks.
|
|
.TP
|
|
\f[B]\-a\f[R], \f[B]\-\-analyze\f[R]
|
|
Analyze a FLAC encoded file.
|
|
This works the same as \-d except the output is an analysis file, not a
|
|
decoded file.
|
|
.TP
|
|
\f[B]\-c\f[R], \f[B]\-\-stdout\f[R]
|
|
Write output to stdout
|
|
.TP
|
|
\f[B]\-f\f[R], \f[B]\-\-force\f[R]
|
|
Force overwriting of output files.
|
|
By default, flac warns that the output file already exists and continues
|
|
to the next file.
|
|
.TP
|
|
\f[B]\-\-delete\-input\-file\f[R]
|
|
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.
|
|
.TP
|
|
\f[B]\-o\f[R] \f[I]FILENAME\f[R], \f[B]\-\-output\-name\f[R]=\f[I]FILENAME\f[R]
|
|
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.
|
|
.TP
|
|
\f[B]\-\-output\-prefix\f[R]=\f[I]STRING\f[R]
|
|
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
|
|
\(ga/\(cq (slash).
|
|
.TP
|
|
\f[B]\-\-preserve\-modtime\f[R]
|
|
(Enabled by default.)
|
|
Output files have their timestamps/permissions set to match those of
|
|
their inputs.
|
|
Use \-\-no\-preserve\-modtime to make output files have the current time
|
|
and default permissions.
|
|
.TP
|
|
\f[B]\-\-keep\-foreign\-metadata\f[R]
|
|
If encoding, save WAVE, RF64, or AIFF non\-audio chunks in FLAC
|
|
metadata.
|
|
If decoding, restore any saved non\-audio chunks from FLAC metadata when
|
|
writing the decoded file.
|
|
Foreign metadata cannot be transcoded, e.g.\ WAVE chunks saved in a FLAC
|
|
file cannot be restored when decoding to AIFF.
|
|
Input and output must be regular files (not stdin or stdout).
|
|
With this option, FLAC will pick the right output format on decoding.
|
|
It will exit with error if no such chunks are found.
|
|
.TP
|
|
\f[B]\-\-keep\-foreign\-metadata\-if\-present\f[R]
|
|
Like \-\-keep\-foreign\-metadata, but without throwing an error if
|
|
foreign metadata cannot be found or restored.
|
|
Instead, prints a warning.
|
|
.TP
|
|
\f[B]\-\-skip\f[R]={#|\f[I]MM:SS\f[R]}
|
|
Skip the first number of samples of the input.
|
|
To skip over a given initial time, specify instead minutes and seconds:
|
|
there must then be at least one digit on each side of the colon sign.
|
|
Fractions of a second can be specified, with locale\-dependent decimal
|
|
point, e.g.
|
|
\-\-skip=123:9,867 if your decimal point is a comma.
|
|
A \-\-skip option is applied to each input file if more are given.
|
|
This option cannot be used with \-t.
|
|
When used with \-a, the analysis file will enumerate frames from
|
|
starting point.
|
|
.TP
|
|
\f[B]\-\-until\f[R]={#|[+|]\f[I]MM:SS\f[R]}
|
|
Stop at the given sample number (which is not included).
|
|
A negative number is taken relative to the end of the audio, a \(ga+\(cq
|
|
(plus) sign means that the \-\-until point is taken relative to the
|
|
\-\-skip point.
|
|
For other considerations, see \-\-skip.
|
|
.TP
|
|
\f[B]\-\-no\-utf8\-convert\f[R]
|
|
Do not convert tags from local charset to UTF\-8.
|
|
This is useful for scripts, and setting tags in situations where the
|
|
locale is wrong.
|
|
This option must appear before any tag options!
|
|
.TP
|
|
\f[B]\-s\f[R], \f[B]\-\-silent\f[R]
|
|
Silent mode (do not write runtime encode/decode statistics to stderr)
|
|
.TP
|
|
\f[B]\-\-totally\-silent\f[R]
|
|
Do not print anything of any kind, including warnings or errors.
|
|
The exit code will be the only way to determine successful completion.
|
|
.TP
|
|
\f[B]\-w\f[R], \f[B]\-\-warnings\-as\-errors\f[R]
|
|
Treat all warnings as errors (which cause flac to terminate with a
|
|
non\-zero exit code).
|
|
.SS DECODING OPTIONS
|
|
.TP
|
|
\f[B]\-F\f[R], \f[B]\-\-decode\-through\-errors\f[R]
|
|
By default flac stops decoding with an error message 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.
|
|
.TP
|
|
\f[B]\-\-cue\f[R]=[#.#][\-[#.#]]
|
|
Set the beginning and ending cuepoints to decode.
|
|
Decimal points are locale\-dependent (dot or comma).
|
|
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\(cqt 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 \-\-until.
|
|
A CD track can always be cued by, for example, \-\-cue=9.1\-10.1 for
|
|
track 9, even if the CD has no 10th track.
|
|
.TP
|
|
\f[B]\(endecode\-chained\-stream\f[R]
|
|
Decode all links in a chained Ogg stream, not just the first one.
|
|
.TP
|
|
\f[B]\-\-apply\-replaygain\-which\-is\-not\-lossless\f[R][=\f[I]SPECIFICATION\f[R]]
|
|
Applies ReplayGain values while decoding.
|
|
\f[B]WARNING: THIS IS NOT LOSSLESS.
|
|
DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS
|
|
OPTION.\f[R] This option is useful for example in transcoding media
|
|
servers, where the client does not support ReplayGain.
|
|
For details on the use of this option, see the section \f[B]ReplayGain
|
|
application specification\f[R].
|
|
.SS ENCODING OPTIONS
|
|
Encoding will default to \-5, \-A \(lqtukey(5e\-1)\(rq and one CPU
|
|
thread.
|
|
.TP
|
|
\f[B]\-V\f[R], \f[B]\-\-verify\f[R]
|
|
Verify a correct encoding by decoding the output in parallel and
|
|
comparing to the original.
|
|
.TP
|
|
\f[B]\-0\f[R], \f[B]\-\-compression\-level\-0\f[R], \f[B]\-\-fast\f[R]
|
|
Fastest compression preset.
|
|
Currently synonymous with
|
|
\f[CR]\-l 0 \-b 1152 \-r 3 \-\-no\-mid\-side\f[R]
|
|
.TP
|
|
\f[B]\-1\f[R], \f[B]\-\-compression\-level\-1\f[R]
|
|
Currently synonymous with \f[CR]\-l 0 \-b 1152 \-M \-r 3\f[R]
|
|
.TP
|
|
\f[B]\-2\f[R], \f[B]\-\-compression\-level\-2\f[R]
|
|
Currently synonymous with \f[CR]\-l 0 \-b 1152 \-m \-r 3\f[R]
|
|
.TP
|
|
\f[B]\-3\f[R], \f[B]\-\-compression\-level\-3\f[R]
|
|
Currently synonymous with
|
|
\f[CR]\-l 6 \-b 4096 \-r 4 \-\-no\-mid\-side\f[R]
|
|
.TP
|
|
\f[B]\-4\f[R], \f[B]\-\-compression\-level\-4\f[R]
|
|
Currently synonymous with \f[CR]\-l 8 \-b 4096 \-M \-r 4\f[R]
|
|
.TP
|
|
\f[B]\-5\f[R], \f[B]\-\-compression\-level\-5\f[R]
|
|
Currently synonymous with \f[CR]\-l 8 \-b 4096 \-m \-r 5\f[R]
|
|
.TP
|
|
\f[B]\-6\f[R], \f[B]\-\-compression\-level\-6\f[R]
|
|
Currently synonymous with
|
|
\f[CR]\-l 8 \-b 4096 \-m \-r 6 \-A \(dqsubdivide_tukey(2)\(dq\f[R]
|
|
.TP
|
|
\f[B]\-7\f[R], \f[B]\-\-compression\-level\-7\f[R]
|
|
Currently synonymous with
|
|
\f[CR]\-l 12 \-b 4096 \-m \-r 6 \-A \(dqsubdivide_tukey(2)\(dq\f[R]
|
|
.TP
|
|
\f[B]\-8\f[R], \f[B]\-\-compression\-level\-8\f[R], \f[B]\-\-best\f[R]
|
|
Currently synonymous with
|
|
\f[CR]\-l 12 \-b 4096 \-m \-r 6 \-A \(dqsubdivide_tukey(3)\(dq\f[R]
|
|
.TP
|
|
\f[B]\-l\f[R] #, \f[B]\-\-max\-lpc\-order\f[R]=#
|
|
Specifies the maximum LPC order.
|
|
This number must be <= 32.
|
|
For subset streams, it must be <=12 if the sample rate is <=48kHz.
|
|
If 0, the encoder will not attempt generic linear prediction, and only
|
|
choose among a set of fixed (hard\-coded) predictors.
|
|
Restricting to fixed predictors only is faster, but compresses weaker \-
|
|
typically five percentage points / ten percent larger files.
|
|
.TP
|
|
\f[B]\-b\f[R] #, \f[B]\-\-blocksize\f[R]=#
|
|
Specify the blocksize in samples.
|
|
The current default is 1152 for \-l 0, else 4096.
|
|
Blocksize must be between 16 and 65535 (inclusive).
|
|
For subset streams it must be <= 4608 if the samplerate is <= 48kHz, for
|
|
subset streams with higher samplerates it must be <= 16384.
|
|
.TP
|
|
\f[B]\-m\f[R], \f[B]\-\-mid\-side\f[R]
|
|
Try mid\-side coding for each frame (stereo only, otherwise ignored).
|
|
.TP
|
|
\f[B]\-M\f[R], \f[B]\-\-adaptive\-mid\-side\f[R]
|
|
Adaptive mid\-side coding for all frames (stereo only, otherwise
|
|
ignored).
|
|
.TP
|
|
\f[B]\-r\f[R] [#,]#, \f[B]\-\-rice\-partition\-order\f[R]=[#,]#
|
|
Set the [min,]max residual partition order (0..15).
|
|
For subset streams, max must be <=8.
|
|
min defaults to 0.
|
|
Default is \-r 5.
|
|
Actual partitioning will be restricted by block size and prediction
|
|
order, and the encoder will silently reduce too high values.
|
|
.TP
|
|
\f[B]\-A\f[R] \f[I]FUNCTION(S)\f[R], \f[B]\-\-apodization\f[R]=\f[I]FUNCTION(S)\f[R]
|
|
Window audio data with given apodization function.
|
|
More can be given, comma\-separated.
|
|
See section \f[B]Apodization functions\f[R] for details.
|
|
.TP
|
|
\f[B]\-e\f[R], \f[B]\-\-exhaustive\-model\-search\f[R]
|
|
Do exhaustive model search (expensive!).
|
|
.TP
|
|
\f[B]\-q\f[R] #, \f[B]\-\-qlp\-coeff\-precision\f[R]=#
|
|
Precision of the quantized linear\-predictor coefficients.
|
|
This number must be in between 5 and 16, or 0 (the default) to let
|
|
encoder decide.
|
|
Does nothing if using \-l 0.
|
|
.TP
|
|
\f[B]\-p\f[R], \f[B]\-\-qlp\-coeff\-precision\-search\f[R]
|
|
Do exhaustive search of LP coefficient quantization (expensive!).
|
|
Overrides \-q; does nothing if using \-l 0.
|
|
.TP
|
|
\f[B]\-\-lax\f[R]
|
|
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.
|
|
.TP
|
|
\f[B]\-\-limit\-min\-bitrate\f[R]
|
|
Limit minimum bitrate by not allowing frames consisting of only constant
|
|
subframes.
|
|
This ensures a bitrate of at least 1 bit/sample, for example 48kbit/s
|
|
for 48kHz input.
|
|
This is mainly useful for internet streaming.
|
|
.TP
|
|
\f[B]\-j\f[R] #, \f[B]\-\-threads\f[R]=#
|
|
Try to set a maximum number of threads to use for encoding.
|
|
If multithreading was not enabled on compilation or when setting a
|
|
number of threads that is too high, this fails with a warning.
|
|
The value of 0 means a default set by the encoder; currently that is 1
|
|
thread (i.e.\ no multithreading), but that could change in the future.
|
|
Currently, up to 128 threads are supported.
|
|
Using a value higher than the number of available CPU threads harms
|
|
performance.
|
|
.TP
|
|
\f[B]\-\-ignore\-chunk\-sizes\f[R]
|
|
When encoding to flac, ignore the file size headers in WAV and AIFF
|
|
files to attempt to work around problems with over\-sized or malformed
|
|
files.
|
|
WAV and AIFF files both specifies length of audio data with an unsigned
|
|
32\-bit number, limiting audio to just over 4 gigabytes.
|
|
Files larger than this are malformed, but should be read correctly using
|
|
this option.
|
|
Beware however, it could misinterpret any data following the audio
|
|
chunk, as audio.
|
|
.TP
|
|
\f[B]\-\-replay\-gain\f[R]
|
|
Calculate ReplayGain values and store them as FLAC tags, similar 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 8,
|
|
11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8, 44.1, 48, 56, 64, 72,
|
|
75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4, 192, 224, 256, 288, 302.4,
|
|
352.8, 384, 448, 512, 576, or 604.8 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
|
|
(stdout).
|
|
.TP
|
|
\f[B]\-\-cuesheet\f[R]=\f[I]FILENAME\f[R]
|
|
Import the given cuesheet file and store it in a CUESHEET metadata
|
|
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 specified.
|
|
.TP
|
|
\f[B]\-\-picture\f[R]={\f[I]FILENAME|SPECIFICATION\f[R]}
|
|
Import a picture and store it in a PICTURE metadata block.
|
|
More than one \-\-picture option can be specified.
|
|
Either a filename for the picture file or a more complete specification
|
|
form can be used.
|
|
The \f[I]SPECIFICATION\f[R] is a string whose parts are separated by |
|
|
(pipe) characters.
|
|
Some parts may be left empty to invoke default values.
|
|
Specifying only \f[I]FILENAME\f[R] is just shorthand for
|
|
\(lq||||FILENAME\(rq.
|
|
See the section \f[B]Picture specification\f[R] for
|
|
\f[I]SPECIFICATION\f[R] format.
|
|
.TP
|
|
\f[B]\-S\f[R] {#|X|#x|#s}, \f[B]\-\-seekpoint\f[R]={#|X|#x|#s}
|
|
Specifies point(s) to include in SEEKTABLE, to override the encoder\(cqs
|
|
default choice of one per ten seconds (`\-s 10s').
|
|
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, where decimal
|
|
points are locale\-dependent, e.g.\ `\-s 9.5s' or `\-s 9,5s'.
|
|
Several \-S options may be given; the resulting SEEKTABLE will contain
|
|
all seekpoints specified (duplicates removed).
|
|
Note: `\-S #x' and `\-S #s' will not work if the encoder cannot
|
|
determine the input size before starting.
|
|
Note: if you use `\-S #' with # being >= the number of 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).
|
|
Use \-\-no\-seektable for no SEEKTABLE.
|
|
.TP
|
|
\f[B]\-P\f[R] #, \f[B]\-\-padding\f[R]=#
|
|
(Default: 8192 bytes, although 65536 for input above 20 minutes.)
|
|
Tell the encoder to write a PADDING metadata block of the given length
|
|
(in bytes) after the STREAMINFO block.
|
|
This is useful for later tagging, where one can write over the PADDING
|
|
block instead of having to rewrite the entire file.
|
|
Note that a block header of 4 bytes will come on top of the length
|
|
specified.
|
|
.TP
|
|
\f[B]\-T\f[R] \(lq\f[I]FIELD=VALUE\f[R]\(rq\f[B], \-\-tag\f[R]=\(lq\f[I]FIELD=VALUE\f[R]\(rq
|
|
Add a FLAC tag.
|
|
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 content if necessary.
|
|
This option may appear more than once to add several Vorbis comments.
|
|
NOTE: all tags will be added to all encoded files.
|
|
.TP
|
|
\f[B]\-\-tag\-from\-file\f[R]=\(lq\f[I]FIELD=FILENAME\f[R]\(rq
|
|
Like \-\-tag, except FILENAME is a file whose contents will be read
|
|
verbatim to set the tag value.
|
|
The contents will be converted to UTF\-8 from the local charset.
|
|
This can be used to store a cuesheet in a tag
|
|
(e.g.\ \-\-tag\-from\-file=\(lqCUESHEET=image.cue\(rq).
|
|
Do not try to store binary data in tag fields!
|
|
Use APPLICATION blocks for that.
|
|
.SS FORMAT OPTIONS
|
|
Encoding defaults to FLAC and not OGG.
|
|
Decoding defaults to WAVE (more specifically WAVE_FORMAT_PCM for
|
|
mono/stereo with 8/16 bits, and to WAVE_FORMAT_EXTENSIBLE otherwise),
|
|
except: will be overridden by chunks found by
|
|
\-\-keep\-foreign\-metadata\-if\-present or \-\-keep\-foreign\-metadata
|
|
.TP
|
|
\f[B]\-\-ogg\f[R]
|
|
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 `.oga' 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 `.oga' or `.ogg'.
|
|
.TP
|
|
\f[B]\-\-serial\-number\f[R]=#
|
|
When used with \-\-ogg, specifies the serial number to use for the first
|
|
Ogg FLAC stream, which is then incremented for each additional 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.
|
|
.PP
|
|
\f[B]\-\-force\-aiff\-format\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-force\-rf64\-format\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-force\-wave64\-format\f[R] : For decoding: Override default
|
|
output format and force output to AIFF/RF64/WAVE64, respectively.
|
|
This option is not needed if the output filename (as set by \-o) ends
|
|
with \f[I].aif\f[R] or \f[I].aiff\f[R], \f[I].rf64\f[R] and
|
|
\f[I].w64\f[R] respectively.
|
|
The encoder auto\-detects format and ignores this option.
|
|
.PP
|
|
\f[B]\-\-force\-legacy\-wave\-format\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-force\-extensible\-wave\-format\f[R] : Instruct the decoder to
|
|
output a WAVE file with WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE
|
|
respectively, overriding default choice.
|
|
.PP
|
|
\f[B]\-\-force\-aiff\-c\-none\-format\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-force\-aiff\-c\-sowt\-format\f[R] : Instruct the decoder to
|
|
output an AIFF\-C file with format NONE and sowt respectively.
|
|
.TP
|
|
\f[B]\-\-force\-raw\-format\f[R]
|
|
Force input (when encoding) or output (when decoding) to be treated as
|
|
raw samples (even if filename suggests otherwise).
|
|
.SS raw format options
|
|
When encoding from or decoding to raw PCM, format must be specified.
|
|
.TP
|
|
\f[B]\-\-sign\f[R]={signed|unsigned}
|
|
Specify the sign of samples.
|
|
.TP
|
|
\f[B]\-\-endian\f[R]={big|little}
|
|
Specify the byte order for samples
|
|
.TP
|
|
\f[B]\-\-channels\f[R]=#
|
|
(Input only) specify number of channels.
|
|
The channels must be interleaved, and in the order of the FLAC format
|
|
(see the format specification); the encoder (/decoder) cannot re\-order
|
|
channels.
|
|
.TP
|
|
\f[B]\-\-bps\f[R]=#
|
|
(Input only) specify bits per sample (per channel: 16 for CDDA.)
|
|
.TP
|
|
\f[B]\-\-sample\-rate\f[R]=#
|
|
(Input only) specify sample rate (in Hz.
|
|
Only integers supported.)
|
|
.TP
|
|
\f[B]\-\-input\-size\f[R]=#
|
|
(Input only) specify the size of the raw input in bytes.
|
|
This option is only compulsory when encoding from stdin and using
|
|
options that need to know the input size beforehand (like, \-\-skip,
|
|
\-\-until, \-\-cuesheet ) The encoder will truncate at the specified
|
|
size if the input stream is bigger.
|
|
If the input stream is smaller, it will complain about an unexpected
|
|
end\-of\-file.
|
|
.SS ANALYSIS OPTIONS
|
|
.TP
|
|
\f[B]\-\-residual\-text\f[R]
|
|
Includes the residual signal in the analysis file.
|
|
This will make the file very big, much larger than even the decoded
|
|
file.
|
|
.TP
|
|
\f[B]\-\-residual\-gnuplot\f[R]
|
|
Generates a gnuplot file for every subframe; each file will contain the
|
|
residual distribution of the subframe.
|
|
This will create a lot of files.
|
|
gnuplot must be installed separately.
|
|
.SS NEGATIVE OPTIONS
|
|
The following will negate an option previously given:
|
|
.PP
|
|
\f[B]\-\-no\-adaptive\-mid\-side\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-cued\-seekpoints\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-decode\-through\-errors\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-delete\-input\-file\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-preserve\-modtime\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-keep\-foreign\-metadata\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-exhaustive\-model\-search\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-force\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-lax\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-mid\-side\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-ogg\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-padding\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-qlp\-coeff\-prec\-search\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-replay\-gain\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-residual\-gnuplot\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-residual\-text\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-seektable\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-silent\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-verify\f[R]
|
|
.PD 0
|
|
.P
|
|
.PD
|
|
\f[B]\-\-no\-warnings\-as\-errors\f[R]
|
|
.SS ReplayGain application specification
|
|
The option
|
|
\-\-apply\-replaygain\-which\-is\-not\-lossless[=<specification>]
|
|
applies ReplayGain values while decoding.
|
|
\f[B]WARNING: THIS IS NOT LOSSLESS.
|
|
DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS
|
|
OPTION.\f[R] This option is useful for example in transcoding media
|
|
servers, where the client does not support ReplayGain.
|
|
.PP
|
|
The <specification> is a shorthand notation for describing how to apply
|
|
ReplayGain.
|
|
All elements are optional \- defaulting to 0aLn1 \- but order is
|
|
important.
|
|
The format is:
|
|
.PP
|
|
[<preamp>][a|t][l|L][n{0|1|2|3}]
|
|
.PP
|
|
In which the following parameters are used:
|
|
.IP \(bu 2
|
|
\f[B]preamp\f[R]: A floating point number in dB.
|
|
This is added to the existing gain value.
|
|
.IP \(bu 2
|
|
\f[B]a|t\f[R]: Specify `a' to use the album gain, or `t' to use the
|
|
track gain.
|
|
If tags for the preferred kind (album/track) do not exist but tags for
|
|
the other (track/album) do, those will be used instead.
|
|
.IP \(bu 2
|
|
\f[B]l|L\f[R]: Specify `l' to peak\-limit the output, so that the
|
|
ReplayGain peak value is full\-scale.
|
|
Specify `L' to use a 6dB hard limiter that kicks in when the signal
|
|
approaches full\-scale.
|
|
.IP \(bu 2
|
|
\f[B]n{0|1|2|3}\f[R]: Specify the amount of noise shaping.
|
|
ReplayGain synthesis happens in floating point; the result is dithered
|
|
before converting back to integer.
|
|
This quantization adds noise.
|
|
Noise shaping tries to move the noise where you won\(cqt hear it as
|
|
much.
|
|
0 means no noise shaping, 1 means `low', 2 means `medium', 3 means
|
|
`high'.
|
|
.PP
|
|
For example, the default of 0aLn1 means 0dB preamp, use album gain, 6dB
|
|
hard limit, low noise shaping.
|
|
\-\-apply\-replaygain\-which\-is\-not\-lossless=3 means 3dB preamp, use
|
|
album gain, no limiting, no noise shaping.
|
|
.PP
|
|
flac uses the ReplayGain tags for the calculation.
|
|
If a stream does not have the required tags or they can\(cqt be parsed,
|
|
decoding will continue with a warning, and no ReplayGain is applied to
|
|
that stream.
|
|
.SS Picture specification
|
|
This described the specification used for the \f[B]\-\-picture\f[R]
|
|
option.
|
|
[\f[I]TYPE\f[R]]|[\f[I]MIME\-TYPE\f[R]]|[\f[I]DESCRIPTION\f[R]]|[\f[I]WIDTHxHEIGHTxDEPTH\f[R][/\f[I]COLORS\f[R]]]|\f[I]FILE\f[R]
|
|
.PP
|
|
\f[I]TYPE\f[R] is optional; it is a number from one of:
|
|
.IP " 0." 4
|
|
Other
|
|
.IP " 1." 4
|
|
32x32 pixels `file icon' (PNG only)
|
|
.IP " 2." 4
|
|
Other file icon
|
|
.IP " 3." 4
|
|
Cover (front)
|
|
.IP " 4." 4
|
|
Cover (back)
|
|
.IP " 5." 4
|
|
Leaflet page
|
|
.IP " 6." 4
|
|
Media (e.g.\ label side of CD)
|
|
.IP " 7." 4
|
|
Lead artist/lead performer/soloist
|
|
.IP " 8." 4
|
|
Artist/performer
|
|
.IP " 9." 4
|
|
Conductor
|
|
.IP "10." 4
|
|
Band/Orchestra
|
|
.IP "11." 4
|
|
Composer
|
|
.IP "12." 4
|
|
Lyricist/text writer
|
|
.IP "13." 4
|
|
Recording Location
|
|
.IP "14." 4
|
|
During recording
|
|
.IP "15." 4
|
|
During performance
|
|
.IP "16." 4
|
|
Movie/video screen capture
|
|
.IP "17." 4
|
|
A bright coloured fish
|
|
.IP "18." 4
|
|
Illustration
|
|
.IP "19." 4
|
|
Band/artist logotype
|
|
.IP "20." 4
|
|
Publisher/Studio logotype
|
|
.PP
|
|
The default is 3 (front cover).
|
|
There may only be one picture each of type 1 and 2 in a file.
|
|
.PP
|
|
\f[I]MIME\-TYPE\f[R] is optional; if left blank, it will be detected
|
|
from the file.
|
|
For best compatibility with players, use pictures with MIME type
|
|
image/jpeg or image/png.
|
|
The MIME type can also be \-\-> to mean that FILE is actually a URL to
|
|
an image, though this use is discouraged.
|
|
.PP
|
|
\f[I]DESCRIPTION\f[R] is optional; the default is an empty string.
|
|
.PP
|
|
The next part specifies the resolution and color information.
|
|
If the \f[I]MIME\-TYPE\f[R] is image/jpeg, image/png, or image/gif, you
|
|
can usually leave this empty and they can be detected from the file.
|
|
Otherwise, you must specify the width in pixels, height in pixels, and
|
|
color depth in bits\-per\-pixel.
|
|
If the image has indexed colors you should also specify the number of
|
|
colors used.
|
|
When manually specified, it is not checked against the file for
|
|
accuracy.
|
|
.PP
|
|
\f[I]FILE\f[R] is the path to the picture file to be imported, or the
|
|
URL if MIME type is \-\->
|
|
.PP
|
|
\f[B]Specification examples:\f[R] \(lq|image/jpeg|||../cover.jpg\(rq
|
|
will embed the JPEG file at ../cover.jpg, defaulting to type 3 (front
|
|
cover) and an empty description.
|
|
The resolution and color info will be retrieved from the file itself.
|
|
\(lq4|\-\->|CD|320x300x24/173|http://blah.blah/backcover.tiff\(rq will
|
|
embed the given URL, with type 4 (back cover), description \(lqCD\(rq,
|
|
and a manually specified resolution of 320x300, 24 bits\-per\-pixel, and
|
|
173 colors.
|
|
The file at the URL will not be fetched; the URL itself is stored in the
|
|
PICTURE metadata block.
|
|
.SS Apodization functions
|
|
To improve LPC analysis, the audio data is windowed.
|
|
An \f[B]\-A\f[R] option applies the specified apodization function(s)
|
|
instead of the default (which is \(lqtukey(5e\-1)\(rq, though different
|
|
for presets \-6 to \-8.)
|
|
Specifying one more function effectively means, for each subframe, to
|
|
try another weighting of the data and see if it happens to result in a
|
|
smaller encoded subframe.
|
|
Specifying several functions is time\-expensive, at typically
|
|
diminishing compression gains.
|
|
.PP
|
|
The subdivide_tukey(\f[I]N\f[R]) functions (see below) used in presets
|
|
\-6 to \-8 were developed to recycle calculations for speed, compared to
|
|
using a number of independent functions.
|
|
Even then, a high number like \f[I]N\f[R]>4 or 5, will often become less
|
|
efficient than other options considered expensive, like the slower \-p,
|
|
though results vary with signal.
|
|
.PP
|
|
Up to 32 functions can be given as comma\-separated list and/or
|
|
individual \f[B]\-A\f[R] options.
|
|
Any mis\-specified function is silently ignored.
|
|
Quoting a function which takes options (and has parentheses) may be
|
|
necessary, depending on shell.
|
|
Currently the following functions are implemented: bartlett,
|
|
bartlett_hann, blackman, blackman_harris_4term_92db, connes, flattop,
|
|
gauss(\f[I]STDDEV\f[R]), hamming, hann, kaiser_bessel, nuttall,
|
|
rectangle, triangle, tukey(\f[I]P\f[R]),
|
|
partial_tukey(\f[I]N\f[R][/\f[I]OV\f[R][/\f[I]P\f[R]]]),
|
|
punchout_tukey(\f[I]N\f[R][/\f[I]OV\f[R][/\f[I]P\f[R]]]),
|
|
subdivide_tukey(\f[I]N\f[R][/\f[I]P\f[R]]), welch.
|
|
.PP
|
|
For parameters \f[I]P\f[R], \f[I]STDDEV\f[R] and \f[I]OV\f[R],
|
|
scientific notation is supported, e.g.\ tukey(5e\-1).
|
|
Otherwise, the decimal point must agree with the locale,
|
|
e.g.\ tukey(0.5) or tukey(0,5) depending on your system.
|
|
.IP \(bu 2
|
|
For gauss(\f[I]STDDEV\f[R]), \f[I]STDDEV\f[R] is the standard deviation
|
|
(0<\f[I]STDDEV\f[R]<=5e\-1).
|
|
.IP \(bu 2
|
|
For tukey(\f[I]P\f[R]), \f[I]P\f[R] (between 0 and 1) specifies the
|
|
fraction of the window that is cosine\-tapered; \f[I]P\f[R]=0
|
|
corresponds to \(lqrectangle\(rq and \f[I]P\f[R]=1 to \(lqhann\(rq.
|
|
.IP \(bu 2
|
|
partial_tukey(\f[I]N\f[R]) and punchout_tukey(\f[I]N\f[R]) are largely
|
|
obsoleted by the more time\-effective subdivide_tukey(\f[I]N\f[R]), see
|
|
next item.
|
|
They generate \f[I]N\f[R] functions each spanning a part of each block.
|
|
Optional arguments are an overlap \f[I]OV\f[R] (<1, may be negative),
|
|
for example partial_tukey(2/2e\-1); and then a taper parameter
|
|
\f[I]P\f[R], for example partial_tukey(2/2e\-1/5e\-1).
|
|
.IP \(bu 2
|
|
subdivide_tukey(\f[I]N\f[R]) is a more efficient reimplementation of
|
|
partial_tukey and punchout_tukey taken together, combining the windows
|
|
they would generate up to the specified \f[I]N\f[R].
|
|
Specifying subdivide_tukey(3) entails a tukey, a partial_tukey(2), a
|
|
partial_tukey(3) and a punchout_tukey(3); specifying subdivide_tukey(5)
|
|
will on top of that add a partial_tukey(4), a punchout_tukey(4), a
|
|
partial_tukey(5) and a punchout_tukey(5) \- but all with tapering chosen
|
|
to facilitate the re\-use of computation.
|
|
Thus the \f[I]P\f[R] parameter (defaulting to 5e\-1) is applied for the
|
|
smallest used window: For example, subdivide_tukey(2/5e\-1) results in
|
|
the same taper as that of tukey(25e\-2) and subdivide_tukey(5) in the
|
|
same taper as of tukey(1e\-1).
|
|
.SH SEE ALSO
|
|
\f[B]metaflac(1)\f[R]
|
|
.SH AUTHOR
|
|
This manual page was initially written by Matt Zimmerman
|
|
<mdz\(atdebian.org> for the Debian GNU/Linux system (but may be used by
|
|
others).
|
|
It has been kept up\-to\-date by the Xiph.org Foundation.
|