All Projects → regisb → Spotify Onthego

regisb / Spotify Onthego

Licence: gpl-3.0
Download Spotify playlists by searching for audio files on YouTube

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Spotify Onthego

Alltomp3 App
Download and Convert YouTube, SoundCloud & Spotify in MP3 with full tags (title, artist, genre, cover, lyrics 🔥)
Stars: ✭ 920 (+1293.94%)
Mutual labels:  music, spotify, download, youtube
Getsong
Download any song mp3 with no dependencies except ffmpeg
Stars: ✭ 102 (+54.55%)
Mutual labels:  music, spotify, youtube
Vidify
Play music videos automatically for the songs playing on any device
Stars: ✭ 95 (+43.94%)
Mutual labels:  music, spotify, youtube
Ytspotifydl
Youtube and Spotify music downloader with metadata.
Stars: ✭ 34 (-48.48%)
Mutual labels:  music, spotify, youtube
Botify
Discord bot that plays Spotify tracks and YouTube videos or any URL including Soundcloud links and Twitch streams
Stars: ✭ 86 (+30.3%)
Mutual labels:  music, spotify, youtube
Spotiflyer
Spotify/Gaana/Youtube Music Downloader For Android!
Stars: ✭ 231 (+250%)
Mutual labels:  music, spotify, youtube
Sonos Web
Web interface for Sonos audio systems
Stars: ✭ 114 (+72.73%)
Mutual labels:  music, spotify, youtube
Youtubetospotify
A Python script to fetch tracks of music channels on Youtube, find them on Spotify and add them to a playlist
Stars: ✭ 33 (-50%)
Mutual labels:  music, spotify, youtube
Scdlbot
Telegram Bot for downloading MP3 rips of tracks/sets from SoundCloud, Bandcamp, YouTube with tags and artwork.
Stars: ✭ 210 (+218.18%)
Mutual labels:  music, download, youtube
Android Youtubemp3
Download videos as mp3 directly from Youtube Android App
Stars: ✭ 124 (+87.88%)
Mutual labels:  music, download, youtube
Ytmdl
A simple app to get songs from YouTube in mp3 format with artist name, album name etc from sources like iTunes, Spotify, LastFM, Deezer, Gaana etc.
Stars: ✭ 2,070 (+3036.36%)
Mutual labels:  music, spotify, youtube
Raveberry
A multi-user music server with a focus on participation
Stars: ✭ 442 (+569.7%)
Mutual labels:  music, spotify, youtube
Ytmdl Web V2
Web version of ytmdl. Allows downloading songs with metadata embedded from various sources like itunes, gaana, LastFM etc.
Stars: ✭ 398 (+503.03%)
Mutual labels:  spotify, download, youtube
Smd
Spotify Music Downloader
Stars: ✭ 822 (+1145.45%)
Mutual labels:  music, spotify, youtube
Spotty Features
Show trends about your music listening habits over time. Create playlists from a given seed and specified audio features.
Stars: ✭ 20 (-69.7%)
Mutual labels:  music, spotify
Panther
Discover artists through an infinite node graph
Stars: ✭ 878 (+1230.3%)
Mutual labels:  music, spotify
Clinet
Official repository for Clinet, a Discord bot intended for assistance and control within your guilds.
Stars: ✭ 28 (-57.58%)
Mutual labels:  spotify, youtube
Harmony
🎵 Sleek music player for Spotify, SoundCloud, Google Play Music and your local files
Stars: ✭ 841 (+1174.24%)
Mutual labels:  music, spotify
Shoutoutplay
The mobile app that allows you to create and record personal dedications using your favorite music playlists for corporate events, parties, weddings and get togethers.
Stars: ✭ 28 (-57.58%)
Mutual labels:  music, spotify
Musicbot
🎶 A Discord music bot that's easy to set up and run yourself!
Stars: ✭ 1,109 (+1580.3%)
Mutual labels:  music, youtube

Spotify On The Go

Download songs and playlist from Spotify. The tracks are downloaded from YouTube videos and converted as mp3 files.

Install

::

pip install spotify-onthego

Note that you will need valid Spotify app credentials. If you don't have a valid client ID/secret pair of keys, you can create a Spotify app here <https://developer.spotify.com/my-applications/#!/applications/create>_.

Once you have created a Spotify app, you will also have to add a redirect URI for this app ("Add URI").

After the first run of the CLI tool, the authentication token and credentials will be stored in a local configuration file.

Requirements

If you wish to convert the downloaded files to mp3 format, you will need to install ffmpeg or avconv.

On Debian/Ubuntu::

sudo apt-get install ffmpeg

On Mac OS, just follow the instructions from the official ffmpeg website <https://www.ffmpeg.org/download.html>__.

Usage

::

$ spotify-playlist -h
usage: spotify-playlist [-h] [-i] [-S] [-a {webm,ogg,m4a}] [-C] playlist dst

Download the tracks of a Spotify playlist from YouTube

positional arguments:
  playlist              Name of playlist. E.g: 'Road music'
  dst                   Destination directory

optional arguments:
  -h, --help            show this help message and exit
  -i, --interactive     Interactively select the song to download from
                        Youtube.
  -S, --no-skip         Don't skip files that were already downloaded.
  -a {webm,ogg,m4a}, --audio {webm,ogg,m4a}
                        Preferred audio format to download. By default, the
                        best quality audio format will be downloaded. On some
                        platforms (e.g: Debian Wheezy), the default ffmpeg
                        utility does not support audio conversion from webm,
                        so you should specify a different value here. Note
                        that this audio file will eventually be converted to
                        mp3 (unless you specify --no-convert)
  -C, --no-convert      Don't convert audio files to mp3 format.

::

$ spotify-mymusic -h
usage: spotify-mymusic [-h] [-l LIMIT] [-i] [-S] [-a {webm,ogg,m4a}] [-C] dst

Download the songs from 'Your Music'

positional arguments:
  dst                   Destination directory

optional arguments:
  -h, --help            show this help message and exit
  -l LIMIT, --limit LIMIT
                        Limit to top N songs
  -i, --interactive     Interactively select the song to download from
                        Youtube.
  -S, --no-skip         Don't skip files that were already downloaded.
  -a {webm,ogg,m4a}, --audio {webm,ogg,m4a}
                        Preferred audio format to download. By default, the
                        best quality audio format will be downloaded. On some
                        platforms (e.g: Debian Wheezy), the default ffmpeg
                        utility does not support audio conversion from webm,
                        so you should specify a different value here. Note
                        that this audio file will eventually be converted to
                        mp3 (unless you specify --no-convert)
  -C, --no-convert      Don't convert audio files to mp3 format.

Download playlist

Download all songs from 'My Playlist' and save them as mp3::

spotify-playlist "My Playlist" ./music/myspotifyplaylist/

Create a cronjob to download your Discover Weekly playlist every monday at 7am::

0 7 * * 1 /home/username/venv/bin/spotify-playlist "Discover Weekly" /home/username/music/discoverweekly

Wildcards are supported, too::

spotify-playlist "Mixtape*" ./music/

Download favorite songs

Download your 30 most recent tracks from "My Music"::

spotify-mymusic -l 30 ./music/mytracks/

Interactive mode

By default, spotify-onthego downloads the first match found on Youtube for the search "<song title> <artist name>" (song and artist separated by an empty space). If you want to manually select the Youtube result to download, run in interactive mode with the -i option::

$ spotify-mymusic -i mymusic/
++ Processing Porcupine Tree - Deadwing
[1] Porcupine Tree - DeadWing https://www.youtube.com/watch?v=GMEwM3YHiME
[2] Porcupine Tree - Deadwing https://www.youtube.com/watch?v=-Rwp-yvmcRM
[3] Porcupine Tree - Deadwing [Lyrics on Video] https://www.youtube.com/watch?v=dDepB1mwPhc
[4] Making of Deadwing https://www.youtube.com/watch?v=ZuYjGfaixDM
[5] Porcupine Tree- Mellotron Scratch https://www.youtube.com/watch?v=Ag2zXiiuF5Q
[6] Porcupine Tree - Shesmovedon (Deadwing ver.) https://www.youtube.com/watch?v=OtfJcTBklh8
[7] Porcupine Tree - Shallow (lyrics) https://www.youtube.com/watch?v=7_8UmXv5Xac
[8] Porcupine Tree - Arriving Somewhere But Not Here (lyrics on screen) https://www.youtube.com/watch?v=f2ROFnA4HRA
[9] Porcupine Tree - Deadwing (Lyrics) https://www.youtube.com/watch?v=tMMlEZCaQTY
[10] Deadwing- Porcupine Tree(Drum Cover) https://www.youtube.com/watch?v=Zb5KTnXGiNU
Select song to download (default: 1, next=n):

Of course, interactive mode should not be used in automated cron jobs.

Troubleshooting

In case of 401 error, this may be caused by a previous authorization token that did not have the right scope. Just remove the :code:~/.local/share/spotify-onthego/spotify.token file and start the command again.

If mp3 generation fails with an error message related to eyed3, check that your installed version of eyed3 is at least 0.8::

$ pip freeze | grep eyeD3
eyeD3==0.8

Development

See something that's not working for you, or something that you would like to be included? Just open a pull request <https://github.com/regisb/spotify-onthego/pulls>_ with your code, or a Github issue <https://github.com/regisb/spotify-onthego/issues>_ where you describe the feature you would like to have.

To setup a development environment, install the dev requirements::

pip install -r requirements/dev.txt

Code should be black-formatted <https://black.readthedocs.io/en/stable/>__. To automatically format your code, run::

make format

Periodically run code lint and formatting tests with:

make test

License

This project is licensed under the GNU General Public License v3.0 <https://opensource.org/licenses/gpl-3.0.html>_.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].