yamusic-tui icon indicating copy to clipboard operation
yamusic-tui copied to clipboard

An unofficial Yandex Music terminal client.

yamusic-tui

GitHub License Go Report Card Release

An unofficial Yandex Music terminal client.
Based on yandex-music-open-api.

screenshot

Requirements

To use this client, you should have a valid Yandex Music account and an access token.
The easiest way to get a token is to use this browser extension.

Implemented features

  • [x] Player control
    • [x] Play/pause
    • [x] Switch track
    • [x] Play progress
    • [x] Rewind
    • [x] Like/unlike
    • [x] Share
  • [ ] Radio
    • [x] My wave
    • [ ] Radio configuration
  • [ ] Likes
    • [x] Liked tracks
    • [ ] Liked playlists
    • [ ] Liked artists
    • [ ] Liked albums
  • [ ] Playlists
    • [x] Display user playlists
    • [x] Play from playlist
    • [ ] Add/remove track to playlist
    • [ ] Create/remove playlist
    • [ ] Rename playlist
  • [ ] Caching
  • [x] Search
  • [ ] Landing

Installation

If you have Go installed on your PC:

go install github.com/dece2183/yamusic-tui@latest

Configuration

The configuration file is located at ~/.config/yamusic-tui/config.yaml.

This is the default configuration which is automatically created after the first login:

token: <your yandex music token>
buffer-size-ms: 80
rewind-duration-s: 5
volume: 0.5
controls:
   quit: ctrl+q,ctrl+c
   apply: enter
   cancel: esc
   cursor-up: up
   cursor-down: down
   playlists-up: ctrl+up
   playlists-down: ctrl+down
   tracks-like: l
   tracks-share: ctrl+s
   tracks-shuffle: ctrl+x
   tracks-search: ctrl+f
   player-pause: space
   player-next: right
   player-previous: left
   player-rewind-forward: ctrl+right
   player-rewind-backward: ctrl+left
   player-like: L

You can list multiple keys for the same control, separated by commas.

Increase the buffer-size-ms if you have glitches or statters.