这个项目能做什么
Tide 是一款用 Python、PySide6(Qt6)和 mpv 构建的 Linux 桌面音乐客户端,不使用 Electron。它把多个音乐源聚合到同一个库和队列中:YouTube Music、Spotify、Subsonic/Navidrome、本地文件、SoundCloud、Bandcamp 和 Mixcloud。联合搜索模式会同时查询所有已启用的源,并标注每条结果的来源;来自不同服务的曲目可以共处同一队列,并通过相应的后端播放。
自 2.0 版本起,应用提供两种截然不同的界面风格,共享同一个库和队列。“Brutalist”是等宽字体、硬边、无动画的播放器,使用方括号按钮和块状电平表。“Modern”采用柔和圆角、图标、带磁性卡位的弹性滑块,以及从专辑封面取色并随低音反应的背景。每种风格都独立保留自己的主题、布局、动效、圆角、导航图标、字形、背景和自定义设置。全新安装或升级到 2.0 后会出现选择器;已有的 1.x 安装保留原有外观。
内置十六款主题(五款 brutalist、十一款 modern),每款都定义自己的字体、文本大小写、圆角半径、控件变体、列表标记和默认可视化器。可以通过 ~/.config/tide/themes/ 中的 theme.toml 和 theme.qss 文件添加自定义主题,也可以使用应用内主题编辑器创建,该编辑器可实时预览更改并将其保存为真正的主题。其他高级工具包括播放器栏的条带构建器、用于重新绑定快捷键的键位映射编辑器,以及用于传输符号的字形编辑器。
各源的支持程度不同:YouTube Music 提供搜索以及播放列表、歌曲、专辑、艺人、订阅、首页、排行榜、心情和账户历史,需要导入 cookie;Spotify 支持搜索和音乐库,但由于影响 librespot 解密的平台安全变更,目前播放无声;Subsonic/Navidrome 需要服务器 URL 和登录;本地文件需要音乐目录;SoundCloud、Bandcamp 和 Mixcloud 仅支持搜索。
日常功能包括带电台自动播放的队列、带卡拉 OK 模式的同步歌词(优先使用 YouTube 时间轴,回退到 LRClib)、历史视图、睡眠定时器、喜欢按钮、启动时恢复、流预取、单实例行为、迷你播放器、全屏模式,以及歌曲页面,其中包含观看/喜欢次数、制作人员、相关歌曲和带可点击时间戳的 YouTube 线程评论。向 YouTube Music 的可选播放上报默认关闭,并在设置中明确询问。
FX 机架(Ctrl+8)提供 10 段 EQ、混响预设、低音/高音搁架、响度归一化、立体声宽度、压缩器,以及合唱、镶边、移相、颤音、激励器、耳机交叉馈送和 lofi 等效果。播放速度范围为 0.5x 到 2x,默认带变调,并提供保持音高开关。十种可视化渲染器使用 PipeWire 捕获。自适应强调色和随低音反应的背景是 modern 的默认设置;低音脉冲会通过记录检测器输出,并在后续播放时对照播放器时钟重放,从而学习每首曲目。
系统集成包括用于媒体键和桌面面板的 MPRIS2、带关闭时隐藏的托盘、可选的 Discord 丰富状态(含实时歌词模式)、可选的 ListenBrainz 记录,以及针对 GitHub 发布版的每日更新检查。安装方式包括 Arch 上的 AUR(yay -S tide)、正在审核中的 Flatpak 提交,或使用 makepkg 手动构建。Flatpak 运行在 KDE 6.11 运行时上,自带 libmpv,并且需要覆盖设置以访问浏览器 cookie 和额外的音乐文件夹。登录依赖浏览器 cookie 导入(Chromium 系列或 Firefox,包括 Flatpak/Snap 安装),因为 Google 阻止了 YouTube Music 端点的 OAuth;会话过期时可一键刷新重新导入。配置和缓存根目录权限为 0700,凭据文件为 0600,写入为原子操作。许可证为 GPL-3.0-or-later。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。