Skip to content

Tx270/vitag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vitag

Python License PyPI

A minimal CLI tool inspired by vidir, enabling fast batch editing of audio metadata in your favorite text editor (default is your $EDITOR system var).

Features

  • Collects audio files from given paths
  • Extracts tags using mutagen and writes them into a temp file in a structured json format
  • Lets you edit the json in your preferred text editor
  • Validates changes, detects conflicts, and translates the json updates to audio file tags
  • Supported formats:
    • MP3
    • FLAC

Requirements

Instalation

Install through pip:

$ pip install vitag

Or clone the repository:

$ git clone https://github.com/Tx270/vitag
$ cd vitag
# build locally and install with pip
$ pip install .
# or manually install dependencies and run
$ pip install mutagen typer
$ python3 "./cli.py"

Usage

For more info check --help

vitag [PATH ...] \
    [--recursive -r] \
    [--editor -e TEXT] \
    [--verbose -v] \
    [--extensions -x TEXT]

Examples

# Edit all audio files in a folder
vitag "Omnium Gatherum/"

# Edit all audio files in current directory that have mp3 or wav extensions
vitag --extensions mp3,wav

# Edit multiple paths at once with custom editor
vitag "01 Robot Stop.mp3" "Fishing for Fishies/" -e nano

# Recursive scan (for example useful for albums with many disks)
vitag "Petrodragonic Apocalypse/" -r

The star (*) symbol means that the tag is not the same between all given files

{
  "artist": "King Gizzard",
  "album": "*",
  "genre": "*",
  "year": 2018
}

You can edit, add and remove tags by editing the json

{
  "artist": "King Gizzard",
  "album": "*",
  "genre": "pop",
  "year": 2020
}

In the example above, in all selected files:

  • artist and album tags will stay the same for each file
  • genre tag will be changed to pop regardless of the previous value
  • year tag will be changed to 2020.

Roadmap

  • Extensions:
    • Add --extension option to filter file types
    • Test with more audio formats
    • Add supported audio formats to the README file
  • UI/UX:
    • Add progress bars for loading and saving tags
    • Add better error messages
  • Distribution:
    • Upload package to PyPI
  • Features:
    • Add cover art support

License

See LICENSE

About

Tag music files using your $EDITOR

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages