mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
327 lines
12 KiB
Groff
327 lines
12 KiB
Groff
.\" Automatically generated by Pandoc 2.9.2.1
|
|
.\"
|
|
.TH "metaflac" "1" "" "Version 1.4.3" "Free Lossless Audio Codec metadata tool"
|
|
.hy
|
|
.SH NAME
|
|
.PP
|
|
metaflac - program to list, add, remove, or edit metadata in one or more
|
|
FLAC files.
|
|
.SH SYNOPSIS
|
|
.PP
|
|
\f[B]metaflac\f[R] [ \f[I]options\f[R] ] [ \f[I]operations\f[R] ]
|
|
\f[I]FLACfile \&...\f[R]
|
|
.SH DESCRIPTION
|
|
.PP
|
|
Use \f[B]metaflac\f[R] to list, add, remove, or edit metadata in one or
|
|
more FLAC files.
|
|
You may perform one major operation, or many shorthand operations at a
|
|
time.
|
|
.SH GENERAL USAGE
|
|
.PP
|
|
metaflac is the command-line .flac file metadata editor.
|
|
You can use it to list the contents of metadata blocks, edit, delete or
|
|
insert blocks, and manage padding.
|
|
.PP
|
|
metaflac takes a set of \[lq]options\[rq] (though some are not optional)
|
|
and a set of FLAC files to operate on.
|
|
There are three kinds of \[lq]options\[rq]:
|
|
.IP \[bu] 2
|
|
Major operations, which specify a mode of operation like listing blocks,
|
|
removing blocks, etc.
|
|
These will have sub-operations describing exactly what is to be done.
|
|
.IP \[bu] 2
|
|
Shorthand operations, which are convenient synonyms for major
|
|
operations.
|
|
For example, there is a shorthand operation \[en]show-sample-rate that
|
|
shows just the sample rate field from the STREAMINFO metadata block.
|
|
.IP \[bu] 2
|
|
Global options, which affect all the operations.
|
|
.PP
|
|
All of these are described in the tables below.
|
|
At least one shorthand or major operation must be supplied.
|
|
You can use multiple shorthand operations to do more than one thing to a
|
|
file or set of files.
|
|
Most of the common things to do to metadata have shorthand operations.
|
|
As an example, here is how to show the MD5 signatures for a set of three
|
|
FLAC files:
|
|
.PP
|
|
\f[C]metaflac --show-md5sum file1.flac file2.flac file3.flac\f[R]
|
|
.PP
|
|
Another example; this removes all DESCRIPTION and COMMENT tags in a set
|
|
of FLAC files, and uses the \[en]preserve-modtime global option to keep
|
|
the FLAC file modification times the same (usually when files are edited
|
|
the modification time is set to the current time):
|
|
.PP
|
|
\f[C]metaflac --preserve-modtime --remove-tag=DESCRIPTION --remove-tag=COMMENT file1.flac file2.flac file3.flac\f[R]
|
|
.SH OPTIONS
|
|
.TP
|
|
\f[B]--preserve-modtime\f[R]
|
|
Preserve the original modification time in spite of edits.
|
|
.TP
|
|
\f[B]--with-filename\f[R]
|
|
Prefix each output line with the FLAC file name (the default if more
|
|
than one FLAC file is specified).
|
|
This option has no effect for options exporting to a file, like
|
|
\[en]export-tags-to.
|
|
.TP
|
|
\f[B]--no-filename\f[R]
|
|
Do not prefix each output line with the FLAC file name (the default if
|
|
only one FLAC file is specified).
|
|
.TP
|
|
\f[B]--no-utf8-convert\f[R]
|
|
Do not convert tags from UTF-8 to local charset, or vice versa.
|
|
This is useful for scripts, and setting tags in situations where the
|
|
locale is wrong.
|
|
.TP
|
|
\f[B]--dont-use-padding\f[R]
|
|
By default metaflac tries to use padding where possible to avoid
|
|
rewriting the entire file if the metadata size changes.
|
|
Use this option to tell metaflac to not take advantage of padding this
|
|
way.
|
|
.SH SHORTHAND OPERATIONS
|
|
.TP
|
|
\f[B]--show-md5sum\f[R]
|
|
Show the MD5 signature from the STREAMINFO block.
|
|
.TP
|
|
\f[B]--show-min-blocksize\f[R]
|
|
Show the minimum block size from the STREAMINFO block.
|
|
.TP
|
|
\f[B]--show-max-blocksize\f[R]
|
|
Show the maximum block size from the STREAMINFO block.
|
|
.TP
|
|
\f[B]--show-min-framesize\f[R]
|
|
Show the minimum frame size from the STREAMINFO block.
|
|
.TP
|
|
\f[B]--show-max-framesize\f[R]
|
|
Show the maximum frame size from the STREAMINFO block.
|
|
.TP
|
|
\f[B]--show-sample-rate\f[R]
|
|
Show the sample rate from the STREAMINFO block.
|
|
.TP
|
|
\f[B]--show-channels\f[R]
|
|
Show the number of channels from the STREAMINFO block.
|
|
.TP
|
|
\f[B]--show-bps\f[R]
|
|
Show the # of bits per sample from the STREAMINFO block.
|
|
.TP
|
|
\f[B]--show-total-samples\f[R]
|
|
Show the total # of samples from the STREAMINFO block.
|
|
.TP
|
|
\f[B]--show-vendor-tag\f[R]
|
|
Show the vendor string from the VORBIS_COMMENT block.
|
|
.TP
|
|
\f[B]--show-tag=name\f[R]
|
|
Show all tags where the field name matches `name'.
|
|
.TP
|
|
\f[B]--show-all-tags\f[R]
|
|
Show all tags.
|
|
This is an alias for \[en]export-tags-to=-.
|
|
.TP
|
|
\f[B]--remove-tag=name\f[R]
|
|
Remove all tags whose field name is `name'.
|
|
.TP
|
|
\f[B]--remove-first-tag=name\f[R]
|
|
Remove first tag whose field name is `name'.
|
|
.TP
|
|
\f[B]--remove-all-tags\f[R]
|
|
Remove all tags, leaving only the vendor string.
|
|
.TP
|
|
\f[B]--remove-all-tags-except=NAME1[=NAME2[=\&...]]\f[R]
|
|
Remove all tags, except the vendor string and the tag names specified.
|
|
Tag names must be separated by an = character.
|
|
.TP
|
|
\f[B]--set-tag=field\f[R]
|
|
Add a tag.
|
|
The field must comply with the Vorbis comment spec, of the form
|
|
\[lq]NAME=VALUE\[rq].
|
|
If there is currently no tag block, one will be created.
|
|
.TP
|
|
\f[B]--set-tag-from-file=field\f[R]
|
|
Like --set-tag, except the VALUE is a filename whose contents will be
|
|
read verbatim to set the tag value.
|
|
Unless --no-utf8-convert is specified, 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.
|
|
--set-tag-from-file=\[lq]CUESHEET=image.cue\[rq]).
|
|
Do not try to store binary data in tag fields! Use APPLICATION blocks
|
|
for that.
|
|
.TP
|
|
\f[B]--import-tags-from=file\f[R]
|
|
Import tags from a file.
|
|
Use `-' for stdin.
|
|
Each line should be of the form NAME=VALUE.
|
|
Multi-line comments are currently not supported.
|
|
Specify --remove-all-tags and/or --no-utf8-convert before
|
|
--import-tags-from if necessary.
|
|
If FILE is `-' (stdin), only one FLAC file may be specified.
|
|
.TP
|
|
\f[B]--export-tags-to=file\f[R]
|
|
Export tags to a file.
|
|
Use `-' for stdout.
|
|
Each line will be of the form NAME=VALUE.
|
|
Specify --no-utf8-convert if necessary.
|
|
.TP
|
|
\f[B]--import-cuesheet-from=file\f[R]
|
|
Import a cuesheet from a file.
|
|
Use `-' for stdin.
|
|
Only one FLAC file may be specified.
|
|
A seekpoint will be added for each index point in the cuesheet to the
|
|
SEEKTABLE unless --no-cued-seekpoints is specified.
|
|
.TP
|
|
\f[B]--export-cuesheet-to=file\f[R]
|
|
Export CUESHEET block to a cuesheet file, suitable for use by CD
|
|
authoring software.
|
|
Use `-' for stdout.
|
|
Only one FLAC file may be specified on the command line.
|
|
.TP
|
|
\f[B]--import-picture-from={\f[R]\f[I]FILENAME\f[R]\f[B]|\f[R]\f[I]SPECIFICATION\f[R]\f[B]}\f[R]
|
|
Import a picture and store it in a PICTURE metadata block.
|
|
More than one --import-picture-from command can be specified.
|
|
Either a filename for the picture file or a more complete specification
|
|
form can be used.
|
|
The SPECIFICATION is a string whose parts are separated by | (pipe)
|
|
characters.
|
|
Some parts may be left empty to invoke default values.
|
|
FILENAME is just shorthand for \[lq]||||FILENAME\[rq].
|
|
For details on the specification, see the section \f[B]Picture
|
|
specification\f[R] in the \f[B]flac(1)\f[R] man page.
|
|
.TP
|
|
\f[B]--export-picture-to=file\f[R]
|
|
Export PICTURE block to a file.
|
|
Use `-' for stdout.
|
|
Only one FLAC file may be specified on the command line.
|
|
The first PICTURE block will be exported unless --export-picture-to is
|
|
preceded by a --block-number=# option to specify the exact metadata
|
|
block to extract.
|
|
Note that the block number is the one shown by --list.
|
|
.TP
|
|
\f[B]--add-replay-gain\f[R]
|
|
Calculates the title and album gains/peaks of the given FLAC files as if
|
|
all the files were part of one album, then stores them as FLAC tags.
|
|
The tags are the same as those used by vorbisgain.
|
|
Existing ReplayGain tags will be replaced.
|
|
If only one FLAC file is given, the album and title gains will be the
|
|
same.
|
|
Since this operation requires two passes, it is always executed last,
|
|
after all other operations have been completed and written to disk.
|
|
All FLAC files specified 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.
|
|
.TP
|
|
\f[B]--scan-replay-gain\f[R]
|
|
Like --add-replay-gain, but only analyzes the files rather than writing
|
|
them to the tags.
|
|
.TP
|
|
\f[B]--remove-replay-gain\f[R]
|
|
Removes the ReplayGain tags.
|
|
.TP
|
|
\f[B]--add-seekpoint={\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]X\f[R]\f[B]|\f[R]\f[I]#x\f[R]\f[B]|\f[R]\f[I]#s\f[R]\f[B]}\f[R]
|
|
Add seek points to a SEEKTABLE block.
|
|
Using #, a seek point at that sample number is added.
|
|
Using X, a placeholder point is added at the end of a the table.
|
|
Using #x, # evenly spaced seek points will be added, the first being at
|
|
sample 0.
|
|
Using #s, a seekpoint will be added every # seconds (# does not have to
|
|
be a whole number; it can be, for example, 9.5, meaning a seekpoint
|
|
every 9.5 seconds).
|
|
If no SEEKTABLE block exists, one will be created.
|
|
If one already exists, points will be added to the existing table, and
|
|
any duplicates will be turned into placeholder points.
|
|
You may use many --add-seekpoint options; the resulting SEEKTABLE will
|
|
be the unique-ified union of all such values.
|
|
Example: --add-seekpoint=100x --add-seekpoint=3.5s will add 100 evenly
|
|
spaced seekpoints and a seekpoint every 3.5 seconds.
|
|
.TP
|
|
\f[B]--add-padding=length\f[R]
|
|
Add a padding block of the given length (in bytes).
|
|
The overall length of the new block will be 4 + length; the extra 4
|
|
bytes is for the metadata block header.
|
|
.SH MAJOR OPERATIONS
|
|
.TP
|
|
\f[B]--list\f[R]
|
|
List the contents of one or more metadata blocks to stdout.
|
|
By default, all metadata blocks are listed in text format.
|
|
Use the options \f[B]--block-number\f[R], \f[B]--block-type\f[R] or
|
|
\f[B]--except-block-type\f[R] to change this behavior.
|
|
.TP
|
|
\f[B]--remove\f[R]
|
|
Remove one or more metadata blocks from the metadata.
|
|
Use the options \f[B]--block-number\f[R], \f[B]--block-type\f[R] or
|
|
\f[B]--except-block-type\f[R] to specify which blocks should be removed.
|
|
Note that if both --block-number and --[except-]block-type are
|
|
specified, the result is the logical AND of both arguments.
|
|
Unless --dont-use-padding is specified, the blocks will be replaced with
|
|
padding.
|
|
You may not remove the STREAMINFO block.
|
|
.TP
|
|
\f[B]--block-number=#[,#[\&...]]\f[R]
|
|
An optional comma-separated list of block numbers to display.
|
|
The first block, the STREAMINFO block, is block 0.
|
|
.PP
|
|
\f[B]--block-type=type[,type[\&...]]\f[R]
|
|
.TP
|
|
\f[B]--except-block-type=type[,type[\&...]]\f[R]
|
|
An optional comma-separated list of block types to be included or
|
|
ignored with this option.
|
|
Use only one of --block-type or --except-block-type.
|
|
The valid block types are: STREAMINFO, PADDING, APPLICATION, SEEKTABLE,
|
|
VORBIS_COMMENT, PICTURE.
|
|
You may narrow down the types of APPLICATION blocks selected by
|
|
appending APPLICATION with a colon and the ID of the APPLICATION block
|
|
in either ASCII or hexadecimal representation.
|
|
E.g.
|
|
APPLICATION:abcd for the APPLICATION block(s) whose textual
|
|
representation of the 4-byte ID is \[lq]abcd\[rq] or
|
|
APPLICATION:0xXXXXXXXX for the APPLICATION block(s) whose hexadecimal
|
|
big- endian representation of the 4-byte ID is \[lq]0xXXXXXXXX\[rq].
|
|
For the example \[lq]abcd\[rq] above the hexadecimal equivalalent is
|
|
0x61626364
|
|
.TP
|
|
\f[B]--application-data-format=hexdump|text\f[R]
|
|
If the application block you are displaying contains binary data but
|
|
your --data-format=text, you can display a hex dump of the application
|
|
data contents instead using --application-data-format=hexdump.
|
|
.TP
|
|
\f[B]--data-format=binary|binary-headerless|text\f[R]
|
|
For use with \[en]list.
|
|
By default a human-readable text representation of the data is isplayed.
|
|
You may specify \[en]data-format=binary to dump the raw binary form of
|
|
each metadata block.
|
|
Specify \[en]data-format=binary-headerless to omit output of metadata
|
|
block headers, including the id of APPLICATION metadata blocks.
|
|
.TP
|
|
\f[B]--append\f[R]
|
|
Insert a metadata block from a file.
|
|
This must be a binary block as exported with \[en]list
|
|
\[en]data-format=binary.
|
|
The insertion point is defined with \[en]block-number=#.
|
|
The new block will be added after the given block number.
|
|
This prevents the illegal insertion of a block before the first
|
|
STREAMINFO block.
|
|
You may not \[en]append another STREAMINFO block.
|
|
It is possible to copy a metadata block from one file to another with
|
|
this option.
|
|
For example use
|
|
\f[C]metaflac --list --data-format=binary --block-number=6 file.flac > block\f[R]
|
|
to export the block, and then import it with
|
|
\f[C]metaflac --append anotherfile.flac < block\f[R]
|
|
.TP
|
|
\f[B]--remove-all\f[R]
|
|
Remove all metadata blocks (except the STREAMINFO block) from the
|
|
metadata.
|
|
Unless --dont-use-padding is specified, the blocks will be replaced with
|
|
padding.
|
|
.TP
|
|
\f[B]--merge-padding\f[R]
|
|
Merge adjacent PADDING blocks into single blocks.
|
|
.TP
|
|
\f[B]--sort-padding\f[R]
|
|
Move all PADDING blocks to the end of the metadata and merge them into a
|
|
single block.
|
|
.SH SEE ALSO
|
|
.PP
|
|
\f[B]flac(1)\f[R]
|