Requirements

I

Spotify premium is required

II

Debian, Ubuntu, ...

shell sudo apt install python3-pip

Fedora and Red Hat, ...

shell sudo dnf install python3-pip

Gentoo

shell sudo emerge --ask dev-python/pip

shell sudo pip3 install spotdl

Notification Send

Debian, Ubuntu, ...

shell sudo apt install libnotify-bin

Fedora and Red Hat, ...

shell sudo dnf install libnotify

Gentoo

shell sudo emerge -av x11-libs/libnotify

Others

notify-send must be installed on your system.

python3-pip must be installed on your system.

III

shell spotdl --download-ffmpeg

IV

shell spotdl --generate-config

The config file is located at C:\Users\user.spotdl\config.json or ~/.spotdl/config.json under linux

Default config

Modify the output to your Music directory

```json

{ "clientid": "5f573c9620494bae87890c0f08a60293", "clientsecret": "212476d9b0f3472eaa762d90b19b0ba8", "authtoken": null, "userauth": false, "headless": false, "cachepath": "/Users/username/.spotdl/.spotipy", "nocache": false, "maxretries": 3, "audioproviders": [ "youtube-music" ], "lyricsproviders": [ "genius", "azlyrics", "musixmatch" ], "playlistnumbering": false, "scanforsongs": false, "m3u": null, "output": "{artists} - {title}.{output-ext}", "overwrite": "skip", "searchquery": null, "ffmpeg": "ffmpeg", "bitrate": null, "ffmpegargs": null, "format": "mp3", "savefile": null, "filterresults": true, "threads": 4, "cookiefile": null, "restrict": false, "printerrors": false, "sponsorblock": false, "preload": false, "archive": null, "loadconfig": true, "loglevel": "INFO", "simpletui": false, "fetchalbums": false, "id3separator": "/", "ytmdata": false, "addunavailable": false, "webuseoutputdir": false, "port": 8800, "host": "localhost", "keepalive": false, "allowedorigins": null, "keepsessions": false } ```

Variable and explanation

| Variable | Explanation | Example | |:----------------|:--------------------------------------|:-----------------------| | {title} | Song title | Dark Horse | | {artists} | Song artists | Katy Perry, Juicy J | | {artist} | Primary artist | Katy Perry | | {album} | Album name | PRISM | | {album-artist} | Primary artist of the album | Katy Perry | | {genre} | Genre | dance pop | | {disc-number} | Useful for multi-disc | releases 1 | | {disc-count} | Total number of discs in the album | 1 | | {duration} | Duration of the song in seconds | 215.672 | | {year} | Year of release | 2013 | | {original-date} | Date of original release | 2013-01-01 | | {track-number} | Track number in the album | 06 | | {tracks-count} | Total number of tracks in the album | 13 | | {isrc} | International Standard Recording Code | USUM71311296 | | {track-id} | Spotify song ID | 4jbmgIyjGoXjY01XxatOx6 | | {publisher} | Record label Capitol Records | (CAP) | | {list-length} | Number of items in a playlist | 10 | | {list-position} | Position of the song in a playlist | 1 | | {list-name} | Name of the playlist | Saved | | {output-ext} | File extension | mp3 |

Configuration

I

shell curl "https://git.oshingitai.com/oshingitai/spt_dwl/-/raw/master/spotify.png?inline=false" -o /usr/share/icons/spotify.png

II

shell cargo install spot_dwl

Usage

shell spot_dwl "song-url" "song url" ...

All song url start with https://open.spotify.com