OPERON(1)
π΅ OPERON(1) β operon, bestie π
okay so. hi. you're here because you want a command line music tagger and honestly? iconic choice. operon is the girl who fixes your messy tags while you're busy being a main character. let's get into it π
β¨ SYNOPSIS β¨
operon [--version] [--help] [-v | --verbose] <command> [<argument>...]
operon help <command>
that's the whole vibe. command first, arguments after, slay.
π OPTIONS π
these ones go before your command, they're the global girlies β¨
-h,--helpβ shows you the help and dips out. no notes π--versionβ prints the program version, so you know exactly which era you're in π-v,--verboseβ verbose mode. she's talking. a lot. we love her for it π£οΈ
π COMMAND-OVERVIEW π
here's the whole roster, organized by mood π«
π Edit Tags
addβ Add a tag valueremoveβ Remove a tag valuesetβ Set a tag and remove existing valuesclearβ Remove tagscopyβ Copy tags from one file to anothereditβ Edit tags in a text editorfillβ Fill tags based on the file path
π¦ Show file metadata
listβ List tagsinfoβ List file informationprintβ Print tags based on the given pattern
πΈ Edit Embedded Images
image-extractβ Extract embedded imagesimage-setβ Set embedded imageimage-clearβ Remove embedded images
β Miscellaneous
tagsβ List all common tagshelpβ Display help information
π EDIT TAGS π
π add
adds a brand new tag <tag> with the value <value> to all the files you point at. every single one. she's thorough like that β¨
operon add [-h] <tag> <value> <file>...
-h,--helpβ Display help and exit
Example:
operon add artist 'The Beatles' song1.ogg song2.ogg
look at her go π«Ά
π remove
removes all values from the tag <tag> that match either <value> or the regular expression <pattern>, from all files. yes, regex. she's that girl π
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
replaces all values of the tag <tag> with <value> in all files. out with the old, in with the new, periodt π
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
removes all tags that match <tag> or the regular expression <pattern> from all files. and if you pass --all? every known tag gets removed. full reset energy π
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
three whole moods, pick your fighter π
π copy
copies all tags from the file <source> to <dest>. here's the tea though β all tags already in <dest> will be preserved (she's not a monster). and listen: in case the destination format doesn't support setting a tag from source, no tags will be copied. none. zero. the whole operation just doesn't happen π
if you want to ignore the tags that aren't supported by the destination format, pass --ignore-errors. that's the lowkey fix β¨
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 your tags in a text editor and then applies whatever changes you made to the text back onto the tags. yes it's giving "editing a text file but it's secretly your music library" β¨
operon will use the editor specified in the VISUAL or EDITOR environment variables, and if those are not set she falls back to 'nano'. she has a default, she's prepared π
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
fills tags based on file paths and a given pattern. detective mode π
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"
(yeah the filename wraps like that in the original, no we're not fixing it, it's canon π)
π SHOW FILE METADATA π
π§ list
lists all tags, values, and a description of each tag, in a table. organized. aesthetic. obsessed π
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. the stats, the lore, the numbers π
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 β and psst, 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
extracts all embedded images to the current working directory, or to the destination directory you specify. album art liberation β¨
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
sets the provided image as the primary embedded image and removes all other embedded images. one cover to rule them all π
operon image-set <image-file> <file>...
-h,--helpβ Display help and exit
Example:
operon image-set cover.jpg song.mp3
π image-clear
removes all embedded images from all the specified files. gone. dust. bye π
operon image-clear <file>...
-h,--helpβ Display help and exit
Example:
operon image-clear song.mp3
π MISCELLANEOUS π
πΈ tags
lists all common tags. the full menu, the whole alphabet, the tag bible π
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
the girl you call when you're lost. no shame in it, bestie π«Ά
operon help [<command>]
Example:
operon help list
π SEE ALSO π
go read them, they're family π
β οΈ heads up:copyreally does bail entirely if the destination format can't handle a tag from the source β unless you pass--ignore-errors. and always--dry-runfirst if you're nervous. she won't judge, she'll just print π
okay that's the whole page!! this is operon, part of the quodlibet/exfalso universe ππ thanks for coming to my ted talk, go tag something pretty β¨ periodt ππ¦πΈ
π¦ where this page comes from
- arch rolling: quodlibet 4.7.1-3 Β· GPL-2.0-or-later
- fedora 43: exfalso 4.7.1-13.fc43
- fedora 43: exfalso 4.7.1-16.fc43 Β· GPL-2.0-or-later
- fedora 43: exfalso 4.7.1-7.fc43 Β· GPL-2.0-or-later
- fedora 44: exfalso 4.7.1-10.fc44 Β· GPL-2.0-or-later
- fedora 44: exfalso 4.7.1-13.fc44
- fedora 44: exfalso 4.7.1-16.fc44 Β· GPL-2.0-or-later
- nixos 26.05: quodlibet 4.7.1
- nixos 26.05: quodlibet-full 4.7.1
- nixos 26.05: quodlibet-without-gst-plugins 4.7.1
- nixos 26.05: quodlibet-xine 4.7.1
- nixos 26.05: quodlibet-xine-full 4.7.1
- nixpkgs unstable: quodlibet 4.7.1
- nixpkgs unstable: quodlibet-full 4.7.1
- nixpkgs unstable: quodlibet-without-gst-plugins 4.7.1
- nixpkgs unstable: quodlibet-xine 4.7.1
- nixpkgs unstable: quodlibet-xine-full 4.7.1
- ubuntu stonking: exfalso 4.7.1-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms