我的歌放在家里服务器上的 Navidrome 里,五千多首,标签都是自己整理的,上个月还让 Agent 批量标准化一遍。电脑上听没问题,手机上一直没找到用着顺手的客户端,于是便有了Mu3ic。
- 主页: https://mu3ic.xyz
- 直接下载 APK: https://dl.robb3n.site/mu3ic/Mu3ic-stable.apk
- GitHub 镜像: https://github.com/robb3n/mu3ic-releases/releases/latest

先说明一下:Mu3ic 是播放器,连的是你自己搭的服务器,不提供任何音乐。Navidrome 之外,兼容 Subsonic / OpenSubsonic 的服务端也能连。原生 Kotlin + Jetpack Compose ,安卓 7.0 以上,安装包 8 MB 左右。
为什么自己写
安卓上的 Subsonic 客户端其实不少,我前后装过好几个。
音流功能比较全,但界面不够现代,用起来不顺手。界面现代的是 Symfonium ,功能也全,可它同时要管本地文件、网盘、Plex 、Jellyfin ,对 Navidrome 的适配反而一般,缓存机制也不好用;设置项多到要专门花时间调,买它还得走 Google Play 。开源的那几个,要么界面停在好多年前,要么能做的事太少。
我要的其实就几样:界面好看、好用,天天要用的东西,光这一条就筛掉了大半播放器;打开要快;只管连服务器听歌,别的不管。所以 Mu3ic 从一开始就定成只做流播,不扫描手机里的本地文件。手机上存的缓存和下载,都只是为了断网的时候还能接着听。
写到现在,我觉得它和别的客户端最不一样的有三点:
- 界面:整套界面是自己设计的,不是 Material 默认那一套,滑动和转场都跟手,下面的截图都是真机上的样子
- 智能歌单:在手机上就能建、能改,用的是一个“看得懂”的按钮式规则编辑器,不用去服务器上写 .nsp 文件
- 混音:按你的播放记录、收藏和曲库标签自动组歌,每次点都重新采样
下面按我写它时想解决的事一件件说。
曲库大了,翻起来要等
五千多首歌,每翻一页都要等服务器返回,滑快了就是一片空白。
Mu3ic 在手机上存一份曲库索引,整点和服务器同步一次。按单曲、专辑、歌手翻都是读本地,滑多快都不用等。搜索也是这三个维度一起出。

打开 App 先看到的是首页,三排卡片:
- 最近播放:记的是你从哪开始播的,歌单、专辑、混音、最爱都算
- 最近添加:单曲和专辑,同一天入库的同一张专辑会并成一张卡
- 最近喜爱:单曲、专辑、歌手
再往下是听歌统计:今天播了多少、连续听了几天、这周的曲线,按住曲线能看某一天和上周同一天的对比。


外语歌,想知道这句在唱什么
歌词逐行滚动,外语歌下面直接跟着中文翻译(服务器上的歌词带翻译就能显示)。
拖进度条的时候,手指停的那一句会浮出来:第几句、原文、译文。想回到某一句,看准了再松手就行,不用来回试。歌词这些都是基础版就有的。


地铁里、电梯里,网一断就停
听过的歌边播边存,还会提前缓存下一首。连不上服务器的时候,接着播缓存里的;换到一首没缓存的,等 10 秒还连不上就跳到下一首有缓存的。
打开离线模式之后,App 一个网络请求都不发。没缓存的歌会变灰,能播哪些一眼就知道。


专辑和歌单页,想好看一点
专辑、歌手、歌单页都把封面做成页头,名字和按钮收在一座浮岛里。歌单里如果整张专辑都在,会并成一张专辑卡,不用一首首往下翻。

播放页,想要安静一点,或者信息多一点
播放页分极简和详细两档,每档两款皮肤,一共四款:
- 极简:滑封面(左右拖封面切歌)、衬底(封面铺满上半屏)
- 详细:标准(操作台,均衡器、倍速、定时、输出都在手边)、数据(大号时间加格式、码率、播放次数)

衬底和数据两款的进度条画的是这首歌的真实波形,副歌在哪一眼就看到。每首分析一次就存下来,下载过、缓存过的歌直接用本地音频算,不多费流量。这两款皮肤和波形属于 Pro ;滑封面和标准是基础版的,进度条是一根细线。

智能歌单,不想去服务器上写文件
Navidrome 本来就支持智能歌单,但要在曲库目录里放一个写满 JSON 规则的 .nsp 文件。Mu3ic 里可以直接新建:选一个模板(年代 × 语言、歌手代表作、流派、最近 N 天、高分,或者照着一个现有的歌单改),再加减条件,「满足全部」还是「满足任一」点一下就切。编辑的时候底部实时显示预计有多少首,这个数用的是手机上的曲库索引,不用等服务器。

自己建的智能歌单,以后可以在「⋯」里接着改规则。来自 .nsp 文件的那些照样能听,只是规则改不了(改了也会被下次扫描覆盖)。

浏览和播放智能歌单是基础版就有的,规则编辑器属于 Pro 。
混音,每次听都不太一样
混音是 App 自己按打分采样出来的播放列表,点一次重新抽一次:
- 为你:常听热曲、冷门佳作、最近混音、高分混音
- 最爱:最爱混音、最爱专辑混音、最爱歌手混音
- 按标签:单个歌手、流派、语言、年代( 80s 、90s……)各自一个
- 长按任意一首歌,可以「以这首开混音」,找同歌手、同流派、同语言同年代的歌接着放


混音很吃曲库标签,标签整理得越好越好用,具体要哪些标签写在后面的「注意事项」里。混音属于 Pro 。
免费和 Pro
基础版是完整的播放器:不限时,没有广告,不用注册。上面说的曲库、搜索、首页、歌词、缓存和离线模式、详情页、两款免费皮肤,都是基础版就有的。另外还有歌单、收藏、评分同步回服务器,听歌记录回传,播放键长按停止,应用内更新(下载后先校验签名再装)。
Pro 解锁这些:
- 下载库:专辑、歌单、歌手、单曲整份下载,最爱自动下载,离线时封面和歌词也在
- 混音、智能歌单规则编辑器
- 波形进度条和衬底、数据两款播放页皮肤,均衡器
- 三种桌面小组件(播放条、播放来源、听歌统计),歌单和混音的桌面快捷方式
- 多服务器主备自动切换、切换应用图标

App 里可以直接买,跳到手机浏览器用支付宝付。首发一个月推广价 ¥18 (原价 ¥38 ),到 11 月 5 日。一次买断,一码一机,每年可以自己换绑两次设备。
注意事项
Navidrome 版本:大部分功能走的是 Subsonic 接口,老版本也能用。下面几项用到了 Navidrome 自己的接口,要 0.64.0 或以上:
- 新建、编辑智能歌单
- 首页的听歌统计(读的是服务器上的播放记录,所以同一个账号在别的设备上听的也算)
- 语言混音(语言只有 Navidrome 自己的接口里有)
版本不够时这几项用不了(建智能歌单会提示服务器不支持,语言那一节混音不出),别的照常用。
混音要哪些标签:
- 流派:曲目的 GENRE ,多个流派也认
- 语言:LANGUAGE ,用 ISO 639-3 的三字母码( eng 、cmn 、jpn 、kor 、yue……),这个是 Navidrome 内置识别的标签
- 年代:曲目的年份( DATE / YEAR )
- 歌手:单个歌手混音只给「收藏了、而且曲库里不少于 50 首」的歌手出
流派和语言不足 20 首的不单独出卡。因为太依赖标签,底栏的「混音」 tab 默认是关的,在设置 → 底栏里打开;首页的四张混音卡不受这个开关影响。
领码
先在 1 楼放 10 个 Pro 码,先到先得;用完了会在楼里再放一批。一码一机,激活后就绑在这台手机上了,所以一人拿一个就好。用掉了麻烦在评论里回一下用掉的码,后面的人就不用白试了。
激活:设置 → 关于 → Pro → 输入激活码。
隐私
- 激活时只发激活码,和一个加盐哈希过的设备标识(由 Android ID 算出来,换不回原值)
- 购买时,建单只发项目名,查单只发订单号;付款在支付宝完成,我拿不到付款人的任何信息
- 检查更新不带任何标识
- 除此之外什么都不收集:没有统计,没有广告,没有崩溃上报。曲库和播放记录只在你自己的服务器和手机上
最后

有问题、有想要的功能,直接在这里回我就行。如果您喜欢,可以 APP 内购买 Pro 会员解锁完整体验,首月仅需3818 买断,感谢支持。