Verse β lyrics in a pill.
Verse shows time-synced lyrics for whatever's playing, in a slim, draggable glass pill that floats above every app β always on top, never in the way. Click it and it unfurls into a translucent karaoke card. Calm when idle, tiny when playing, beautiful when you want it. Works on every Mac (no notch required).
Website: cpt-nem0.github.io/verse
brew install --cask cpt-nem0/tap/verseVerse is ad-hoc signed, not notarized by Apple, so Gatekeeper may still block
the first launch. If so, either re-run with --no-quarantine:
brew install --cask --no-quarantine cpt-nem0/tap/verseor clear the flag afterwards (see Manual install below).
curl -fsSL https://raw.githubusercontent.com/cpt-nem0/verse/main/install.sh | bashDownloads the latest release, installs it to /Applications, clears the
quarantine flag, and launches it.
Download Verse.zip from Releases,
unzip it into /Applications, then run:
xattr -cr /Applications/Verse.appThis is necessary because Verse is ad-hoc signed rather than notarized by Apple, so macOS Gatekeeper quarantines it on download and refuses to open it ("Verse is damaged and can't be opened") until the flag is cleared.
- A ball when idle, a pill when singing. No music β a 30pt translucent ball parked wherever you left it. Music playing β a capsule that hugs the current lyric line, spring-animated as it changes.
- Click to unfurl. One click opens a glass karaoke card: three lyric lines, click any line to seek, plus a scrubber and transport controls.
- Four animation themes, expressive β minimal: Type-on, Word spotlight, Light wipe (default), and Underline tracer β one setting drives both the pill and the popup.
- Techie glass. Translucent black material everywhere; the album's dominant color tints only the lyric text and popup content, never the material itself.
- Edge-anchored growth. The pill remembers which screen edge you parked it on and grows away from that edge as lines change width.
- Zero setup. Detects whatever's playing automatically β no linking accounts, no configuration.
Spotify, Apple Music, YouTube Music (app or web), TIDAL, Deezer, Amazon Music, Plexamp, VOX, Swinsian β plus web players in supported browsers when the tab publishes real music metadata (artist and album, not just a video title).
Lyrics come from LRCLIB's free, open catalog, matched
on title/artist/album/duration and cached on disk so repeat plays render
offline. Now-playing data comes from the community
mediaremote-adapter helper
(MediaRemote access has been restricted since macOS 15.4), with an
AppleScript polling fallback; a local playback clock interpolates between
updates so the animation stays smooth between polls.
Requirements: macOS 14+, Xcode command line tools, cmake (brew install cmake), git.
chmod +x build.sh # first time only
./build.sh runThe script clones and builds mediaremote-adapter, builds the Swift package
in release mode, and assembles + ad-hoc signs build/Verse.app. Other
commands: ./build.sh (build only), ./build.sh install (copy to
/Applications), ./build.sh clean.
There's no XCTest target on this project; pure logic is covered by self-contained checks:
swift run Verse --checksExpect ALL CHECKS PASSED.
- Lyrics from LRCLIB β a free, open, crowd-sourced synced-lyrics database.
- Now-playing access via
mediaremote-adapterby ungive (BSD-3).
MIT β see LICENSE.