


METAFLAC(1)                                           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 opera-
       tions at a time.

OPTIONS
       --preserve-modtime
              Preserve the original modification time in spite of edits.

       --with-filename
              Prefix each output line with the FLAC file name (the default  if
              more than one FLAC file is specified).

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



                        14 September 2007                       1





METAFLAC(1)                                           METAFLAC(1)


       --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 the field name matches 'name'.

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

       --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 binary 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  supported.  Specify --remove-all-tags and/or --no-utf8-con-
              vert 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.



                        14 September 2007                       2





METAFLAC(1)                                           METAFLAC(1)


       --export-cuesheet-to=file
              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.

       --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
              separated by | (pipe) characters.  Some parts may be left  empty
              to  invoke  default  values.   FILENAME  is  just  shorthand for
              "||||FILENAME".  The format of SPECIFICATION is

              [TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COL-
              ORS]]|FILE

              TYPE is optional; it is a number from one of:

              0: Other

              1: 32x32 pixels 'file icon' (PNG only)

              2: Other file icon

              3: Cover (front)

              4: Cover (back)

              5: Leaflet page

              6: Media (e.g. label side of CD)

              7: Lead artist/lead performer/soloist

              8: Artist/performer

              9: Conductor

              10: Band/Orchestra

              11: Composer

              12: Lyricist/text writer

              13: Recording Location

              14: During recording

              15: During performance

              16: Movie/video screen capture

              17: A bright coloured fish



                        14 September 2007                       3





METAFLAC(1)                                           METAFLAC(1)


              18: Illustration

              19: Band/artist logotype

              20: Publisher/Studio logotype

              The  default  is 3 (front cover).  There may only be one picture
              each of type 1 and 2 in a file.

              MIME-TYPE 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.

              DESCRIPTION is optional; the default is an empty string.

              The next part specfies the resolution and color information.  If
              the  MIME-TYPE  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 pix-
              els, 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.

              FILE  is the path to the picture file to be imported, or the URL
              if MIME type is -->

              For example, "|image/jpeg|||../cover.jpg" 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.

              The                                                specification
              "4|-->|CD|320x300x24/173|http://blah.blah/backcover.tiff"   will
              embed the given URL, with type 4 (back cover), description "CD",
              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.

       --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 PIC-
              TURE block will be exported unless --export-picture-to  is  pre-
              ceded by a --block-number=# option to specify the exact metadata
              block to extract.  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 vor-
              bisgain.  Existing ReplayGain tags will be  replaced.   If  only



                        14 September 2007                       4





METAFLAC(1)                                           METAFLAC(1)


              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.  The sam-
              ple rate must be one of 8, 11.025, 12, 16, 22.05, 24, 32,  44.1,
              or 48 kHz.

       --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 duplicates will be turned into place-
              holder 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 sec-
              onds.

       --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
              default, all metadata blocks are listed in text format.  Use the
              following options to change this behavior:

              --block-number=#[,#[...]]
                     An optional comma-separated list of block numbers to dis-
                     play.  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, APPLICATION, SEEKTABLE,
                     VORBIS_COMMENT.  You may narrow down the types of  APPLI-
                     CATION blocks displayed as follows:

                     APPLICATION:abcd         The  APPLICATION  block(s) whose
                     textual repre- sentation  of  the  4-byte  ID  is  "abcd"
                     APPLICATION:0xXXXXXXXX   The  APPLICATION  block(s) whose



                        14 September 2007                       5





METAFLAC(1)                                           METAFLAC(1)


                     hexadecimal big- endian representation of the  4-byte  ID
                     is  "0xXXXXXXXX".   For the example "abcd" above the hex-
                     adecimal equivalalent is 0x61626364

                     Note: if both  --block-number  and  --[except-]block-type
                     are  specified,  the  result  is  the logical AND of both
                     arguments.

              --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 application data contents instead using
                     --application-data-format=hexdump.

       --remove
              Remove  one  or  more metadata blocks from the metadata.  Unless
              --dont-use-padding is specified, the  blocks  will  be  replaced
              with padding.  You may not remove the STREAMINFO block.

              --block-number=#[,#[...]]

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

              --except-block-type=type[,type[...]]
                     See --list above for usage.

                     Note:  if  both  --block-number and --[except-]block-type
                     are specified, the result is  the  logical  AND  of  both
                     arguments.

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













                        14 September 2007                       6


