Open Source
Cadence
A YouTube Music desktop app that stays up — and sings along. Time-synced lyrics no other wrapper ships, on top of a resilient Electron client whose whole design center is a crash supervisor that auto-recovers from the failures that brick everything else.
Free · Windows · no admin required. Unsigned build — SmartScreen may warn on first run.
What sets it apart
Lyrics, in time with the music
Every other YouTube Music desktop wrapper gives you the same things: a window, a tray icon, media keys. Cadence gives you the words. Hit the Lyrics button at the bottom-right and a karaoke panel opens — the current line lit up, the next one queued, the rest dimmed, scrolling itself as the song moves. Click any line to jump straight to that moment in the track.
Open source lyrics
Pulled from LRCLIB, a community-maintained database — no account, no API key, no telemetry. YouTube Music’s own lyrics pane is deliberately not scraped: it carries no timing data, which is the entire point.
Finds the right version
Matching escalates four ways — title, artist, album and duration, then progressively looser — ranking results by how close their runtime is to what’s actually playing, so a live cut or a cover can’t be mistaken for the studio version.
Frame-accurate timing
The player reports its position about once a second — far too coarse to sing to. Cadence extrapolates the playhead every animation frame, so lines land smoothly instead of stepping. Nudge the offset ±250 ms if a track runs ahead.
What it does
Cadence loads YouTube Music in a hardened desktop shell and adds the things a good music client should have — time-synced sing-along lyrics, a system tray, global media keys, taskbar controls, a mini-player, desktop notifications, Discord Rich Presence, Last.fm scrobbling, automatic ad-skipping, and automatic updates that install on quit rather than interrupting a song.
But the point isn’t the features — it’s that it doesn’t fall over. Most desktop wrappers die quietly: the audio process crashes and the music goes silent, a frontend update detaches their player hook and the media keys stop working, or a failed load leaves a blank window. Cadence is built around a supervisor that detects every one of those and brings the music back on its own.
Built to be resilient
Audio-service crash → no sound
When Chromium’s audio process dies, music shows as “playing” but goes silent. Cadence catches it at the app level and re-syncs playback automatically.
Detached player hook → dead controls
Other wrappers hook YouTube Music’s private player object; a frontend change silently breaks media keys, now-playing, and scrobbling. Cadence reads the <video> element + MediaSession instead — stable APIs that survive redesigns.
Blank window → friendly recovery
A failed or aborted load can leave a black window with no way back. Cadence shows a “Reconnecting…” overlay and reloads with backoff, restoring your track and position.
Features
Sing-Along Lyrics
Time-synced, karaoke-style lyrics for whatever is playing — the current line lit, the next queued, scrolling itself as the song moves. Click any line to jump straight to it. No other YouTube Music desktop wrapper ships this.
Automatic Updates
Cadence checks its own releases, downloads in the background, and installs when you quit — never mid-song. You stay current without hunting for an installer.
Crash Supervisor
A watchdog auto-recovers from renderer crashes, the Chromium audio-service heap-crash, hung/blank pages, and failed loads — with exponential backoff and a manual-retry fallback. It restores your track and position and shows a "Reconnecting…" overlay instead of a dead window.
Survives YTM Updates
The player bridge reads the <video> element and navigator.mediaSession — stable browser APIs — instead of hooking YouTube Music’s private player object. When Google reshuffles their frontend, controls keep working where other wrappers silently break.
Real Desktop Controls
System tray with now-playing and transport, global media keys, and Windows taskbar thumbnail buttons. The native now-playing card on the volume overlay works out of the box.
Mini-Player
A compact, always-on-top mini-player with album art, a scrubbable progress bar, like, and transport — drag it anywhere and keep it in the corner while you work.
Discord & Last.fm
Opt-in Discord Rich Presence shows what you’re listening to with a live progress bar, and Last.fm scrobbling tracks your plays. Both implemented on Node built-ins for a tiny, resilient dependency surface.
Ad-Skip & Resume
Automatically skips or fast-forwards video ads and hides promo banners, restores your last track after a restart or crash, and grants the storage permissions YouTube Music needs so sign-in and playback just work.
Stack
Get it
One-click installer (Windows)
Download for WindowsNo admin required. The build is unsigned, so Windows SmartScreen may warn on first run — click “More info” then “Run anyway”.
Or build from source
git clone https://github.com/toyuvalo/cadencenpm install && npm start