Skip to main content

croon

Synced lyrics for whatever is playing, in your terminal.

Detects the currently playing song system-wide on macOS, fetches time-synchronized lyrics from LRCLIB (free, no API key), and falls back to scraping plain lyrics from Genius when no synced version exists. Synced lines highlight and auto-scroll in time with playback.

croon auto-scrolling synced lyrics in the terminal

croon showing synced lyrics and album art

Note: Genius itself only has plain-text lyrics (no timestamps), which is why LRCLIB is the primary source for true sync.

Install & run

uvx croon            # run without installing
# or
pip install croon && croon
# or, from a checkout
uv run croon

Now-playing backends

Tried in order; the first one that works is remembered:

  1. media-control — system-wide, works on macOS 15.4+ (brew install media-control)
  2. nowplaying-cli — system-wide, older macOS (brew install nowplaying-cli)
  3. Spotify via AppleScript (no install needed)
  4. Apple Music via AppleScript (no install needed)

So with Spotify or Apple Music it works out of the box; install media-control for other players (browser, VLC, etc.). The first AppleScript call may trigger a macOS Automation permission prompt for your terminal.

Keys

Key Action
q Quit
r Refetch lyrics
s Edit/search for the current song on Genius
+/- Nudge sync offset ±0.5 s
f Toggle auto-follow (free scrolling)
h Toggle footer
l Toggle lyrics-only mode
o Open the song's Genius page in a browser

If player metadata is missing or incorrect, press s, edit the pre-filled artist/title query, and press Enter. Press Escape to cancel the search.

Behavior notes

  • Synced (LRCLIB): current line is highlighted and centered.
  • Plain (LRCLIB/Genius): position is estimated from track progress, so scrolling is approximate.
  • Header shows position, lyrics source, and detection backend; a non-zero sync offset appears top-right (e.g. delay +1.5s).

Metadata

Release files for croon 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for croon 0.1.1
File Size Uploaded
croon-0.1.1.tar.gz 10.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for croon 0.1.1
File Interpreter ABI Platform
croon-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.4 kB

Release files / croon-0.1.1.tar.gz

Download URL croon-0.1.1.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
c383a445b4296de4502f286a2fe61d2d6cc75475523d171d40a3f50c978421b1
BLAKE2b-256 checksum
How to use checksums
96a63d3a70ddaf7f3b671b4e70943bdc1812cf2607715002666967e8a5f54aaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / croon-0.1.1-py3-none-any.whl

Download URL croon-0.1.1-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a1315bffcdc2d875051d1a594fd283a54954c6e12d78c360d3591e0b70d26b9
BLAKE2b-256 checksum
How to use checksums
aac01610d59b0e4981c042d7c195b884cfc4ae173a35d880695baa225bc0825f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page