Download any song mp3 with no dependencies except ffmpeg
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd/getsong
.gitignore
.travis.yml
LICENSE
Makefile
README.md
getsong.go
getsong_test.go
go.mod

README.md

getsong

travis go report card coverage godocs

This is a simple library that utilizes the rylio/ytdl YouTube downloader and ffmpeg to get almost any mp3 of a song that you want to listen to. I wrote this so I could download mp3s of my favorite Spotify playlists.

Disclaimer: Downloading copyright songs may be illegal in your country. This tool is for educational purposes only and was created only to show how YouTubes's API can be used to download music. Please support the artists by buying their music.

Install

go get -u github.com/schollz/getsong/...

Usage

The aim of this library to have a low (or zero) false positive rate, so it works best when the entered title + artist are spelled correctly.

Use as a program

$ getsong 'Getting in Tune' 'The Who'
Downloading 'Getting in Tune by The Who (W6-3rnD7FSc).webm'...
 524289 / 524289 [==========================] 100.00% 
...converting to mp3...
Downloaded 'Getting in Tune by The Who (W6-3rnD7FSc).mp3'

Use as a library

// download "True" by "Spandau Ballet"
fname, err := getsong.GetSong("True", "Spandau Ballet")
if err == nil {
    fmt.Printf("Downloaded '%s'\n", fname)
}

Contributing

Pull requests are welcome. Feel free to...

  • Revise documentation
  • Add new features
  • Fix bugs
  • Suggest improvements

License

MIT