termusic 0.2.7

Terminal Music Player written in Rust. Can download music from youtube(and netease) and then embed lyrics and album photos into mp3 files. Need mpv installed to play the music.
termusic-0.2.7 is not a library.

Terminal Music Player written in Rust

Nowadays listen to favorite songs are not easy. For online services, the copyrights are owned by several different softwares and websites. Local player becomes the best choice.

As a contributor of GOMU(https://github.com/issadarkthing/gomu), I met serious problems during development. The main problem is data race condition. So I basically rewrite the player in rust, and hope to solve the problem.

As for now, only mp3 is supported. It's basically because mp3 has id3 tags and these tags played an important role in the app.

main tageditor

Requirement:

Need mpv installed to play mp3. Optionally need youtube-dl installed to download mp3 from youtube.

Installation:

cargo install termusic

Or install manually:

git clone https://github.com/tramhao/termusic.git
cd termusic
make
make install
~/.local/share/cargo/bin/termusic

ChangeLog/Implemented features:

  • Music library below ~/Music, can be changed via editing $HOME/.config/termusic/config.toml
  • Pause/Skip
  • Seek forward/backward
  • USLT lyric
  • Album Photo display(only for kitty terminal)
  • Youtube-dl integration
  • lyric and tag download
  • yank and paste in playlist
  • Lyric offset adjustment
  • Local service to fetch lyrics
  • Download song in tag editor(only for netease, not for kugou)
  • Configuration v0.2.6
  • Local service for kugou v0.2.7(only finished lyric, album_photo and song is not finished)
  • Youtube-dl progress indication(indicated by status line)
  • Youtube search by invidious V0.2.7(from the same dialogue of download)
  • Database instead of id3
  • more player backend

License

MIT License