A simple CLI audio tagger
Project description
audiotag
Audiotag is a command line audio tagger written in python3. It uses TagLib to write the metadata. It features a very simple to use interactive mode which lets you tag a single album as fast as possible.
Installation
You can install audiotag directly from PyPI.
pip install audiotag
If you are running Arch Linux you can install it from the AUR. The package is called audiotag
.
Usage
Audiotag offers different subcommands:
Usage:
audiotag print FILE...
audiotag interactive FILE...
audiotag set [--artist=ARTIST|--noartist] [--title=TITLE|--notitle]
[--album=ALBUM|--noalbum] [--date=DATE|--nodate]
[--genre=GENRE|--nogenre] [--tracknumber=TRACKNUMBER|--notracknumber]
[--tracktotal=TRACKTOTAL|--notracktotal] [--discnumber=DISCNUMBER|--nodiscnumber]
[--disctotal=DISCTOTAL|--nodisctotal] FILE...
audiotag clean FILE...
audiotag rename [--pattern=PATTERN] [-f] FILE...
audiotag copy SOURCEFOLDER DESTFOLDER
audiotag -h | --help
audiotag -v | --version
The print
subcommand prints all tags.
Multiple values per tag will be printed as a list.
$ audiotag print *.flac
Filename: /path/to/files/1 - At Giza.flac
ALBUM: 'Conference of the Birds'
ARTIST: 'Om'
DATE: '2006'
DISCNUMBER: '1'
DISCTOTAL: '1'
ENCODER: 'Lavf58.12.100'
GENRE: 'Doom Metal'
TITLE: 'At Giza'
TRACKNUMBER: '1'
TRACKTOTAL: '2'
Filename: /path/to/files/2 - Flight of the Eagle.flac
ALBUM: 'Conference of the Birds'
ARTIST: 'Om'
DATE: '2006'
DISCNUMBER: '1'
DISCTOTAL: '1'
ENCODER: 'Lavf58.12.100'
GENRE: 'Doom Metal'
TITLE: 'Flight of the Eagle'
TRACKNUMBER: '2'
TRACKTOTAL: '2'
Interactive
The interactive
subcommand interprets all given files as a single album and asks for all the necessary information.
If the the files are in different directories, audiotag assumes that each directory is a disk of a multi-disc release.
The TRACKTOTAL
and DISCTOTAL
tags are set automatically.
$ audiotag interactive *.flac
Artist: Om
Albumtitle: Conference of the Birds
Genre: Doom Metal
Year: 2006
1 - At Giza.flac
Title 1: At Giza
2 - Flight of the Eagle.flac
Title 2: Flight of the Eagle
Set
If you want to set the tags in a non-interactive way you can use the set
command.
You can choose from these options:
--artist="Example"
--title="Example"
--album="Example"
--date=2000
--genre="Example"
--tracknumber=1
--discnumber=2
--tracktotal=10
--disctotal=2
If you want to remove tags you can choose these options:
--noartist
--notitle
--noalbum
--nodate
--nogenre
--notracknumber
--nodiscnumber
--notracktotal
--nodisctotal
You can combine these options as you like. Here is an example:
$ audiotag set --artist=Om --album="Conference of the Birds" --nodiscnumber 01-at_giza.flac
Clean
The clean
subcommand removes all tags from the file except the ENCODER
tag.
Rename
The rename
subcommand lets you rename files based on the audio tags.
You have to provide a pattern for renaming.
The pattern may contain a combination of these placeholders:
- {A}: Artist
- {T}: Title
- {L}: Album
- {Y}: Date
- {G}: Genre
- {N}: Tracknumber
- {D}: Discnumber
- {NT}: Tracktotal
- {DT}: Disctotal
If you don't specify a pattern, audiotag will use {N} - {T}
if the Disctotal tag is set to 1
or {D}-{N} - {T}
if the Disctotal tag is set to something else or missing.
You do not have to add the extension to the pattern.
Audiotag adds the extension to the output file name for you.
$ ls
01-at_giza.flac 02-flight_of_the_eagle.flac
$ audiotag rename *.flac
$ ls
'1 - At Giza.flac' '2 - Flight of the Eagle.flac'
If the new filename already exists Audiotag will ask if you want to overwrite the existing file. This check can be disabled with the -f
or --force
option.
Copy
The copy
subcommand copies the tags from all the files in the sourcefolder to corresponding files in the destination folder.
The filenames are sorted alphabetically before they are matched.
Note that the ENCODER
tag ist not copied.
Dependencies
The following dependencies are needed to run audiotag:
Optional dependencies are:
- gnureadline: For better user input (Readline should already be installed on any Linux system)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file audiotag-0.4.2.tar.gz
.
File metadata
- Download URL: audiotag-0.4.2.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04db3f19d3a44b86df48988b923c779ada1b47a4435770efd7da2a86b018930b |
|
MD5 | 19fee85958a1acdfe1050c8d29147beb |
|
BLAKE2b-256 | f45ac9c61cd6c2e1eff926e28fc936cfd003d65e7a88936cbb09b6651ad74ea5 |
File details
Details for the file audiotag-0.4.2-py3-none-any.whl
.
File metadata
- Download URL: audiotag-0.4.2-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.0 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6d0e7206c0ccd963b7f34bcf306d1ebc367c15d0620332aa5dcdd3dfd4f8f39 |
|
MD5 | 7effdeafa4ccd6078697f58097bf25e3 |
|
BLAKE2b-256 | 953412f9d55747a4463fc982702300cc9547c18824e5000aebe711c4569483b2 |