Skip to content

A command line tool for fixing ID3 metadata and adding Album Art to MP3 songs

License

Notifications You must be signed in to change notification settings

yashhere/BeautifyMP3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License

Table of Contents

Features

  1. Fixes metadata of songs based on data received from Spotify
  2. Fetches lyrics from Genius
  3. Fetches metadata from Spotify
  4. Can format filenames of songs
  5. Can fetch data for a single song or complete directory

Dependencies

  1. Create an account and register an application
  2. Grab Access Token
  3. Set access token in config file
  1. Create an account and register an application
  2. Grab Client ID and client Secret Code
  3. Set both in config file
$ python addMetadata.py --config                                               

Enter Genius key : <enter genius key> 

Enter Spotify Secret token : <enter client secret here> 

Enter Spotify Client ID : <enter client id here>                               

Installing

Source

$ git clone https://github.com/yash2696/BeautifyMP3
$ cd BeautifyMP3
$ python setup.py install

Options

(music-tagger) ~/D/music-tagger ❯❯❯ python addMetadata.py -h
usage: addMetadata.py [-h] [-d REPAIR_DIRECTORY] [-s SONG_NAME] [-c] [-n]
                      [-f RENAME_FORMAT]

 ____                   _   _  __       __  __ ____ _____ 
| __ )  ___  __ _ _   _| |_(_)/ _|_   _|  \/  |  _ \___ / 
|  _ \ / _ \/ _` | | | | __| | |_| | | | |\/| | |_) ||_ \ 
| |_) |  __/ (_| | |_| | |_| |  _| |_| | |  | |  __/___) |
|____/ \___|\__,_|\__,_|\__|_|_|  \__, |_|  |_|_|  |____/ 
                                  |___/                   
                                  
______________________________________________________________
|                                                            |
|       Edit Metadata of MP3 files based on file name        |
|____________________________________________________________|

optional arguments:
  -h, --help            show this help message and exit
  -d REPAIR_DIRECTORY, --dir REPAIR_DIRECTORY
                        give path of music files directory
  -s SONG_NAME, --song SONG_NAME
                        Only fix metadata of the file specified
  -c, --config          Add API Keys to config
  -n, --norename        Does not rename files to song title
  -f RENAME_FORMAT, --format RENAME_FORMAT
                        Specify the Name format used in renaming, Valid
                        Keywords are: {title}{artist}{album} )

TODO

  • Add download functionality from youtube
  • add support for last.fm and soundcloud if spotify fails
  • add support for metrolyrics and other lyrics service if genius api fails
  • add support for searching with existing id3 tags if searching with name fails
  • somehow find a way to properly synchronize the lyrics with sound if possible
  • add support for other file types(aac, flac etc)

Contribute

Found an issue? Post it in the issue tracker.
Want to add another awesome feature? Fork this repository and add your feature, then send a pull request.

Disclaimer

The inspiration for this project is MusicRepair.

Downloading copyright songs is illegal in most of the countries. I made this tool for educational purposes and was created for my python learning process. Please support the artists by buying their music.

License

The MIT License (MIT) Copyright (c) 2017 Yash Agarwal