A modular music archival program
OrpheusDL is a modular music archival tool written in Python which allows archiving from multiple different services.
Follow these steps to get a local copy of Orpheus up and running:
- Python 3.7+ (due to the requirement of dataclasses), though Python 3.9 is highly recommended
- Clone the repo
- Without modules:
git clone https://github.com/yarrm80s/orpheusdl.git
- Without modules:
- Install all requirements
pip install -r requirements.txt
- Run the program at least once, or use this command to create the settings file
python3 orpheus.py settings refresh
- Enter your credentials in
config/settings.json
Just call orpheus.py with any link you want to archive, for example Qobuz:
python3 orpheus.py https://open.qobuz.com/album/c9wsrrjh49ftbAlternatively do a search (luckysearch to automatically select the first option):
python3 orpheus.py search qobuz track darkside alan walkerOr if you have the ID of what you want to download, use:
python3 orpheus.py download qobuz track 52151405You can customize every module from Orpheus individually and also set general/global settings which are active in every
loaded module. You'll find the configuration file here: config/settings.json
track_filename_format: How tracks are formatted in albums and playlists. The relevant extension is appended to the end.
album_format, playlist_format, artist_format: Base directories for their respective formats - tracks and cover art are stored here. May have slashes in it,
for instance {artist}/{album}.
single_full_path_format: How singles are handled, which is separate to how the above work. Instead, this has both the folder's name and the track's name.
track_format variables are {name}, {album}, {album_artist}, {album_id}, {track_number},
{total_tracks}, {disc_number}, {total_discs}, {release_date}, {release_year}, {artist_id}, {isrc},
{upc}, {explicit}.
album_format variables are {name}, {artist}, {artist_id}, {release_year}, {UPC}, {explicit}, {quality}.
Yarrm80s - @yarrm80s
Dniel97 - @Dniel97
Project Link: Orpheus Public GitHub Repository
- Chimera by Aesir - the inspiration to the project
- Icon modified from a freepik image