Git Product home page Git Product logo

lucasjet81 / alpspotify-downloader Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alpsayin/alpspotify-downloader

0.0 0.0 0.0 56.69 MB

Download Spotify playlists with albumart and meta-tags and lyrics. This fork prepends a track's playlist index if you're downloading a playlist, album or your saved-songs, so you can put then into a dumb mp3 player without losing playlist order.

License: MIT License

Shell 0.55% Python 99.45%

alpspotify-downloader's Introduction

What this fork does:

It prepends a track's playlist index (i.e. playlist location) if you're downloading a playlist, album or your saved songs, so you can put then into a dumb mp3 player without losing playlist order.

Readme text is slightly modified to remove install instructions for dev and pipx versions.


spotDL

spotDL

Download your Spotify playlists and songs along with album art and metadata

MIT License pypi version GitHub commits since latest release (by date) pypi downloads Contributors Discord

The fastest, easiest, and most accurate command-line music downloader

asciicast

What spotDL does

  1. Downloads music from YouTube as an MP3 file
  2. Applies basic metadata gathered from Spotify such as:
    • Track Name
    • Track Number
    • Album
    • Album Cover
    • Genre
    • and more!

Redesigned

spotDL is being redesigned! This means we are currently not accepting new feature requests. You can talk to us on our Discord if there is anything further.

Prerequisites

  • Python 3.6.1 or above (added to PATH)
  • FFmpeg 4.2 or above (added to PATH)

YouTube Music must be available in your country for spotDL to work. This is because we use YouTube Music to filter search results. You can check if YouTube Music is available in your country, by visiting YouTube Music.

Installation

Installing FFmpeg

Installing spotDL

  • This version:

    git clone https://github.com/alpsayin/alpspotify-downloader.git
    pip install -e alpspotify-downloader

Usage

  • To download a song, run

    spotdl [trackUrl]

    example:

    spotdl https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b
  • To download an album, run

    spotdl [albumUrl]

    example:

    spotdl https://open.spotify.com/album/4yP0hdKOZPNshxUOjY0cZj
  • To download your user's saved tracks, run

    spotdl --user-auth saved

    example:

    spotdl --user-auth saved
  • To download a playlist, run

    spotdl [playlistUrl]

    example:

    spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID
  • To download all songs from an artist run

    spotdl [artistUrl]

    example:

    spotdl https://open.spotify.com/artist/1fZAAHNWdSM5gqbi9o5iEA
  • To search for and download a song, run, with quotation marks

    spotdl '[songQuery]'

    example:

    spotdl 'The Weeknd - Blinding Lights'

    Note: This is not accurate and often causes errors.

  • To resume a failed/incomplete download, run

    spotdl [pathToTrackingFile]

    example:

    spotdl 'The Weeknd - Blinding Lights.spotdlTrackingFile'

    Note: .spotdlTrackingFiles are automatically created when a download starts and deleted on completion

  • You can queue up multiple download tasks by separating the arguments with spaces

    spotdl [songQuery1] [albumUrl] [songQuery2] ... (order does not matter)

    example:

    spotdl 'The Weeknd - Blinding Lights' https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID ...

    Note: spotDL downloads up to 4 songs in parallel, so for a faster experience, download albums and playlist, rather than tracks.

  • To download youtube video with metadata from spotify run:

    spotdl "YouTubeURL|SpotifyURL"

    example:

    spotdl "https://www.youtube.com/watch?v=EO7XnC1YpVo|https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3"

    Note: Urls have to be separated with | and quoted properly ex. "YouTubeURL|SpotifyUrl"

  • To download songs with different output format run

    spotdl [songUrl] --output-format mp3/m4a/flac/opus/ogg/wav

    example:

    spotdl [songUrl] --output-format opus
  • To use ffmpeg binary that is not on PATH run

    spotdl [songUrl] --ffmpeg path/to/your/ffmpeg.exe

    example:

    spotdl [songUrl] --ffmpeg C:\ffmpeg\bin\ffmpeg.exe
  • To generate .m3u file for each playlist run

    spotdl [playlistUrl] --m3u

    example:

      spotdl https://open.spotify.com/playlist/37i9dQZF1E8UXBoz02kGID --m3u
  • To use youtube instead of youtube music run

    spotdl [songUrl] --use-youtube

    example:

      spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --use-youtube
  • To change number of threads used when downloading songs run

    spotdl [songUrl] --dt [number]

    example:

    spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --dt 8
  • To change number of threads used when searching for songs run

    spotdl [songUrl] --st [number]

    example:

    spotdl https://open.spotify.com/track/4fzsfWzRhPawzqhX8Qt9F3 --st 8
  • To ignore your ffmpeg version run

    spotdl [songUrl] --ignore-ffmpeg-version
  • To use path template

    spotdl [songUrl] --path-template 'template'

    example:

    spotdl https://open.spotify.com/track/0VjIjW4GlUZAMYd2vXMi3b --path-template '{artist}/{album}/{title} - {artist}.{ext}'

    possible values:

    • {artist}
    • {artists}
    • {title}
    • {album}
    • {ext}
    • {playlist}

Contributor Guide

Interested in contributing? Check out our CONTRIBUTING.md to find resources around contributing along with a guide on how to set up a development environment.

Contributors

contributors

Authors

  1. @ritiek for creating and maintaining spotDL for 4 years
  2. @rocketinventor for figuring out YouTube Music querying
  3. @MikhailZex for, never mind, truly, never mind...

License

MIT

alpspotify-downloader's People

Contributors

ritiek avatar silverarmor avatar xnetcat avatar linusg avatar alpsayin avatar ns23 avatar manveerxyz avatar aklajnert avatar phcreery avatar s1as3r avatar vn-ki avatar pithuene avatar sdhutchins avatar mello-yello avatar sigill avatar aareon avatar k0mat avatar wmp avatar cyberboysumanjay avatar silverfeelin avatar russellbradley avatar chew-z avatar maxbachmann avatar kadaliao avatar jcs090218 avatar gordominossi avatar fransm avatar bcardiff avatar arthurlutz avatar arryon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.