- Spotify, MPD, Mopidy, MPRIS, or any browser (including YouTube Music) via the WebNowPlaying extension
- Three lyrics sources (lrclib, NetEase, QQ Music) queried in parallel, so a track missing from one usually turns up on another
Requires Go 1.26+.
git clone https://github.com/Volcha-Z/Slyrics.git && cd Slyrics && ./install.shInstalls slyrics to ~/.local/bin (override with BINDIR=... ./install.sh).
A config file is created on first run, at ~/.config/slyrics/config.yaml.
- Install the WebNowPlaying extension in your browser.
- Put the player as browser in the config file.
- Play something, then run
slyrics.
Set player in the config to spotify, mpd, mopidy, mpris, or leave it unset and fill in local.folder to scan a folder of .lrc files instead. Each player's own settings live under its matching key in the config — see the comments in the generated file.
Spotify needs a one-time login: create an app at developer.spotify.com with redirect URI http://127.0.0.1:8888/callback, then run slyrics login and follow the prompts.
slyrics (the wrapper installed by install.sh) accepts a color flag: slyrics -blue, -red, -orange, -yellow, -green, -cyan, -purple, -pink, -white, or any hex code directly, e.g. slyrics -#ff00ff.
style:
blockFont: true # big ASCII-block letters instead of normal text
effect3d: false # adds a 3d effect for the ASCII-block
onlyCurrent: true # show only the current line, centered
uppercase: true
hAlignment: center
current:
bold: true
foreground: "#3b82f6" # HEX or ANSI 0-255Style flags also override the config on the command line, e.g. slyrics --current "bold,#3b82f6". Run slyrics --help for the full list.
Note:
blockFontneeds enough terminal width to draw a whole word at once, a window that's too narrow for a given line falls back to plain text Wider is better for block.
MIT — see LICENSE.
