Spotify playlist/track information to json, mp4 and mp3 converter, written in GoLang.
! FFMPEG is required for this project to work !
-
SongMan will take playlist or track link from spotify and make sure its a valid link.
-
Content will be turned into blueprint and exported in
blueprints
directory withplaylist/track
name and.json
file extension -
If specified, blueprints will be used to find the corresponding video on Youtube and download it in
videos
directory with.mp4
file extension. -
If downloaded, mp3 will be extracted from mp4 videos into the
music
direcotry with.mp3
file extension.
-
Clone the project:
git clone https://github.com/FinnTheHero/SongMan.git && cd Songman
-
Create
.env
file:mkdir .env
-
Put your Spotify client id & secret and 2 of Youtube Data API keys in
.env
file:CLIENT_ID="" CLIENT_SECRET="" YOUTUBE_API_KEY_1="" YOUTUBE_API_KEY_2=""
2 API keys for youtube is optional, you can use only one if you want so. However, you have to change it on your own in the code
src/download/youtube.go
when calling functionGetVideo()
. -
Run the project:
go run . -link "https://open.spotify.com/playlist/3cEYpjA9oz9GiPac4AsH4n"
Add
-download true
option to attempt downloading. However, this requiresffmpeg
to be installed on the device. This method will also extract audio as an mp3 from downloaded videos.go run . -link "https://open.spotify.com/playlist/3cEYpjA9oz9GiPac4AsH4n" -download true
-
This is unethical and illegal in some cases.
-
Youtube Data API provides 100 API calls a day so you are limited to 100 downloads a day.
This does not affect blueprint extraction.
Author takes no responsibility of how you use this project!