Skip to content

Latest commit

 

History

History
75 lines (60 loc) · 2.04 KB

File metadata and controls

75 lines (60 loc) · 2.04 KB

lyse

Realtime synced lyrics in your terminal, for whatever's playing.

2026-06-25-163007_hyprshot

Install

Requirements: python3, playerctl

AUR

yay -S lyse
paru -S lyse

Manual

# Install playerctl
sudo pacman -S playerctl   # Arch
sudo apt install playerctl # Debian/Ubuntu

# Clone and run
git clone https://github.com/snoowfall/lyse.git --depth 1
cd lyse
chmod +x lyse.py
./lyse.py

Tip

To run lyse from anywhere, symlink or copy lyse.py to somewhere on your $PATH.

ln -s $PWD/lyse.py ~/.local/bin/lyse

This is done automatically when installing via the AUR.

Keys

Key Action
j/k adjust lyric offset (±0.25s)
←/→ seek ±5 seconds
u toggle UI bar
b toggle bold on current line
c toggle centered lyrics
U toggle uppercase current line
i toggle dim inactive lines
/ search for lyrics manually
r retry lyrics fetch
? show help overlay
q/esc quit

Arguments

--pipe              print the current lyric line to stdout and exit
--live              with --pipe: stream lyrics continuously as they change
--interval SECS     polling interval for --live (default: 0.8)
--offset SECS       override the lyric time offset
--player NAME       target a specific playerctl player
--reset             reset saved settings to defaults
--debug             write debug logs to ~/.cache/lyse/debug.log

Example — pipe current lyric to waybar/polybar:

lyse --pipe --live

Misc

  • Lyrics are fetched from lrclib.net and cached at ~/.cache/lyse/
  • Settings auto-save to ~/.config/lyse/settings.json
  • Reset settings: lyse --reset