A python script to find song's info and rename them by looking them up on audd.io.
An API token is required to do more than 10 requests per day.
- Python >= 3.7
- FFmpeg must be installed on the system and in the PATH
- Python modules:
- click
- requests
- validators
- pydub
python -m pip install audfill
Run inside Audfill directory.
python -m pip install -e .
A sound file must always be specified. Most sound files are supported (anything that FFmpeg and Pydub supports).
Specifiying no options will send the request, but not do anything with the response.
An example to print information about a song:
audfill song.mp3 -i
Wildcards are supported and will loop though all files in a directory. The following example prints all the information about MP3s in the current directory.
audfill *.mp3 -i
This script is also capable of getting additional data from Apple Music, Spotify, Napster, and Deezer. To explicitly get info from these sources, use -s [source]
. Data from sources listed first will be used for naming files. Sources will be implicitly added as necessary unless the minimum flag is specified (-n
).
An API key can be specified with the option -t
or can be read automatically with the environment variable AUDDIOKEY
.
audfill song.mp3 -k exampleToken123
For use with renaming files or downloading art and previews. File extension will automatically be added, do not add your own extension.
- Percent Symbol: %%
- Filename: %f
- Artist(s) %a
- Composer: %c
- Album: %b
- Genre(s): %g
- Title: %T
- Short Title: %t
- Explicit: %x
- ISRC: %i
- Disk Number: %k
- Track Number: %#
- Release Date:
- Capital letters represent extended (ex. 1997, 03), lowercase letters represent short dates (ex. 97, 3)
- %Y, %y
- %M, %m
- %D, %d
- Capital letters represent extended (ex. 1997, 03), lowercase letters represent short dates (ex. 97, 3)
Example (Renames to Artist - Title.mp3):
audfill song.mp3 -r '%a - %T'
python audfill.py [filename] [options]
python -m audfill [filename] [options]
audfill [filename] [options]