Getting customized local files to show up correctly on Spotify (with the right artist, album, and cover art) is pretty tedious and annoying on every system. This project simplifies that by downloading a track from YouTube and automatically tagging it with the metadata Spotify needs, so it shows up properly in your local files.
- Python3
- ffmpeg
Make sure you have a folder somewhere you are storing your local files for Spotify.
- Clone this repository
- Go to the directory of this project and do
pip install -r requirements.txt - Run
python3 installcli.pyorpython3 installgui.pydepending on whether you want CLI or GUI version. - Run
tagmp3from anywhere on your computer
- Make sure to use Homebrew python3.
- Create a venv folder using
python3 -m venv .venv. - Activate the virtual environment by using
source .venv/bin/activate. - Add
#!/path/to/tagmp3/venv/bin/python3to either tagmp3gui.py or tagmp3cli.py depending on what you want. - Run the installation scripts.
After running tagmp3 it will ask for the destination folder and then the tags, or you can enter all the commands after tagmp3
Whenever there is a ">" symbol, it is for the user to type.
usr % tagmp3
Destination folder
> /enter/path/to/folder/
Title Artist Album Album_Artist Front_Cover Youtube_Link
> "Right Now" "NewJeans" "Supernatural" "NewJeans" "/path/to/front/cover.png" "https://youtu.be/m6pTbEz4w3o?si=zhu30LJmH0YauPbw"
or
usr % tagmp3 "/enter/path/to/folder" "Right Now" "NewJeans" "Supernatural" "NewJeans" "/path/to/front/cover.png" "https://youtu.be/m6pTbEz4w3o?si=zhu30LJmH0YauPbw"
Note: When inputting Destination Folder separately (like in the first case), do not use quotes. When inputting Destination Folder with the other arguments (like in the second case), use quotes.
After running tagmp3 a GUI will pop up asking for Title, Artist, Album, Cover, Youtube Link, and Destination folder.
Cover and Destination will give you the abilitiy to choose your own through a dialog box (click select button to access the dialog box).

Enter all the fields freely with no need to worry about quotes
Go to Spotify settings and turn off and on the folder that you are using for local files.
Your newly tagged track should appear with the correct metadata!
Run python3 uninstall.py to remove the script.
- Spotify sometimes doesn't show the cover art reliably on Linux
- This issue isn't a fault of the program, Linux doesn't have the best support for everything
- Sometimes it will require you to turn on and off the source folder or local files in general a couple of times before this works (this is just how Spotify is).
