A Python script for automatic downloading and parsing of videos to tagged and normalized MP3 audio files
- The currently supported Python version can be found in
.python-version
. - The current package dependencies can be found in
requirements.txt
. - The used
ffmpeg-normalize
package requires FFmpeg. See installation instructions on either webpage. - The used
pyacoustid
package requires the Chromaprint fingerprinting library. See installation instructions on either webpage. - The used
sacad
package optionally uses optipng and jpegoptim to benefit from smaller cover images by applying lossless recompression.
$ git clone [email protected]:chriswasser/Music-Tagger.git
# clone the repository
$ cd Music-Tagger
# change into the created directory
$ python3 -m venv venv
# create a new python3 virtual environment
$ . venv/bin/activate
# activate the virtual environment
$ pip install --requirement requirements.txt
# install the required package dependencies
$ python3 song.py --help
# print an up-to-date help message
The fingerprinting capabilities of the script are provided by the AcoustID web service.
Using its API requires an API key, which can be generated for free when registering your application.
In order to submit new fingerprints, your user specific API key needs to be provided as well.
Both of these can be stored in a dotenv file called .env
.
The settings will be loaded automatically during script execution and may look something like below.
$ cat .env
ACOUSTID_APPLICATION_API_KEY=XXXXXXXXXX
ACOUSTID_USER_API_KEY=YYYYYYYYYY
- An up-to-date help message will be printed when executing
python3 song.py --help