An automatic tool for tagging your music library with metadata from online music libraries.
⚠️ Be VERY careful with using this software as is it still full of bugs.
- Automatically identifies track identity based on
- Filename
- Embedded metadata
- Audio recognition with Shazam
- Fetches metadata and artwork from
- Spotify
- SoundCloud
- Shazam
- Embeds metadata to file
- Can encode audio files to
.mp3and more
- Improve UI
- Make it possible to specify a url to get metadata from.
- Add package to pypi
- Make it possible to parse metadata without fetching online.
- Make it easier to import this package in other Python projects.
- Improve matching by getting metadata from original track if remix metadata couldn't be found.
- Implement metadata fetching from MusicBrainz.
- Implement lyric fetching from Genius.
- Improve performance
- Option to disable Shazam (It's so slooow)
- Optimize song matching
- Let user prioritize singles or albums
- Fix known bugs
-
Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -
Install Python and ffmpeg
brew install python ffmpeg
-
Clone this repository
clone https://github.com/MrKallerud/music-tagger
-
Go into the folder and install the package
pip3 install .
music-tagger [File or folder] [Options]| Command | Description |
|---|---|
-h, --help |
Show this help message and exit |
-o PATH, --output PATH |
The output filename with extension |
-f FORMAT, --format FORMAT |
Converts audio files to the desired format |
--no_overwrite |
Keeps existing files and metadata |
-sim, --simulate |
Simulates the matching without writing metadata or converting files |
--suppress |
Will match with the best option without prompting user |
- Print out the best match to the chosen track without doing anything to the file.
music-tagger "~/Downloads/Martin Garrix - Scared to be Lonely (feat. Dua Lipa).mp3" --suppress -sim