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)