diff --git a/README.md b/README.md index 15c2d0d..8073db6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,113 @@ +

+ + License + +

+ +## Table of Contents + +- [Features](#features) +- [Dependencies](#dependencies) +- [Installing](#installing) + - [Source](#source) +- [Usage](#usage) + - [Options](#options) +- [Contribute](#contribute) +- [License](#license) + + +## Features + +1. Fixes metadata of songs based on data received from Spotify +2. Fetches lyrics from [Genius](https://www.genius.com) +3. Fetches metadata from [Spotify](https://www.spotify.com) +4. Can format filenames of songs +5. Can fetch data for a single song or complete directory + +## Dependencies + +### [Genius API](https://genius.com/api-clients) + +1. Create an account and register an application +2. Grab Access Token +3. Set access token in config file + + +### [Spotify API](https://developer.spotify.com/my-applications/#!/applications/create) + +1. Create an account and register an application +2. Grab Client ID and client Secret Code +3. Set both in config file + +```sh +$ python addMetadata.py --config + +Enter Genius key : + +Enter Spotify Secret token : + +Enter Spotify Client ID : +``` + +## Installing + +### Source +```sh +$ git clone https://github.com/yash2696/BeautifyMP3 +$ cd BeautifyMP3 +$ python setup.py install +``` + +### Options +```sh +(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) \ No newline at end of file +- [ ] add support for other file types(aac, flac etc) + +## Contribute + +Found an issue? Post it in the [issue tracker](https://github.com/yash2696/BeautifyMP3/issues).
+Want to add another awesome feature? [Fork](https://github.com/yash2696/BeautifyMP3/fork) this repository and add your feature, then send a pull request. + +## Disclaimer + +The inspiration for this project is [MusicRepair](https://github.com/kalbhor/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 \ No newline at end of file diff --git a/addMetadata.py b/addMetadata.py index 38d22eb..a23758c 100644 --- a/addMetadata.py +++ b/addMetadata.py @@ -2,6 +2,13 @@ DESC = """ + ____ _ _ __ __ __ ____ _____ +| __ ) ___ __ _ _ _| |_(_)/ _|_ _| \/ | _ \___ / +| _ \ / _ \/ _` | | | | __| | |_| | | | |\/| | |_) ||_ \ +| |_) | __/ (_| | |_| | |_| | _| |_| | | | | __/___) | +|____/ \___|\__,_|\__,_|\__|_|_| \__, |_| |_|_| |____/ + |___/ + ______________________________________________________________ | | | Edit Metadata of MP3 files based on file name | diff --git a/requirements.txt b/requirements.txt index 6762ec1..f0daf2b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,13 +5,9 @@ certifi==2017.4.17 chardet==3.0.4 eyeD3==0.8 idna==2.5 -musicbrainzngs==0.6 -musictools==2.1.4 -mutagen==1.38 packaging==16.8 pyparsing==2.2.0 requests==2.17.3 six==1.10.0 spotipy==2.4.4 urllib3==1.21.1 -youtube-dl==2017.6.5 diff --git a/setup.py b/setup.py index 529bebe..89d302a 100644 --- a/setup.py +++ b/setup.py @@ -1,12 +1,12 @@ from distutils.core import setup setup( - name='music-tagger', + name='BeautifyMP3', version='1.0.0', packages=[''], - url='https://github.com/yash2696/MP3Repair', + url='https://github.com/yash2696/BeautifyMP3', license='MIT', author='Yash Agarwal', author_email='yashagarwaljpr@gmail.com', - description='' + description='A tool to automatically fix MP3 file metadata and filenames.' )