Skip to content

Automatic Spotify to Deezer playlist updater, and deemix track downloader. Only a placeholder repo - all the code can be found on the GitLab link below!

License

Notifications You must be signed in to change notification settings

willtheorangeguy/deedown

deedown
deedown

Automatic Spotify to Deezer playlist updater, and deemix track downloader. This is only a placeholder repo, the full code and documentation can be found on GitLab.

GitHub Actions State GitHub Version GitHub Issues GitHub Pull Requests Discord Server ID Downloads GitHub Languages

Key Features • Download • How To Use • Support • Contributing • Changelog • Credits & Contributors

Key Features

  • Easy to use CLI.
  • Converts playlists from Spotify to Deezer.
  • Updates playlists.
  • Downloads songs using deemix.
  • Downloads cover art.
  • Automatically sorts music files.

Download

You can download the source code to run the CLI scripts from the command line on Windows. This will require Windows 10, Python, the Windows Subsystem for Linux and a Linux Image.

How To Use

Before running deedown, the following must be installed or downloaded:

  • Windows 10 (Version 1903 or higher, with Build 18362 or higher)
  • A text editor
  • Windows Subsystem for Linux
  • An Ubuntu, Kali or Debian image from the Microsoft Store (others may work, but are untested)
  • Python 3 (and pip)
  • The following Python Packages: (these do not need to be individually installed, installation instructions can be found below)
urwid
deemix
deezer-py
deezer-python
certifi==2020.6.20
chardet==3.0.4
html5lib==1.1
idna==2.10
python-dateutil==2.8.1
pytz==2020.1
requests==2.24.0
six==1.15.0
urllib3>=1.26.5
webencodings==0.5.1

To install deedown and get the program running, follow these steps:

  1. Ensure you have downloaded the code from this repo, and installed Python 3, Windows 10 and the Windows Subsystem for Linux (instructions here).
  2. Extract the downloaded .zip file to the directory where you would like to access deedown. The best option is your user folder.
  3. Open a Command Prompt from this folder and run pip install -r requirements.txt, then run this command, pip3 install -r requirements.txt, from the Windows Subsystem for Linux terminal. (Using the Windows Terminal app may be helpful to keep WSL and Windows shell's sorted.)
  4. Create a new Deezer Application from the Deezer Developers website. Use the following information for each blank:
Name Value
Name deedown
Domain localhost
Redirect URL http://localhost:23412/authfinsh
Link to Terms of Use https://docs.github.com/en/github/site-policy/github-terms-of-service
Description A basic app to convert playlists to Deezer
  1. Edit the secrets.py file in the deedown directory. Use a text editor such as Notepad or VS Code. Place the values from your app in between the single quotes ('...'). If you cannot find your User ID, it is the 10-digit number at the end of your profile link on Deezer.
Deezer App Name secrets.py Name
Application ID DEEZER_CLIENT_ID
Secret Key DEEZER_CLIENT_SECRET
Deezer User ID DEEZER_USER_ID
  1. This step is not mandatory, but if you would like all of your Liked Songs to also download, you need to move them all to a playlist. Do this by selecting groups of 50 songs in your Liked Songs list and adding them to a playlist titled Liked Songs (or anything else you feel like). Select songs the same way as files, by shift clicking. The playlist can be up to 10,000 songs, but you can only add 50 at a time otherwise Spotify starts to loose them.
  2. Open a new Command Prompt in the base folder where you extracted deedown (the folder with all the scripts), and run 1_playlists.cmd. This will delete all of the old playlist files as well as any cached Python code. Then it saves a copy of all your Spotify playlists in .JSON format, and finally uploads them to Deezer. As @helpsterTree puts it: "this will take a long time, especially with a large number of playlists / large track count, so get a coffee [or tea], brew some more, establish a coffee plantation business with fair trade principles, make some money and come back to check, if the script is finished."
  3. Open a browser, and head to your Deezer account and click on playlists, which is on the left. Also open the 2_download.sh script in a text editor.
  4. Find each of your playlists and right click on the playlist title. Select copy link and paste it where the placeholder playlist links (https://www.deezer.com/en/playlist) are in the script. Make sure you paste the link in between the double quotes, as those are crucial! After the links have all been copied, delete any extra placeholders.
  5. This step is not mandatory, but if you would like to change the bitrate or the type of file downloaded, change the 128 on line 19 to flac or 320 depending on your needs. I find 128kbps gives a nice balance between sound quality and file size.
  6. Open a Linux shell in the main deedown directory (the one with the scripts) and run ./2_download.sh to let the tracks download. This may also take a long time, depending on the size of your library. If the script asks you to provide your arl, go back to deezer.com and press F12 on your keyboard. Click on Application, and then on the left side, click on Cookies. Select the https://www.deezer.com listing, and then in the Filter box, search for arl. Click on the arl listing and copy the long code, pasting it the terminal.
  7. Your audio files will be downloaded into Downloads\deedwn, sorted by playlist. If you would like to move them to your music folder, run 3_move.cmd from a Command Prompt and all of your files will instantly move to your user Music folder. That's it - enjoy listening!

Support

More documentation is available in the Documentation and on the Wiki. If more support is required, please open a GitHub Discussion or join our Discord.

Contributing

Please contribute using GitHub Flow. Create a branch, add commits, and open a pull request. If the contribution relates to the full program code, submit a merge request on Gitlab.

Please read CONTRIBUTING for details on our CODE OF CONDUCT, and the process for submitting pull requests to us.

Changelog

See the CHANGELOG file for details.

Credits

This software uses the following open source packages, projects, services or websites:

GitHub PSF PyInstaller Spotify Deezer
GitHub Python Software Foundation PyInstaller Spotify Deezer
Web - Plans Web - Donate Web - Donate Web - Plans Web - Plans

This project uses many scripts from many different people. Thanks to them, as this project would not work without their help.

Contributors

You may also like...

  • Running Calculator - A running distance and speed command line interface.
  • Snoopy Landing Page - A simple under construction landing page that features Charles M. Schulz's iconic Snoopy Beagle.
  • Python Logo Widgets - Python Powered Logo widgets that can be added to any GUI project.

License

This project is licensed under the GNU General Public License - see the LICENSE file for details. See the Privacy Policy and Terms and Conditions for legal information.

Any connections with Spotify and/or Deezer are governed by their own privacy policies and terms. This application is not related to and/or endorsed by either of the respective companies.

About

Automatic Spotify to Deezer playlist updater, and deemix track downloader. Only a placeholder repo - all the code can be found on the GitLab link below!

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •