operon

command line music tagger

Manual section:

1

SYNOPSIS

operon [–version] [–help] [-v | –verbose] <command> [<argument>…]
operon help <command>

OPTIONS

-h, --help

Display help and exit

--version

Print the program version

-v, --verbose

Verbose mode

COMMAND-OVERVIEW

Edit Tags

add Add a tag value
remove Remove a tag value
set Set a tag and remove existing values
clear Remove tags
copy Copy tags from one file to another
edit Edit tags in a text editor
fill Fill tags based on the file path

Show file metadata

list List tags
info List file information
print Print tags based on the given pattern

Edit Embedded Images

image-extract Extract embedded images
image-set Set embedded image
image-clear Remove embedded images

Miscellaneous

tags List all common tags
help Display help information

EDIT TAGS

add

Add a new tag <tag> with the value <value> to all files.

operon add [-h] <tag> <value> <file>…

-h, --help

Display help and exit

Example:

operon add artist ‘The Beatles’ song1.ogg song2.ogg

remove

Remove all values from the tag <tag> that match either <value> or the regular expression <pattern> from all files.

operon remove [-h] [–dry-run] <tag> (-e <pattern> | <value>) <file>…

-h, --help

Display help and exit

--dry-run

Print the results without changing any files

-e, --regexp <regexp>

Remove all tag values that match the given regular expression

Example:

operon remove artist ‘The Beatles’ song.ogg

set

Replace all values of the tag <tag> by <value> in all files.

operon set [-h] [–dry-run] <tag> <value> <file>…

-h, --help

Display help and exit

--dry-run

Print the results without changing any files

Example:

operon set artist ‘The Beatles’ song.ogg

clear

Remove all tags that match <tag> or the regular expression <pattern> from all files. If –all is specified, all known tags will be removed.

operon clear [-h] [–dry-run] (-a | -e <pattern> | <tag>) <file>…

-h, --help

Display help and exit

--dry-run

Print the results without changing any files

-a, --all

Remove all tags

-e, --regexp <regexp>

Remove all tags that match the given regular expression

Example:

operon clear -a song.ogg

operon clear -e ‘musicbrainz_.*’ song.ogg

operon clear date song.ogg

copy

Copy all tags from the file <source> to <dest>. All tags in <dest> will be preserved. In case the destination format doesn’t support setting a tag from source, no tags will be copied. To ignore tags that aren’t supported by the destination format pass –ignore-errors.

operon copy [-h] [–dry-run] [–ignore-errors] <source> <dest>

-h, --help

Display help and exit

--dry-run

Print the results without changing any files

--ignore-errors

Skip tags which the target file does not support

Example:

operon copy song.flac song.ogg

edit

Shows all tags in a text editor and will apply any changes made to the text to the tags. operon will use the editor specified in the VISUAL or EDITOR environment variables and if those are not set fall back to ‘nano’.

operon edit [-h] [–dry-run] <file>…

-h, --help

Display help and exit

--dry-run

Print the results without changing any files

Example:

VISUAL=vi operon edit song.flac

fill

Fill tags based one file paths and a given pattern.

operon fill [-h] [–dry-run] <pattern> <file>…

-h, --help

show this help message and exit

--dry-run

show changes, don’t apply them

Example:

operon fill –dry-run “<tracknumber>. <title>” “01. Was Ist Ist.flac”

SHOW FILE METADATA

list

Lists all tags, values and a description of each tag in a table.

operon list [-h] [-a] [-t] [-c <c1>,<c2>…] <file>

-h, --help

Display help and exit

-a, --all

Also list programmatic tags

-t, --terse

Output is terse and suitable for script processing

-c, –columns <name>,…

Defines which columns should be printed and in which order

Example:

operon list -a song.flac

operon list -t -c tag,value song.ogg

info

Lists non-tag metadata like length, size and format.

operon info [-h] [-t] [-c <c1>,<c2>…] <file>

-h, --help

Display help and exit

-t, --terse

Output is terse and suitable for script processing

-c, –columns <name>,…

Defines which columns should be printed and in which order

Example:

operon info a.ogg

print

Prints information per file built from tag values. The pattern can be customized by passing a pattern string (See quodlibet(1) for the pattern format)

operon print [-h] [-p <pattern>] <file>…

-h, --help

Display help and exit

-p, --pattern <pattern>

Use a custom pattern

Example:

operon print -p “<album> - <artist>” a.ogg

EDIT EMBEDDED IMAGES

image-extract

Extract all embedded images to the current working directory or the specified destination directory.

operon image-extract [-h] [–dry-run] [–primary] [-d <destination>] <file>…

-h, --help

Display help and exit

--dry-run

Print the found images and resulting file paths but don’t save them

--primary

Only extract the primary images for each file

-d, --destination <destination>

Save all images to the specified destination

Example:

operon image-extract asong.mp3 anotherone.ogg

image-set

Set the provided image as primary embedded image and remove all other embedded images.

operon image-set <image-file> <file>…

-h, --help

Display help and exit

Example:

operon image-set cover.jpg song.mp3

image-clear

Remove all embedded images from all specified files.

operon image-clear <file>…

-h, --help

Display help and exit

Example:

operon image-clear song.mp3

MISCELLANEOUS

tags

List all common tags

operon tags [-h] [-a] [-t] [-c <c1>,<c2>…]

-h, --help

Display help and exit

-a, --all

Also list programmatic tags

-t, --terse

Output is terse and suitable for script processing

-c, –columns <name>,…

Defines which columns should be printed and in which order

Example:

operon tags -a

operon tags -t -c tag

help

operon help [<command>]

Example:

operon help list

SEE ALSO

regex(7)
exfalso(1)
quodlibet(1)