Always on top, everywhere
The card floats above other apps and follows you across Spaces and into full-screen apps — it doesn't get left behind on desktop 1.
macOS · menu bar app · MIT
lrclrclrc watches whatever Apple Music or Spotify is playing, pulls time-synced lyrics, and highlights each line in a translucent card that stays above your other apps — across Spaces and full-screen windows.
Free and open source. No account, no API key, no telemetry. Installs from the Terminal in about a minute.
A lyrics overlay is really three separate jobs, and the app splits along those seams — about 3,600 lines of Swift in total.
A small AppleScript reads the current track's title, artist, album, duration and playback position from Apple Music or Spotify, once a second.
That track signature goes to LRCLIB —
free, open, no key — and the returned .lrc is parsed into
timestamped lines. Results are cached to disk.
A borderless, transparent NSPanel pinned above everything
else. The 1 Hz position samples get extrapolated to ~10 fps so
the highlighted line glides instead of ticking.
Built to sit on screen for hours, so the resting state is nearly invisible and the controls only show up when you reach for them.
The card floats above other apps and follows you across Spaces and into full-screen apps — it doesn't get left behind on desktop 1.
Overlay — the floating card. Menu Bar — just the current line, up top. Hidden — off, but still running.
Click any lyric line to jump playback there, or drag vertically through the lyrics to scrub. The full-lyrics window (⌘F) auto-scrolls and its timed lines are clickable too.
Lyrics drifting? Nudge them earlier or later. The correction is remembered per song, so fixing one never breaks the next.
Make the overlay ignore the mouse entirely, so clicks land on whatever's behind it. For when you need the window underneath more than the words.
Pick one, or leave it on Automatic and it follows whichever is playing. Music apps installed on your Mac are enabled for you.
Drag the header to move, drag the edges to resize — a taller card shows more lines. Position, size and every toggle survive a relaunch.
Text color presets cut in OKLCh and checked against real backdrops: white pages, dark editors, album art. A light set and a dark one, because no single color survives both.
When a song isn't in LRCLIB, Find Lyrics… opens the lookup and lets you paste timed .lrc or plain text. It's kept for that song.
Hover the card and ⏮ ⏯ ⏭ fade in, along with fine ±0.1s timing nudges. Move away and it's lyrics again.
It lives in the menu bar as a ♫, not in your ⌘-Tab switcher. Turn on launch-at-login and it's up there from the moment you log in.
Line transitions are spring-animated by default and go instant when macOS is set to reduce motion.
Everything lives behind the ♫ in the menu bar. The things you change often are one click away; the things you set once are in Preferences.
Three lines in Terminal. make install handles the rest and ends
with the app in /Applications and the ♫ in your menu bar.
Needs macOS 13 Ventura or later.
Open Terminal (⌘Space, type “Terminal”) and paste this in:
git clone https://github.com/jtanudjaja/lrclrclrc.git
cd lrclrclrc
make install
If macOS says the command line tools aren't installed, it offers to install
them for you — say yes and run the last line again. You don't need Xcode.
make run tries it without installing; make clean
undoes it.
macOS asks for permission to control the Music app — click OK, or track detection stays empty. If you miss it, the overlay shows a Grant Automation access button that opens the right pane in System Settings → Privacy & Security → Automation.
Music apps installed on your Mac are enabled automatically. If Apple Music or Spotify isn't being followed, turn it on under Preferences → Music Apps.
They're licensed and locked inside the Music app — no API exposes them. So, like every DIY overlay, this leans on a third-party source (LRCLIB). The trade-off is real: coverage and sync quality vary by song, which is exactly why the per-song timing offset and the paste-your-own escape hatch exist.
Only the track signature — title, artist, album, duration — sent to LRCLIB to look up lyrics. No account, no analytics, no telemetry. Fetched lyrics are cached to disk so repeat plays don't re-query.
A download that opens cleanly has to be signed and notarized, which
needs an Apple Developer account at $99/yr. Without one, macOS
quarantines the download and won't open it until the flag is cleared
with a Terminal command — so a .dmg would mean Terminal
plus a Gatekeeper warning. An app compiled on your own Mac is never
quarantined. A signed release will go on GitHub if that ever changes.
It's a personal project that does what's described on this page and nothing more. There's no packaged release, no auto-update, and no support promised. The source is MIT — read it, fork it, file an issue.
No. Detection goes through AppleScript, and a browser tab isn't scriptable that way. The desktop Spotify app is, so use that one.
Only if you want it to. At rest the card is a near-invisible scrim with self-shadowed text; chrome fades in on hover. Turn on Click-Through and it stops catching the mouse entirely, or switch to Menu Bar mode for one line up top.
Either — you don't have to pick. make install compiles
natively for whichever Mac you run it on. macOS 13 Ventura or later.
Three lines in Terminal, and it's in your menu bar.