SimpMusic:用 YouTube Music 数据源撑起一个跨平台播放器,但稳定性要先问清楚
项目速览:使用 YouTube Music 作为后端的跨平台音乐应用。使用 Spotify Web API 和一些技巧来获取 Spotify Canvas 和歌词 感谢 InnerTune 提供了从 YouTube Music 获取数据的想法。
秒懂
- 它是什么?
- SimpMusic 是一个基于 Compose Multiplatform 的 Android 与桌面端音乐客户端,数据源来自 YouTube Music 的隐藏 API。它集成了 Spotify Canvas、歌词、SponsorBlock 等一堆功能,但项目自认处于 beta 阶段,玩家报错是常态。
- 适合谁用?
- SimpMusic 适合那些已经熟悉 YouTube Music 生态、愿意接受 beta 阶段不稳定、并且需要桌面端与 Android 同步使用的用户。它不适合追求稳定播放、不想处理登录和 API 变动问题的普通听众。
- 能商用吗?
- 可以,但有条件。GPL-3.0 是 copyleft 许可证:如果你分发包含它的软件,就必须以同一许可证公开该软件的源代码。只在内部运行、不对外分发,则不会触发这项义务。
- 还在维护吗?
- 在维护。仓库最近一次提交在 1 天前。
- 用什么语言写的?
- 主要是 Kotlin(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决什么问题,谁需要它
SimpMusic 解决的是「想在非官方客户端里听 YouTube Music 内容」的需求。它把 YouTube Music 的曲库、播放列表、推荐和播客搬到一个自绘的界面里,同时加入 Spotify 风格的 Canvas 动画和歌词。目标用户是那些已经依赖 YouTube Music 的曲库,但想要更多界面定制、桌面客户端、以及诸如 SponsorBlock 跳过赞助段落这类附加功能的用户。它不是一个给普通听众的替代品,更像是一个面向折腾型用户的增强壳。
数据从哪里来:隐藏 API 的拼装
SimpMusic 不调用任何官方公开 API。README 明确说它使用 YouTube Music 的隐藏 API,并借用了 InnerTune 的思路来获取数据。流媒体 URL 的提取则参考了 SmartTube 的做法。这意味着它依赖逆向工程的结果,YouTube 那边一改接口,播放就可能出错。项目自己也承认这一点:因为依赖 YouTube Music,播放器错误会发生,而且这是正常的。歌词和 Canvas 则分别来自 Spotify Web API 和 SimpMusic Lyrics、LRCLIB 等第三方源,歌词匹配靠字符串和时长,所以偶尔会配错。
安装与登录:桌面端有专门步骤
Android 版可以从 F-Droid 或 IzzyOnDroid 等渠道安装,桌面端则要按平台选文件。Windows 用户下载 .msix 包后运行 install.bat,macOS 用 .dmg,Linux 用 .AppImage。登录 YouTube 账号的流程在官网有专门指南,Discord 登录也有单独的 gist 说明。需要注意,桌面端有上游 JetBrains 的稳定性问题,某些 Linux 发行版可能不稳定,ARM64 的 Windows 和 Linux 只能用 x64 构建。所以如果你用的是 ARM 设备,桌面端基本没法用。
功能堆叠:从均衡器到 Listen Together
功能列表很长,但每项都有实质内容。十段均衡器带预设和 AutoEq 耳机配置文件,这比大多数播放器自带的简单 EQ 要深。歌词支持逐字模式,还能罗马化 12 种语言,甚至可以把歌词分享成图片。听歌统计做成 SimpMusic Wrapped,还有月度回顾播放列表。桌面端支持 Discord Rich Presence,Android 支持 Android Auto。跨设备同步播放的 Listen Together 兼容 Metrolist。这些功能不是摆设,但每一项都增加了复杂度和潜在的 bug 来源。
隐私与版本分裂:FOSS 版和 Full 版的取舍
项目分两个版本。FOSS 版没有追踪器,也不收集用户数据,但如果你在 YouTube 登录状态下开启了「Send back to Google」,它会用 YouTube Music 的 Tracking API 把听歌历史发给 Google,这是为了推荐和给创作者计数。Full 版则用 Sentry 收集崩溃数据。所以隐私敏感用户必须选 FOSS 版,但那样就少了崩溃报告,开发者修复问题会更困难。这是一个明确的功能与隐私权衡,不是默认设置能解决的。
已知限制与失败模式
最大的限制就是稳定性。项目明说处于 beta 阶段,可能崩溃,而且播放错误是常态。歌词匹配依赖字符串和时长,容易配错。桌面端在 Linux 上可能有 JetBrains 上游问题,ARM64 设备直接不支持。另外,YouTube Music 的隐藏 API 随时可能失效,这不是项目能控制的。所以如果你把 SimpMusic 当作主力播放器,在重要场合(比如开车)它可能掉链子。
替代方案与差异
最直接的替代是 InnerTune,SimpMusic 的灵感来源。InnerTune 同样从 YouTube Music 拿数据,但它是纯 Android 应用,没有桌面端,功能也更克制。SimpMusic 在 InnerTune 的基础上加了桌面支持、Spotify Canvas、歌词增强和更多自定义。另一个选择是直接用 YouTube Music 官方应用,稳定但功能少,没有 SponsorBlock 和歌词增强。如果你只需要听歌,InnerTune 更轻;如果你要桌面端和花哨功能,SimpMusic 是唯一选择。
维护与升级成本
项目活跃,最近一次发布是 v2.0.0,更新频率大约每月一版。但频繁更新也意味着需要不断适配 YouTube 的变动。升级成本主要在两个方面:一是要跟进新版本,否则隐藏 API 可能失效;二是桌面端安装方式特殊,Windows 需要手动运行 install.bat,升级时也要重复这一步。许可证是 GPL-3.0,如果你要修改或分发,必须开源你的改动。没有看到自动更新机制,所以用户需要自己关注 release 页面。
编辑结论
SimpMusic 适合那些已经熟悉 YouTube Music 生态、愿意接受 beta 阶段不稳定、并且需要桌面端与 Android 同步使用的用户。它不适合追求稳定播放、不想处理登录和 API 变动问题的普通听众。在采用前,你应该先确认自己能否接受依赖隐藏 API 带来的播放错误,以及是否愿意在 FOSS 版本中放弃崩溃统计(Full 版本会收集崩溃数据)。如果你需要的是开箱即用的稳定播放器,建议先看看 InnerTune 或直接使用 YouTube Music 官方客户端。最后,注意 GPL-3.0 许可证,任何分发或修改都需要遵守其条款。
社区笔记