Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 1 | .\" This manpage has been automatically generated by docbook2man |
| 2 | .\" from a DocBook document. This tool can be found at: |
| 3 | .\" <http://shell.ipoline.com/~elmert/comp/docbook2X/> |
| 4 | .\" Please send any bug reports, improvements, comments, patches, |
| 5 | .\" etc. to Steve Cheng <steve@ggi-project.org>. |
Erik de Castro Lopo | b1982fb | 2013-05-25 17:11:19 +1000 | [diff] [blame] | 6 | .TH "METAFLAC" "1" "2013/04/30" "" "" |
Josh Coalson | b0468ee | 2006-10-10 03:47:36 +0000 | [diff] [blame] | 7 | |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 8 | .SH NAME |
| 9 | metaflac \- program to list, add, remove, or edit metadata in one or more FLAC files. |
| 10 | .SH SYNOPSIS |
| 11 | |
| 12 | \fBmetaflac\fR [ \fB\fIoptions\fB\fR ] [ \fB\fIoperations\fB\fR ] \fB\fIFLACfile\fB\fR\fI ...\fR |
| 13 | |
| 14 | .SH "DESCRIPTION" |
| 15 | .PP |
| 16 | Use \fBmetaflac\fR to list, add, remove, or edit |
| 17 | metadata in one or more FLAC files. You may perform one major operation, |
| 18 | or many shorthand operations at a time. |
| 19 | .SH "OPTIONS" |
| 20 | .TP |
| 21 | \fB--preserve-modtime\fR |
| 22 | Preserve the original modification time in spite of edits. |
| 23 | .TP |
| 24 | \fB--with-filename\fR |
| 25 | Prefix each output line with the FLAC file name (the default if |
| 26 | more than one FLAC file is specified). |
| 27 | .TP |
| 28 | \fB--no-filename\fR |
| 29 | Do not prefix each output line with the FLAC file name (the default |
| 30 | if only one FLAC file is specified). |
| 31 | .TP |
Josh Coalson | a9502bf | 2007-01-30 16:58:51 +0000 | [diff] [blame] | 32 | \fB--no-utf8-convert\fR |
| 33 | Do not convert tags from UTF-8 to local charset, or vice versa. This is |
Josh Coalson | 3038f52 | 2007-09-14 15:04:49 +0000 | [diff] [blame] | 34 | useful for scripts, and setting tags in situations where the locale is wrong. |
Josh Coalson | a9502bf | 2007-01-30 16:58:51 +0000 | [diff] [blame] | 35 | .TP |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 36 | \fB--dont-use-padding\fR |
| 37 | By default metaflac tries to use padding where possible to avoid |
| 38 | rewriting the entire file if the metadata size changes. Use this |
| 39 | option to tell metaflac to not take advantage of padding this way. |
| 40 | .SH "SHORTHAND OPERATIONS" |
| 41 | .TP |
| 42 | \fB--show-md5sum\fR |
| 43 | Show the MD5 signature from the STREAMINFO block. |
| 44 | .TP |
| 45 | \fB--show-min-blocksize\fR |
| 46 | Show the minimum block size from the STREAMINFO block. |
| 47 | .TP |
| 48 | \fB--show-max-blocksize\fR |
| 49 | Show the maximum block size from the STREAMINFO block. |
| 50 | .TP |
| 51 | \fB--show-min-framesize\fR |
| 52 | Show the minimum frame size from the STREAMINFO block. |
| 53 | .TP |
| 54 | \fB--show-max-framesize\fR |
| 55 | Show the maximum frame size from the STREAMINFO block. |
| 56 | .TP |
| 57 | \fB--show-sample-rate\fR |
| 58 | Show the sample rate from the STREAMINFO block. |
| 59 | .TP |
| 60 | \fB--show-channels\fR |
| 61 | Show the number of channels from the STREAMINFO block. |
| 62 | .TP |
| 63 | \fB--show-bps\fR |
| 64 | Show the # of bits per sample from the STREAMINFO block. |
| 65 | .TP |
| 66 | \fB--show-total-samples\fR |
| 67 | Show the total # of samples from the STREAMINFO block. |
| 68 | .TP |
Josh Coalson | 41b22d5 | 2004-09-15 00:52:48 +0000 | [diff] [blame] | 69 | \fB--show-vendor-tag\fR |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 70 | Show the vendor string from the VORBIS_COMMENT block. |
| 71 | .TP |
Josh Coalson | 41b22d5 | 2004-09-15 00:52:48 +0000 | [diff] [blame] | 72 | \fB--show-tag=name\fR |
Zoë Blade | 7b757e4 | 2014-12-01 14:38:11 +0000 | [diff] [blame] | 73 | Show all tags where the field name matches 'name'. |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 74 | .TP |
Josh Coalson | 41b22d5 | 2004-09-15 00:52:48 +0000 | [diff] [blame] | 75 | \fB--remove-tag=name\fR |
| 76 | Remove all tags whose field name is 'name'. |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 77 | .TP |
Josh Coalson | 41b22d5 | 2004-09-15 00:52:48 +0000 | [diff] [blame] | 78 | \fB--remove-first-tag=name\fR |
| 79 | Remove first tag whose field name is 'name'. |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 80 | .TP |
Josh Coalson | 41b22d5 | 2004-09-15 00:52:48 +0000 | [diff] [blame] | 81 | \fB--remove-all-tags\fR |
| 82 | Remove all tags, leaving only the vendor string. |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 83 | .TP |
Josh Coalson | 41b22d5 | 2004-09-15 00:52:48 +0000 | [diff] [blame] | 84 | \fB--set-tag=field\fR |
| 85 | Add a tag. The field must comply with the |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 86 | Vorbis comment spec, of the form "NAME=VALUE". If there is |
Josh Coalson | 41b22d5 | 2004-09-15 00:52:48 +0000 | [diff] [blame] | 87 | currently no tag block, one will be created. |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 88 | .TP |
Josh Coalson | b0468ee | 2006-10-10 03:47:36 +0000 | [diff] [blame] | 89 | \fB--set-tag-from-file=field\fR |
| 90 | Like --set-tag, except the VALUE is a filename whose |
| 91 | contents will be read verbatim to set the tag value. |
| 92 | Unless --no-utf8-convert is specified, the contents will be |
| 93 | converted to UTF-8 from the local charset. This can be used |
| 94 | to store a cuesheet in a tag (e.g. |
| 95 | --set-tag-from-file="CUESHEET=image.cue"). Do not try to |
| 96 | store binary data in tag fields! Use APPLICATION blocks for |
| 97 | that. |
| 98 | .TP |
Josh Coalson | 41b22d5 | 2004-09-15 00:52:48 +0000 | [diff] [blame] | 99 | \fB--import-tags-from=file\fR |
| 100 | Import tags from a file. Use '-' for stdin. Each |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 101 | line should be of the form NAME=VALUE. Multi-line comments |
Josh Coalson | 41b22d5 | 2004-09-15 00:52:48 +0000 | [diff] [blame] | 102 | are currently not supported. Specify --remove-all-tags and/or |
Josh Coalson | 86325ef | 2006-11-17 16:06:15 +0000 | [diff] [blame] | 103 | --no-utf8-convert before --import-tags-from if necessary. If |
| 104 | FILE is '-' (stdin), only one FLAC file may be specified. |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 105 | .TP |
Josh Coalson | 41b22d5 | 2004-09-15 00:52:48 +0000 | [diff] [blame] | 106 | \fB--export-tags-to=file\fR |
Josh Coalson | a9502bf | 2007-01-30 16:58:51 +0000 | [diff] [blame] | 107 | Export tags to a file. Use '-' for stdout. Each |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 108 | line will be of the form NAME=VALUE. Specify |
| 109 | --no-utf8-convert if necessary. |
| 110 | .TP |
| 111 | \fB--import-cuesheet-from=file\fR |
Josh Coalson | 91ccea9 | 2005-02-02 04:35:49 +0000 | [diff] [blame] | 112 | Import a cuesheet from a file. Use '-' for stdin. Only one |
| 113 | FLAC file may be specified. A seekpoint will be added for each |
| 114 | index point in the cuesheet to the SEEKTABLE unless |
| 115 | --no-cued-seekpoints is specified. |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 116 | .TP |
| 117 | \fB--export-cuesheet-to=file\fR |
| 118 | Export CUESHEET block to a cuesheet file, suitable for use by |
Josh Coalson | 91ccea9 | 2005-02-02 04:35:49 +0000 | [diff] [blame] | 119 | CD authoring software. Use '-' for stdout. Only one FLAC file |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 120 | may be specified on the command line. |
| 121 | .TP |
Josh Coalson | 9c17e6e | 2007-02-14 01:28:01 +0000 | [diff] [blame] | 122 | \fB--import-picture-from={\fIFILENAME\fB|\fISPECIFICATION\fB}\fR |
| 123 | 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 |
Josh Coalson | b0468ee | 2006-10-10 03:47:36 +0000 | [diff] [blame] | 124 | |
Josh Coalson | 9c17e6e | 2007-02-14 01:28:01 +0000 | [diff] [blame] | 125 | [TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE |
Josh Coalson | b0468ee | 2006-10-10 03:47:36 +0000 | [diff] [blame] | 126 | |
| 127 | TYPE is optional; it is a number from one of: |
| 128 | |
| 129 | 0: Other |
| 130 | |
| 131 | 1: 32x32 pixels 'file icon' (PNG only) |
| 132 | |
| 133 | 2: Other file icon |
| 134 | |
| 135 | 3: Cover (front) |
| 136 | |
| 137 | 4: Cover (back) |
| 138 | |
| 139 | 5: Leaflet page |
| 140 | |
| 141 | 6: Media (e.g. label side of CD) |
| 142 | |
| 143 | 7: Lead artist/lead performer/soloist |
| 144 | |
| 145 | 8: Artist/performer |
| 146 | |
| 147 | 9: Conductor |
| 148 | |
| 149 | 10: Band/Orchestra |
| 150 | |
| 151 | 11: Composer |
| 152 | |
| 153 | 12: Lyricist/text writer |
| 154 | |
| 155 | 13: Recording Location |
| 156 | |
| 157 | 14: During recording |
| 158 | |
| 159 | 15: During performance |
| 160 | |
| 161 | 16: Movie/video screen capture |
| 162 | |
| 163 | 17: A bright coloured fish |
| 164 | |
| 165 | 18: Illustration |
| 166 | |
| 167 | 19: Band/artist logotype |
| 168 | |
| 169 | 20: Publisher/Studio logotype |
| 170 | |
| 171 | The default is 3 (front cover). There may only be one picture each of type 1 and 2 in a file. |
| 172 | |
Josh Coalson | 9c17e6e | 2007-02-14 01:28:01 +0000 | [diff] [blame] | 173 | 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. |
Josh Coalson | b0468ee | 2006-10-10 03:47:36 +0000 | [diff] [blame] | 174 | |
| 175 | DESCRIPTION is optional; the default is an empty string. |
| 176 | |
| 177 | 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 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. |
| 178 | |
| 179 | FILE is the path to the picture file to be imported, or the URL if MIME type is --> |
| 180 | |
| 181 | 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. |
| 182 | |
| 183 | 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. |
| 184 | .TP |
Josh Coalson | 86325ef | 2006-11-17 16:06:15 +0000 | [diff] [blame] | 185 | \fB--export-picture-to=file\fR |
| 186 | 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. |
| 187 | .TP |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 188 | \fB--add-replay-gain\fR |
| 189 | Calculates the title and album gains/peaks of the given FLAC |
| 190 | files as if all the files were part of one album, then stores |
Josh Coalson | 3038f52 | 2007-09-14 15:04:49 +0000 | [diff] [blame] | 191 | them as FLAC tags. The tags are the same as |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 192 | those used by vorbisgain. Existing ReplayGain tags will be |
| 193 | replaced. If only one FLAC file is given, the album and title |
| 194 | gains will be the same. Since this operation requires two |
| 195 | passes, it is always executed last, after all other operations |
| 196 | have been completed and written to disk. All FLAC files |
| 197 | specified must have the same resolution, sample rate, and |
| 198 | number of channels. The sample rate must be one of 8, 11.025, |
Erik de Castro Lopo | a2923e6 | 2012-09-19 18:06:49 +1000 | [diff] [blame] | 199 | 12, 16, 18.9, 22.05, 24, 28, 32, 37.8, 44.1, 48, 56, 64, 88.2, |
| 200 | 96, 112, 128, 144, 176.4, or 192kHz. |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 201 | .TP |
Ben Boeckel | f7c52c8 | 2015-08-12 21:45:04 -0400 | [diff] [blame] | 202 | \fB--scan-replay-gain\fR |
| 203 | Like --add-replay-gain, but only analyzes the files rather than |
| 204 | writing them to the tags. |
| 205 | .TP |
Josh Coalson | b0468ee | 2006-10-10 03:47:36 +0000 | [diff] [blame] | 206 | \fB--remove-replay-gain\fR |
| 207 | Removes the ReplayGain tags. |
| 208 | .TP |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 209 | \fB--add-seekpoint={\fI#\fB|\fIX\fB|\fI#x\fB|\fI#s\fB}\fR |
| 210 | Add seek points to a SEEKTABLE block. Using #, a seek point at |
| 211 | that sample number is added. Using X, a placeholder point is |
| 212 | added at the end of a the table. Using #x, # evenly spaced seek |
| 213 | points will be added, the first being at sample 0. Using #s, a |
| 214 | seekpoint will be added every # seconds (# does not have to be a |
| 215 | whole number; it can be, for example, 9.5, meaning a seekpoint |
| 216 | every 9.5 seconds). If no SEEKTABLE block exists, one will be |
| 217 | created. If one already exists, points will be added to the |
| 218 | existing table, and any duplicates will be turned into placeholder |
| 219 | points. You may use many --add-seekpoint options; the resulting |
| 220 | SEEKTABLE will be the unique-ified union of all such values. |
| 221 | Example: --add-seekpoint=100x --add-seekpoint=3.5s will add 100 |
| 222 | evenly spaced seekpoints and a seekpoint every 3.5 seconds. |
| 223 | .TP |
| 224 | \fB--add-padding=length\fR |
| 225 | Add a padding block of the given length (in bytes). The overall |
| 226 | length of the new block will be 4 + length; the extra 4 bytes is |
| 227 | for the metadata block header. |
| 228 | .SH "MAJOR OPERATIONS" |
| 229 | .TP |
| 230 | \fB--list\fR |
| 231 | List the contents of one or more metadata blocks to stdout. By |
| 232 | default, all metadata blocks are listed in text format. Use the |
| 233 | following options to change this behavior: |
| 234 | .RS |
| 235 | .TP |
| 236 | \fB--block-number=#[,#[...]]\fR |
| 237 | An optional comma-separated list of block numbers to display. |
| 238 | The first block, the STREAMINFO block, is block 0. |
| 239 | .TP |
| 240 | \fB--block-type=type[,type[...]]\fR |
| 241 | .TP |
| 242 | \fB--except-block-type=type[,type[...]]\fR |
Josh Coalson | 91ccea9 | 2005-02-02 04:35:49 +0000 | [diff] [blame] | 243 | An optional comma-separated list of block types to be included |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 244 | or ignored with this option. Use only one of --block-type or |
| 245 | --except-block-type. The valid block types are: STREAMINFO, |
Erik de Castro Lopo | a2923e6 | 2012-09-19 18:06:49 +1000 | [diff] [blame] | 246 | PADDING, APPLICATION, SEEKTABLE, VORBIS_COMMENT, PICTURE. You |
| 247 | may narrow down the types of APPLICATION blocks displayed as |
Josh Coalson | eb7a8e4 | 2002-12-21 03:27:14 +0000 | [diff] [blame] | 248 | follows: |
| 249 | |
| 250 | APPLICATION:abcd The APPLICATION block(s) whose textual repre- |
| 251 | sentation of the 4-byte ID is "abcd" |
| 252 | APPLICATION:0xXXXXXXXX The APPLICATION block(s) whose hexadecimal big- |
| 253 | endian representation of the 4-byte ID is |
| 254 | "0xXXXXXXXX". For the example "abcd" above the |
| 255 | hexadecimal equivalalent is 0x61626364 |
| 256 | .sp |
| 257 | .RS |
| 258 | .B "Note:" |
| 259 | if both --block-number and --[except-]block-type are |
| 260 | specified, the result is the logical AND of both |
| 261 | arguments. |
| 262 | .RE |
| 263 | .TP |
| 264 | \fB--application-data-format=hexdump|text\fR |
| 265 | If the application block you are displaying contains binary |
| 266 | data but your --data-format=text, you can display a hex dump |
| 267 | of the application data contents instead using |
| 268 | --application-data-format=hexdump. |
| 269 | .RE |
| 270 | .TP |
| 271 | \fB--remove\fR |
| 272 | Remove one or more metadata blocks from the metadata. Unless |
| 273 | --dont-use-padding is specified, the blocks will be replaced with |
| 274 | padding. You may not remove the STREAMINFO block. |
| 275 | .RS |
| 276 | .TP |
| 277 | \fB--block-number=#[,#[...]]\fR |
| 278 | .TP |
| 279 | \fB--block-type=type[,type[...]]\fR |
| 280 | .TP |
| 281 | \fB--except-block-type=type[,type[...]]\fR |
| 282 | See --list above for usage. |
| 283 | .sp |
| 284 | .RS |
| 285 | .B "Note:" |
| 286 | if both --block-number and --[except-]block-type are |
| 287 | specified, the result is the logical AND of both arguments. |
| 288 | .RE |
| 289 | .RE |
| 290 | .TP |
| 291 | \fB--remove-all\fR |
| 292 | Remove all metadata blocks (except the STREAMINFO block) from the |
| 293 | metadata. Unless --dont-use-padding is specified, the blocks will |
| 294 | be replaced with padding. |
| 295 | .TP |
| 296 | \fB--merge-padding\fR |
| 297 | Merge adjacent PADDING blocks into single blocks. |
| 298 | .TP |
| 299 | \fB--sort-padding\fR |
| 300 | Move all PADDING blocks to the end of the metadata and merge them |
| 301 | into a single block. |
| 302 | .SH "SEE ALSO" |
| 303 | .PP |
| 304 | flac(1). |