Skip to content

v0.26.0

Choose a tag to compare

@deltrivx deltrivx released this 28 Sep 15:00
· 9 commits to main since this release

ToneCore v0.26.0

主页专管本地歌曲、曲库专管推荐与下载;取消主页专辑/歌手分类。附:歌词来源质量实测。

变更:两个页面职责分开

按用户要求重新划分:

页面 职责
主页 显示并处理本地歌曲(列表 + 检索 + 曲库管理)
曲库 在线推荐 + 云端搜歌入库

此前两页功能交叉:曲库页有一份本地列表和一堆本地管理工具,
主页又摆「最近入库 / 专辑 / 歌手」,同一个东西从几个角度重复摆,
反而不如直接看到歌本身。

主页

  • 取消顶部「专辑」「歌手」分类:它们只是把本地歌曲换个角度再摆一遍,
    挡住了本地歌曲本体。
  • 本地曲库管理迁到列表后方:扫描、元数据审计、补全标签、
    清理失效曲目、统计卡 —— 从曲库页整体搬过来,放在本地列表之后。
    逻辑上也更顺:先看到歌,再决定要不要维护。

曲库

  • 移除本地列表与全部本地管理工具(377 行 → 105 行)。
  • 只保留:云端搜索 + 在线推荐。

关于歌词「提前跑完」(实测,本版未改代码)

用户反馈:除个别歌外,其他都提前跑完歌词。

用「歌词末行时间 ÷ 真实时长」实测 8 首(时长用容器内 ffprobe 取真实值):

来源 曲目 末行/时长
lrc-file 天堂岛之歌 0.92
lrc-file 落 0.94
embedded 要不然我们就这样一万年 0.91
online 悬溺 1.00
online 秋天不回来 0.89
online 黯然销魂 0.83
online 思念漫过海岸线 0.83
online 三生三世 0.97

提前跑完的集中在 online 来源 —— 在线歌词按歌名去搜,
容易命中翻唱或别的版本,时间轴天然对不上本地文件。
这也解释了「只有个别歌正确」:那些歌恰好命中了原版。

本版不做代码改动,因为修法(按真实时长校验候选、命中率低就回退本地来源)
需要更多样本验证,贸然改可能让原本正确的歌也错。列为待办。

关于锁屏不显示动态歌词

浏览器的 Media Session API 只提供 metadata(标题/歌手/专辑图)、
playbackState、positionState,没有任何歌词接口。
锁屏滚动歌词是各家音乐 App 用私有 SDK 实现的,网页拿不到。

所以这是能力边界,不是 bug。专辑图/歌名/歌手能正常显示,
说明 Media Session 这一层已经通了。

验证

npm run build     ✅ web + server 均通过
npm test          ✅ 15 项全过

页面结构检查:主页与曲库均无悬空引用(filterBy / boards /
home.albums / home.artists 等死引用已清理干净)。

待办

  • 歌词:在线来源按真实时长校验候选,过低则回退本地/内嵌来源
  • 酷我(kw)在线搜索封面:该平台不返回封面地址
  • 音源状态显示口径