Repository navigation
Bangs v0.2.3
歌词换了引擎:两个曲库同时查,逐字时间轴和中文翻译现在能同时拿到。
改了什么
歌词 —— 这一版的骨架是 @RayZh0ng 的 #2:QQ 音乐和网易云并发查询,候选按标题、歌手、专辑、时长、版本标签打分,翻译用验证过的全局 offset 对齐到另一个源的逐字歌词上,缓存按结果好坏分级过期,切歌会作废在途的查询,面板上能看到歌词来自哪个源、是否逐字、是否来自缓存,还能手动重查一次。
在这之上按本地曲库实测补了匹配:
- 歌手名对不上不再一票否决。Apple Music 把赵雷给成 “A-Yue Chang”、王菲给成 “Faye Wong”、太妍给成 “TAEYEON”,曲库里一个字都不重合;现在时长精确到 3 秒以内可以替代歌手匹配。版本标签冲突(Live / Remix)仍然否决。
- 歌名整个被翻译也能认:《西湖》给成 “West Lake”、《爸爸妈妈》给成 “Mama & Papa” 时,采信搜索自己排第一、且时长吻合的那条。
- 候选先按可信度排序再按分数。靠时长和排名认出来的结果分数很低(《西湖》只有 15 分),之前会被两首无关的同名英文歌挤掉。
- 拿不准的也把词显示出来,面板上标明“不确定”,而不是什么都不显示再记住六小时。曲库里「你不知道的事 | All The Things You Never Knew」这种把原名整个包进去的命名,算同一首歌。
- 占位符不算歌词:「此歌曲为没有填词的纯音乐」或只有作词作曲的空壳会跳过,换下一个候选。
实测七首:West Lake 33 行、小宇 45 行、Mama & Papa 61 行、當時的月亮 32 行、Beautiful People 67 行(59 行翻译)、To. X 63 行(59 行翻译)、你不知道的事 42 行。英文和韩文歌现在既有逐字时间轴又有中文翻译——以前拿翻译就得整份换源,逐字就丢了。
安装
macOS 的包用 Developer ID 签了名并经过 Apple 公证,下载下来双击就能开。Windows 安装包没有签名,SmartScreen 会拦一次:更多信息 → 仍要运行。设置、暂存架、待办和剪贴板历史都保留,直接装新包覆盖即可。
官网:https://gxlself.github.io/bangs/
Lyrics got a new engine: both catalogues are searched at once, and word-by-word timing and Chinese translations now arrive together.
What's new
Lyrics — the backbone of this release is #2 by @RayZh0ng: QQ Music and NetEase are queried concurrently; candidates are scored on title, artist, album, length and version tags; translations are aligned onto the other source's word-timed lyrics with a verified global offset; cached results expire sooner or later depending on how good they were; changing tracks cancels lookups still in flight; and the panel shows which source the lyrics came from, whether they're word-timed and whether they came from the cache — with a button to look them up again.
On top of that, matching was tuned against a real local library:
- An artist name that doesn't match is no longer a veto. Apple Music hands over 赵雷 as "A-Yue Chang", 王菲 as "Faye Wong" and 太妍 as "TAEYEON" — not a single character in common with the catalogue. A length within 3 seconds can now stand in for the artist. Conflicting version tags (Live / Remix) still veto.
- Fully translated titles are recognised too: when 《西湖》 arrives as "West Lake" or 《爸爸妈妈》 as "Mama & Papa", the search's own top result is trusted if its length matches.
- Candidates are sorted by confidence first, then by score. A result identified by its length and ranking scores very low (《西湖》 gets only 15 points) and used to be pushed out by two unrelated English songs of the same name.
- Uncertain matches still show their lyrics, marked as uncertain in the panel, instead of showing nothing and remembering the miss for six hours. Catalogue entries that wrap the whole original title — 「你不知道的事 | All The Things You Never Knew」 — count as the same song.
- Placeholders are not lyrics: an instrumental's stock line ("此歌曲为没有填词的纯音乐") or an entry holding nothing but credits is skipped for the next candidate.
Tested on seven tracks: West Lake 33 lines, 小宇 45, Mama & Papa 61, 當時的月亮 32, Beautiful People 67 (59 translated), To. X 63 (59 translated), 你不知道的事 42. English and Korean songs now get both word-by-word timing and a Chinese translation — before, getting a translation meant switching sources wholesale and losing the word timing.
Install
The macOS build is signed with a Developer ID and notarized by Apple, so it opens with a double-click. The Windows installer is unsigned, so SmartScreen stops it once: More info → Run anyway. Settings, the shelf, to-dos and clipboard history are all kept — just install the new package over the old one.
Website: https://gxlself.github.io/bangs/