Download Latest Version Lyrimuse v1.10.0 -- macOS Desktop Lyrics for Apple Music _ Spotify source code.zip (31.8 MB) Google Add to Preferred Sources
Home / v1.4.0
Name Modified Size InfoDownloads / Week
Parent folder
appcast.xml 2026-08-24 13.3 kB
Lyrimuse-v1.4.0-macos-intel.dmg 2026-08-24 24.2 MB
Lyrimuse-v1.4.0-macos-intel.zip 2026-08-24 22.1 MB
Lyrimuse-v1.4.0-macos-intel.zip.sha256 2026-08-24 98 Bytes
Lyrimuse-v1.4.0-macos.dmg 2026-08-24 12.4 MB
Lyrimuse-v1.4.0-macos.zip 2026-08-24 11.3 MB
Lyrimuse-v1.4.0-macos.zip.sha256 2026-08-24 92 Bytes
Lyrimuse v1.4.0 source code.tar.gz 2026-08-24 8.0 MB
Lyrimuse v1.4.0 source code.zip 2026-08-24 8.3 MB
README.md 2026-08-24 12.5 kB
Totals: 10 Items   86.3 MB 0

v1.4.0

This is the biggest release yet — 281 commits, turning Lyrimuse from "synced lyrics on the desktop" into something that also tracks and surfaces your listening history. Four things worth knowing before you upgrade: three settings toggles are gone for good (menu bar horizontal scroll, the notch's cover-art switch, and the master switch for online lyric lookup — the first two defaulted to on anyway, but the third means online lookup and machine translation now always run unless you never had them on); the notch's default background style changed from frosted glass to cover art; first launch does some one-time local housekeeping (merging duplicate lyric-cache entries, and re-scoring your whole library under the new v4 algorithm, which may swap in a different lyrics match for some tracks); and both the menu bar and notch now hold off showing a line until it's actually being sung, instead of revealing it up to 5 seconds early.

这是目前为止最大的一次发布——281 个 commit,Lyrimuse 从「桌面上同步显示的歌词」 变成一个同时记录、呈现你收听历史的应用。升级前有四件事值得知道:三个设置开关被 彻底删除(菜单栏横向滚动、灵动岛的封面背景开关、在线歌词查询总开关——前两个默认 本来就是开的,但第三个意味着在线查询和机器翻译从此常开,除非你从来没开过);灵动 岛的默认背景样式从磨砂玻璃改成了封面;首次启动会做一次性的本地整理(合并重复的 歌词缓存条目,并按新的 v4 算法给全库重新打分——这可能会给一些歌换上另一份歌词 匹配);菜单栏和灵动岛现在会等一句歌词真的开始唱了才显示,不再提前最多 5 秒亮出来。

New / 新功能

  • A Last.fm listening profile: today/7-day/all-time totals, a Top Artists/Albums/Tracks chart, an on-this-day look-back, and a real-time "now scrobbling" row — split into Stats/Charts/On-This-Day tabs so you don't scroll past what you don't want Last.fm 听歌档案:今天/近 7 天/总量数字、歌手/专辑/歌曲榜单、「那年今日」回顾, 外加一行实时的「正在记录」——拆成统计/榜单/那年今日三个 tab,不用滚过不关心的部分
  • Local listening history, logged even when Last.fm/ListenBrainz aren't connected, with a backfill queue that submits once you do connect 本地收听记录会一直写,就算还没连 Last.fm/ListenBrainz;连上之后自动把攒下的 记录补传上去
  • AMLL joins as a sixth lyrics source — a hand-curated, word-by-word lyrics database (strong on game soundtracks, V-tuber and Western pop; weaker on older Chinese catalogues) 新增第六个歌词源 AMLL——人工校对过的逐字歌词库(游戏原声/V 家/欧美新流行覆盖好, 华语老歌覆盖弱)
  • Machine translation, on-device first: Apple's Translation framework runs entirely offline when available, with an online fallback (MyMemory) otherwise; 18 target languages 机器翻译优先走端上:能用 Apple 系统翻译时全程离线,不行再退联网兜底 (MyMemory);译文语言可选 18 种
  • Romanization is now judged per line, not per song — a Chinese song quoting one Japanese line gets a reading only on that line; kanji readings come from the source's own furigana when it ships one, instead of always guessing 罗马音改成按行判断,不再按整首歌——中文歌里引用的一行日文只有那一行会标读音; 源自带振假名标注时优先用它,不再全靠猜
  • Duet and multi-singer lyrics are laid out with each part labeled 对唱/多人合唱歌词按声部分开显示,标出是谁在唱
  • Simplified/Traditional Chinese, switchable for lyrics text independent of the app's own UI language 简体/繁体中文切换,独立于 App 界面语言,只管歌词文字
  • When nothing's playing, the Lyrics Window shows a listening overview instead of an empty screen — today/this-week totals, an on-this-day card, and a full recently-played list with covers, each jumping to its Apple Music page 没有歌在放的时候,歌词窗口变成一块听歌总览面板——今天/本周听了多少、「那年 今日」,外加一份带封面的完整最近播放列表,点开直接跳到对应 Apple Music 页面
  • Per-platform catalog links: jump to the QQ Music / NetEase Cloud Music page for the current song, album, or artist, right from the "⋯" menu or the info panel — zero extra network calls, since collector already had the data 各平台目录链接:在「⋯」菜单或简介面板里直接跳到当前歌曲/专辑/歌手的 QQ 音乐或 网易云页面——零额外网络请求,数据 collector 早就有
  • collector healthcheck — a one-shot diagnostic for "why aren't lyrics showing", probing every enabled source with two real lookups collector healthcheck——一次性诊断"歌词为什么不出来",用两首真实曲目探测 每个启用的源
  • An uninstall script, since dragging the app to the Trash leaves its launchd job (and, with --purge, your data) behind 新增卸载脚本——把 App 拖进废纸篓不够,launchd job 会留下来(--purge 还能连 数据一起清)
  • Config export/import now travels through a fixed iCloud Drive folder, with machine-specific settings left out of the exported file 配置导出/导入改走固定的 iCloud Drive 文件夹,机器专属的设置不会被带进导出文件

Menu bar & notch / 菜单栏与灵动岛

  • The menu bar was rebuilt from SwiftUI's MenuBarExtra onto a native NSStatusItem — every frame used to wait on the main thread's scheduler; now each line is laid out once and Core Animation just interpolates it 菜单栏从 SwiftUI 的 MenuBarExtra 重写成原生 NSStatusItem——原来每帧都要等主 线程调度,现在每句歌词只排版一次,之后由 Core Animation 插值
  • Long menu bar lines scroll instead of being cut off mid-sentence, paced to the line's own airtime so it finishes just before the next line arrives 菜单栏长句改成横向滚动而不是截断,配速跟着这一行歌词自己的显示时长走,快唱完 时刚好滚完
  • The menu bar width setting is now a fixed width, not a maximum 菜单栏宽度设置改成固定宽度,不再是最大宽度
  • The notch's equalizer bars flow instead of twitching, and its accent color is lifted to a perceived-luminance floor so it stays legible on dark covers 灵动岛的均衡器条子改成流动而不是抽搐,主题色也有了一个感知亮度下限,深色封面 上依然看得清

Lyrics matching & scoring / 歌词匹配与打分

  • Lyric scoring reworked (v3 → v4): album match, cross-source consensus, a same-platform bonus, and stricter duration checks; four real-playback matching bugs fixed along the way 歌词打分重做(v3→v4):加入专辑吻合、跨源互证、同平台加分、更严格的时长校验; 顺带修了四个真实播放中发现的匹配 bug
  • Bilingual titles are recognized as the same song (起源 / 起源 Origin) 识别双语曲名为同一首歌(起源 / 起源 Origin)
  • Artist-name diacritics are folded for matching (Beyoncé, Björk, Sigur Rós), and several credit-line parsing bugs fixed (joint credits running together, connectors, K/DA no longer splits into "K") 匹配时折叠歌手名里的变音符号(Beyoncé、Björk、Sigur Rós),修了几个联合署名 歌词解析 bug(角色词连写、连接词、K/DA 不再被拆成"K")
  • musixmatch routed through DoH after its domain started resolving to someone else; QQ's medley/mashup rows are now filtered by a recording-triangle match musixmatch 的域名被劫持后改走 DoH;QQ 的串烧/混剪行现在按录音三角匹配过滤掉

Playback accuracy / 播放位置精度

  • Spotify's own reported position is used instead of the overlay's guess, with its gapless-preload lead subtracted Spotify 改读它自己上报的播放位置,而不是猜的,并扣掉无缝预加载带来的提前量
  • QQ Music's floored (whole-second) position reports are ratcheted forward instead of visibly stuttering QQ 音乐上报的取整(整秒)播放位置改成单调递进,不再明显卡顿

Fixes / 修复

  • The Lyrics Manager's detail pane could spill off both edges of the window in English, since its two ViewThatFits candidates both wrapped the same incompressible action row and so reported the same minimum width 歌词管理的详情面板在英文界面下可能左右都溢出窗口——两套候选布局其实包着同一条 不可压缩的按钮行,报出来的最小宽度一样,"装不下就换一套"从未真正生效过
  • AMLL's TTML parser glued words together when whitespace sat between <span> tags, which silently dropped translations for affected songs — rewritten to walk the token stream instead of using declarative tags AMLL 的 TTML 解析器在空格夹在 <span> 标签之间时会把单词粘连,导致受影响的歌 译文被静默丢弃——改成手写 token 流解析
  • Batch lyric resolution (album prefetch, bulk import) now single-flights the musixmatch token fetch — concurrent requests used to get rejected as anti-scraping, dropping musixmatch's batch success rate to ~20% versus 65-90% for sequential lookups 批量歌词解析(相册预取、批量导入)现在给 musixmatch 的 token 获取加了单飞锁—— 原来并发请求会被反爬拒掉,批量场景成功率只有约 20%,顺序查询有 65%~90%
  • QQ Music and Apple Music covers now resolve to their platform's actual maximum resolution (QQ: 800px, Apple: 1200px) instead of a hardcoded 300/600px thumbnail QQ 音乐和 Apple Music 的封面改成解析到各自图床的实际上限(QQ 800px、Apple 1200px),不再是写死的 300/600px 缩略图
  • The notch's hover haptic now fires when the card actually expands, not ~0.12s early when the pointer first enters 灵动岛的悬停触觉反馈改成卡片真正展开的那一刻触发,不再提前 0.12s
  • Duplicate lyrics-cache entries are merged (dedupe-entries subcommand, plus automatic migration on first launch of this version) 合并重复的歌词缓存条目(新增 dedupe-entries 子命令,本版本首次启动也会自动 迁移一次)
  • The Last.fm mirror no longer disables itself on a single transient error, waiting for a second strike first; it's also decoupled from ListenBrainz outcomes so one service's hiccup doesn't affect the other Last.fm 镜像不再因为一次偶发错误就自我禁用,改成两次才算数;也跟 ListenBrainz 的结果解耦,一边抖动不会影响另一边
  • Several Last.fm stats-page races and performance regressions fixed (审阅确认的)Last.fm 统计页竞态和性能回归问题修了一批

Ops / 运维

  • Tests run on every push, not only at tag time 测试改成每次 push 都跑,不只是打 tag 时
  • The collector's launchd job is reinstalled whenever the bundled binary is re-signed, since macOS ties trust to the binary's signature 重签名后自动重装 collector 的 launchd job——macOS 的信任是绑在二进制签名上的
  • Enabling the collector went from 11 seconds to 45ms 启用 collector 从 11 秒缩短到 45ms

Download / 下载

Chip / 芯片 dmg zip
Apple Silicon (M1 and later, recommended) / Apple M 系列(推荐) Lyrimuse-v1.4.0-macos.dmg (github.com) Lyrimuse-v1.4.0-macos.zip (github.com)
Intel / Intel 芯片(也能在 Apple Silicon 上跑,但体积更大、没必要) Lyrimuse-v1.4.0-macos-intel.dmg (github.com) Lyrimuse-v1.4.0-macos-intel.zip (github.com)

Not sure which one? Check your chip under About This Mac. 不确定该下哪个?打开「关于本机」看芯片是 Apple M… 还是 Intel Core…

281 commits since v1.3.0.

Full Changelog: https://github.com/Yudaotor/lyrimuse/compare/v1.3.0...v1.4.0

Source: README.md, updated 2026-08-24