👋 !
Bye08/28/2022
I'm leaving this project. You can fork it and add new features. It was a good time while developing ymp3cli. I am grateful to everyone who helped me.
Good luck!
pai
A simple terminal tool for downloading and listening music from YouTube, Spotify and SoundCloud
consumes <10MB of ram!!!
Star History
Prerequisites
- golang 1.17+
- python 3.6.1 or above (for spotdl)
- ffmpeg 4.2 or above (added to PATH)
- spotDL https://github.com/spotDL/spotify-downloader#installation
Installing FFmpeg
- Windows Tutorial
- OSX -
brew install ffmpeg
- Linux -
sudo apt install ffmpeg
Install instructions
-
You can download the binary file from: https://github.com/paij0se/ymp3cli/releases
-
Or with curl
curl https://raw.githubusercontent.com/paij0se/ymp3cli/main/install.sh | bash
- verify the installation with
$ ymp3cli --h
Usage: ymp3cli -[OPTION]
-h ,-help: Display the help command
-v ,-version: Display the version of ymp3cli
-p ,-play: Play a single song
-u ,-update: Update ymp3cli to the latest version
-d ,-download: Download a song from youtube
-s ,-speed: That allows changing the playback speed
-sd ,-soundcloud: Download a song from soundcloud
Usage: ymp3cli -p [SONG]
ymp3cli -p <song.mp3>: play a single song
example: ymp3cli -p song.mp3
Usage: ymp3cli -s [SONG]
ymp3cli -s <song.mp3>: change the playback speed
example: ymp3cli -s song.mp3
Usage: ymp3cli -d [Link]
ymp3cli -d <link>: download a song from youtube
example: ymp3cli -d https://www.youtube.com/watch?v=dQw4w9WgXcQ
MIT License
Made it by pai
https://paijose.cf
$ ymp3cli # start ymp3cli
$ ymp3cli -d https://www.youtube.com/watch?v=dQw4w9WgXcQ # download a song from youtube
$ ymp3cli -p song.mp3 # play a single song
Build instructions
for linux install the oto dependencies
sudo apt install libasound2-dev
for macOS Oto requies AudioToolbox.framework
, but this is automatically linked.
run go get .
to install the dependencies.
Build ymp3cli with go build -o ymp3cli src/main.go
and for execute ymp3cli just run ./ymp3cli
.
Config File
Linux & Mac
/home/user/.ymp3cli/config.yaml
Windows
C:\.ymp3cli\config.yaml
# Example yaml config file.
port: 8888 # port to listen on
telemetry: 0 # 1:true | 0:false
TODO:
- client in golang
- download the videos without youtube-dl
- works correctly in windows
- Discord rpc
- able to pause and rewind the songs
- A playlists system
- able to play a song one by one