# 📻 Rec-Spotify
![](etc/screen.png)
The program allows you to record Spotify tracks, albums, and playlists with a single simple command. It is also able to fully synchronize your Spotify playlists to a local folder and keep them up-to-date. For now it works **only** on Windows.
Video Guide: [Watch](https://mega.nz/file/nV8XlKzT#yJhTn7TrQR_6TH3J-26-W2hBHL4W_auAAR0nkzwDsgs)
## Requirements
- Python3
- Spotify Premium (no ad blocking functionality)
- [Virtual Audio Cable](https://vb-audio.com/Cable) (recommended, read below)
## Install
```sh
pip install rec-spotify
```
## Usage
First, you need to create a Spotify app to obtain the credentials. You can create an app at the Spotify Developer Dashboard: https://developer.spotify.com/dashboard
Also change Spotify Output Device to Virtual Audio Cable: [Guide](https://youtu.be/EH-VzIpX7e0?t=86)
```sh
# Perform a full synchronization.
rec-spotify --sync
# Record single track/album/playlist.
# Spotify URL format example: https://open.spotify.com/track/42vwak6ZIFMscDhzz3S52f
# Output path format example: C:\Users\<username>\Desktop or just "." to save in current directory
rec-spotify --url <url> --path <where_to_save>
______ _____ _ _ __
| ___ \ / ___| | | (_)/ _|
| |_/ /___ ___ ______\ `--. _ __ ___ | |_ _| |_ _ _
| // _ \/ __|______|`--. \ '_ \ / _ \| __| | _| | | |
| |\ \ __/ (__ /\__/ / |_) | (_) | |_| | | | |_| |
\_| \_\___|\___| \____/| .__/ \___/ \__|_|_| \__, |
| | __/ |
|_| |___/
usage: rec-spotify [-h] [-c] [-s] [-u URL] [-p PATH] [-v]
options:
-h, --help show this help message and exit
-c, --check Run database cleanup.
-s, --sync Synchronize all of your Spotify playlists with local music library.
-r, --recreate Create all tracks and playlists stored in the local database to the user`s Spotify account. (Useful for newly created account.)
-u URL, --url URL Spotify link or ID for a separate track, playlist, or album.
-p PATH, --path PATH The output directory for saving recorded files
-v, --version show program's version number and exit
```
## Configration
On the first run, the program will launch a setup wizard. This will prompt you to enter your Spotify app credentials and other required information.
The config file is located at: ```C:\Users\<username>\.rec_spotify\config.ini```
Config example:
```ini
[SPOTIFY]
CLIENT_ID = <SPOTIFY_CLIENT_ID>
CLIENT_SECRET = <SPOTIFY_CLIENT_SECRET>
REDIRECT_URL = <REDIRECT_URL>
[SETTINGS]
MUSIC_DIR = D:\Music
AUDIO_FORMAT = mp3
AUDIO_QUALITY = 320
TRIM_SILENCE = False
```
## FAQ
### 1. What is the purpose of this program?
The answer is simple: I want to have local copies of all my Spotify tracks and playlists in original quality. Because who knows maybe one day i will lose access to my account or something else will happen.
### 2. Why do I need Virtual Audio Cable?
Virtual Audio Cable installation is optional but highly recommended for improved recording quality. It also allows listening to other audio while recording.
## TODO
- [ ] Linux support.
- [x] Trim silence from beginning and end of track.
- [ ] Command-line interface for database management of tracks and playlists.
- [ ] Ad blocking.
Raw data
{
"_id": null,
"home_page": "https://github.com/oSeeLight/rec-spotify",
"name": "rec-spotify",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11,<4.0",
"maintainer_email": "",
"keywords": "spotify,record",
"author": "Jacov Rainz",
"author_email": "oSeeLight@proton.me",
"download_url": "https://files.pythonhosted.org/packages/6c/0d/7ac8154f1e30553e5a21b6a0a3d51cf07c1592949f89b6fda70e3ba7438d/rec_spotify-1.8.tar.gz",
"platform": null,
"description": "# \ud83d\udcfb Rec-Spotify\n\n![](etc/screen.png)\n\nThe program allows you to record Spotify tracks, albums, and playlists with a single simple command. It is also able to fully synchronize your Spotify playlists to a local folder and keep them up-to-date. For now it works **only** on Windows.\n\nVideo Guide: [Watch](https://mega.nz/file/nV8XlKzT#yJhTn7TrQR_6TH3J-26-W2hBHL4W_auAAR0nkzwDsgs)\n\n## Requirements\n\n- Python3\n- Spotify Premium (no ad blocking functionality)\n- [Virtual Audio Cable](https://vb-audio.com/Cable) (recommended, read below)\n\n## Install\n\n```sh\npip install rec-spotify\n```\n\n## Usage\n\nFirst, you need to create a Spotify app to obtain the credentials. You can create an app at the Spotify Developer Dashboard: https://developer.spotify.com/dashboard\n\nAlso change Spotify Output Device to Virtual Audio Cable: [Guide](https://youtu.be/EH-VzIpX7e0?t=86)\n\n```sh\n# Perform a full synchronization.\nrec-spotify --sync\n\n# Record single track/album/playlist.\n# Spotify URL format example: https://open.spotify.com/track/42vwak6ZIFMscDhzz3S52f\n# Output path format example: C:\\Users\\<username>\\Desktop or just \".\" to save in current directory\nrec-spotify --url <url> --path <where_to_save>\n\n______ _____ _ _ __ \n| ___ \\ / ___| | | (_)/ _| \n| |_/ /___ ___ ______\\ `--. _ __ ___ | |_ _| |_ _ _ \n| // _ \\/ __|______|`--. \\ '_ \\ / _ \\| __| | _| | | |\n| |\\ \\ __/ (__ /\\__/ / |_) | (_) | |_| | | | |_| |\n\\_| \\_\\___|\\___| \\____/| .__/ \\___/ \\__|_|_| \\__, |\n | | __/ |\n |_| |___/ \n\nusage: rec-spotify [-h] [-c] [-s] [-u URL] [-p PATH] [-v]\n\noptions:\n -h, --help show this help message and exit\n -c, --check Run database cleanup.\n -s, --sync Synchronize all of your Spotify playlists with local music library.\n -r, --recreate Create all tracks and playlists stored in the local database to the user`s Spotify account. (Useful for newly created account.)\n -u URL, --url URL Spotify link or ID for a separate track, playlist, or album.\n -p PATH, --path PATH The output directory for saving recorded files\n -v, --version show program's version number and exit\n```\n\n## Configration\n\nOn the first run, the program will launch a setup wizard. This will prompt you to enter your Spotify app credentials and other required information.\n\nThe config file is located at: ```C:\\Users\\<username>\\.rec_spotify\\config.ini```\n\nConfig example:\n\n```ini\n[SPOTIFY]\nCLIENT_ID = <SPOTIFY_CLIENT_ID>\nCLIENT_SECRET = <SPOTIFY_CLIENT_SECRET>\nREDIRECT_URL = <REDIRECT_URL>\n\n[SETTINGS]\nMUSIC_DIR = D:\\Music\nAUDIO_FORMAT = mp3\nAUDIO_QUALITY = 320\nTRIM_SILENCE = False\n```\n\n## FAQ\n\n### 1. What is the purpose of this program?\n\nThe answer is simple: I want to have local copies of all my Spotify tracks and playlists in original quality. Because who knows maybe one day i will lose access to my account or something else will happen.\n\n### 2. Why do I need Virtual Audio Cable?\n\nVirtual Audio Cable installation is optional but highly recommended for improved recording quality. It also allows listening to other audio while recording.\n\n\n## TODO\n\n- [ ] Linux support.\n- [x] Trim silence from beginning and end of track.\n- [ ] Command-line interface for database management of tracks and playlists.\n- [ ] Ad blocking.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "\ud83d\udcfb Record and sync Spotify tracks, albums, and playlists.",
"version": "1.8",
"project_urls": {
"Homepage": "https://github.com/oSeeLight/rec-spotify",
"Repository": "https://github.com/oSeeLight/rec-spotify"
},
"split_keywords": [
"spotify",
"record"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "19ec3a1b4fa652e1aa533f995060c4049cef2ee2188e87bddc2db0a95c2599e0",
"md5": "14115f606c0f2b19661820da6d54718a",
"sha256": "780b7544421bdb11fea165da2154c21fbf0d31ebf3af2f7d5cb7a9fef31da1f2"
},
"downloads": -1,
"filename": "rec_spotify-1.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "14115f606c0f2b19661820da6d54718a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11,<4.0",
"size": 20947,
"upload_time": "2023-08-10T15:54:37",
"upload_time_iso_8601": "2023-08-10T15:54:37.865060Z",
"url": "https://files.pythonhosted.org/packages/19/ec/3a1b4fa652e1aa533f995060c4049cef2ee2188e87bddc2db0a95c2599e0/rec_spotify-1.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6c0d7ac8154f1e30553e5a21b6a0a3d51cf07c1592949f89b6fda70e3ba7438d",
"md5": "869a87118a6e6d0f76af93530b7ccd38",
"sha256": "3788c7937862897ac2b85d40beeaeacb06d9cafea1bbe233f4f5ec07e0ab27e1"
},
"downloads": -1,
"filename": "rec_spotify-1.8.tar.gz",
"has_sig": false,
"md5_digest": "869a87118a6e6d0f76af93530b7ccd38",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11,<4.0",
"size": 56057,
"upload_time": "2023-08-10T15:54:39",
"upload_time_iso_8601": "2023-08-10T15:54:39.574320Z",
"url": "https://files.pythonhosted.org/packages/6c/0d/7ac8154f1e30553e5a21b6a0a3d51cf07c1592949f89b6fda70e3ba7438d/rec_spotify-1.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-10 15:54:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "oSeeLight",
"github_project": "rec-spotify",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "rec-spotify"
}