aboutsummaryrefslogtreecommitdiff

tag-tracks

Very simple command-line tool to tag mp3 files in a given directory. It just numbers the tracks and puts the filename as the title.

Requires a directory as argument.

Description

tag-tracks scans a directory of mp3 files and automatically assigns track numbers in alphabetical order. It also sets the track title to match the filename without extension.
I mainly use this in conjunction with yt-dlp to organize my music downloads.

Installation

Build and Install

Clone the repository and build the gem:

git clone https://git.cafebabe.gay/tag-tracks.git
cd tag-tracks
gem build tag-tracks.gemspec
gem install ./tag-tracks-1.0.0.gem

Dependencies

The gem depends on taglib-ruby, which will be installed automatically. However, you may need to install the TagLib C++ library first:

Gentoo

# emerge -av media-libs/taglib

Debian

# apt-get install libtag1-dev

Arch

# pacman -S taglib

Usage

Run the command with a target directory containing mp3 files:

tag-tracks /media/music

Example

$ ls /media/music
dont-stay.mp3
papercut.mp3
somewhere-i-belong.mp3

$ tag-tracks /media/music
Tagging Tracks in /media/music ...
Done!

The tool will:

  • Set track numbers sequentially, in alphabetical order
  • Set track titles based on filenames ("dont-stay", "papercut", "somewhere-i-belong")

LICENSE

GPL-3.0 - This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.