Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
metaflac(1)	     Free Lossless Audio Codec metadata tool	     metaflac(1)

NAME
     metaflac  -  program  to list, add, remove, or edit metadata in one or more
     FLAC files.

SYNOPSIS
     metaflac [ options ] [ operations ] FLACfile ...

DESCRIPTION
     Use metaflac 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.

GENERAL USAGE
     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.

     metaflac  takes a set of "options" (though some are not optional) and a set
     of FLAC files to operate on.  There are three kinds of "options":

     * 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.

     * Shorthand operations, which are convenient synonyms for major operations.
       For example, there is a shorthand operation --show-sample-rate that shows
       just the sample rate field from the STREAMINFO metadata block.

     * Global options, which affect all the operations.

     All of these are described in the tables below.  At least one shorthand  or
     major  operation  must  be supplied.  You can use multiple shorthand opera-
     tions 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:

     metaflac --show-md5sum file1.flac file2.flac file3.flac

     Another example; this removes all DESCRIPTION and COMMENT tags in a set  of
     FLAC  files, and uses the --preserve-modtime global option to keep the FLAC
     file modification times the same (usually when files are edited the modifi-
     cation time is set to the current time):

     metaflac --preserve-modtime  --remove-tag=DESCRIPTION  --remove-tag=COMMENT
     file1.flac file2.flac file3.flac

OPTIONS
     -o filename, --output-name=filename
	    Output  to	a  new	file  instead of changing or rewriting the input
	    file.

     --preserve-modtime
	    Preserve the original modification time in	spite  of  edits.   This
	    does nothing when -o or -output-name are specified.

     --with-filename
	    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 op-
	    tions exporting to a file, like --export-tags-to.

     --no-filename
	    Do	not prefix each output line with the FLAC file name (the default
	    if only one FLAC file is specified).

     --no-utf8-convert
	    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.

     --dont-use-padding
	    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.

SHORTHAND OPERATIONS
     --show-md5sum
	    Show the MD5 signature from the STREAMINFO block.

     --show-min-blocksize
	    Show the minimum block size from the STREAMINFO block.

     --show-max-blocksize
	    Show the maximum block size from the STREAMINFO block.

     --show-min-framesize
	    Show the minimum frame size from the STREAMINFO block.

     --show-max-framesize
	    Show the maximum frame size from the STREAMINFO block.

     --show-sample-rate
	    Show the sample rate from the STREAMINFO block.

     --show-channels
	    Show the number of channels from the STREAMINFO block.

     --show-bps
	    Show the # of bits per sample from the STREAMINFO block.

     --show-total-samples
	    Show the total # of samples from the STREAMINFO block.

     --show-vendor-tag
	    Show the vendor string from the VORBIS_COMMENT block.

     --show-tag=name
	    Show all tags where the field name matches `name'.

     --show-all-tags
	    Show all tags.  This is an alias for --export-tags-to=-.

     --remove-tag=name
	    Remove all tags whose field name is `name'.

     --remove-first-tag=name
	    Remove first tag whose field name is `name'.

     --remove-all-tags
	    Remove all tags, leaving only the vendor string.

     --remove-all-tags-except=NAME1[=NAME2[=...]]
	    Remove  all  tags, except the vendor string and the tag names speci-
	    fied.  Tag names must be separated by an = character.

     --set-tag=field
	    Add a tag.	The field must comply with the Vorbis comment  spec,  of
	    the form "NAME=VALUE".  If there is currently no tag block, one will
	    be created.

     --set-tag-from-file=field
	    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="CUESHEET=image.cue").	 Do not try to store bi-
	    nary data in tag fields!  Use APPLICATION blocks for that.

     --import-tags-from=file
	    Import tags from a file.  Use `-' for stdin.  Each line should be of
	    the form NAME=VALUE.  Multi-line comments  are  currently  not  sup-
	    ported.   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.

     --export-tags-to=file
	    Export  tags  to  a file.  Use `-' for stdout.  Each line will be of
	    the form NAME=VALUE.  Specify --no-utf8-convert if necessary.

     --import-cuesheet-from=file
	    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.

     --export-cuesheet-to=file
	    Export CUESHEET block to a cuesheet file, suitable for use by CD au-
	    thoring  software.	 Use  `-' for stdout.  Only one FLAC file may be
	    specified on the command line.

     --import-picture-from={FILENAME|SPECIFICATION}
	    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 sepa-
	    rated by | (pipe) characters.  Some parts may be left empty  to  in-
	    voke default values.  FILENAME is just shorthand for "||||FILENAME".
	    For details on the specification, see the section Picture specifica-
	    tion in the flac(1) man page.

     --export-picture-to=file
	    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  ex-
	    tract.  Note that the block number is the one shown by --list.

     --add-replay-gain
	    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 op-
	    erations  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.

     --scan-replay-gain
	    Like --add-replay-gain, but only  analyzes	the  files  rather  than
	    writing them to the tags.

     --remove-replay-gain
	    Removes the ReplayGain tags.

     --add-seekpoint={#|X|#x|#s}
	    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 dupli-
	    cates 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.

     --add-padding=length
	    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.

MAJOR OPERATIONS
     --list
	    List the contents of one or more metadata blocks to stdout.  By  de-
	    fault,  all  metadata blocks are listed in text format.  Use the op-
	    tions --block-number, --block-type or --except-block-type to  change
	    this behavior.

     --remove
	    Remove  one  or more metadata blocks from the metadata.  Use the op-
	    tions --block-number, --block-type or --except-block-type 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.

     --block-number=#[,#[...]]
	    An optional comma-separated list of block numbers to  display.   The
	    first block, the STREAMINFO block, is block 0.

     --block-type=type[,type[...]]

     --except-block-type=type[,type[...]]
	    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,  APPLI-
	    CATION, 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 hexa-
	    decimal representation.  E.g.  APPLICATION:abcd for the  APPLICATION
	    block(s)  whose textual representation of the 4-byte ID is "abcd" or
	    APPLICATION:0xXXXXXXXX for the APPLICATION block(s) whose  hexadeci-
	    mal  big-  endian  representation  of the 4-byte ID is "0xXXXXXXXX".
	    For  the  example  "abcd"  above  the  hexadecimal	equivalalent  is
	    0x61626364

     --application-data-format=hexdump|text
	    If the application block you are displaying contains binary data but
	    your  --data-format=text, you can display a hex dump of the applica-
	    tion data contents instead using --application-data-format=hexdump.

     --data-format=binary|binary-headerless|text
	    For use with --list.  By default a human-readable  text  representa-
	    tion  of the data is isplayed.  You may specify --data-format=binary
	    to dump the raw binary form of each metadata block.  Specify --data-
	    format=binary-headerless to omit output of metadata  block	headers,
	    including the id of APPLICATION metadata blocks.

     --append
	    Insert a metadata block from a file.  This must be a binary block as
	    exported  with  --list --data-format=binary.  The insertion point is
	    defined with --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  --append  an-
	    other  STREAMINFO  block.	It  is possible to copy a metadata block
	    from one file to another with this option.	For example use metaflac
	    --list --data-format=binary --block-number=6 file.flac  >  block  to
	    export the block, and then import it with metaflac --append another-
	    file.flac < block

     --remove-all
	    Remove  all  metadata  blocks (except the STREAMINFO block) from the
	    metadata.  Unless --dont-use-padding is specified, the  blocks  will
	    be replaced with padding.

     --merge-padding
	    Merge adjacent PADDING blocks into single blocks.

     --sort-padding
	    Move  all  PADDING	blocks to the end of the metadata and merge them
	    into a single block.

SEE ALSO
     flac(1)

Version 1.5.0							     metaflac(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=metaflac&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help