GitHub 趋势 · 第 98 期
开源写歌这一族:star 最高的两个,已经停了 79 天和 157 天
#开源音乐生成#本地部署#AI 写歌
把这五个仓库按 star 排一遍,前三名是 4,873、3,801、2,658。再按「最后一次提交」排一遍,顺序整个反过来:4,873 星的那个停了 79 天,3,801 星的那个停了 157 天,而只有 415 星的 ServeurpersoCom/acestep.cpp 昨天还在提交。这一族的 star 排名和维护强度排名,是相反的。
搜同一批关键词,会发现它们不是同一类东西
在 GitHub 搜 Suno 的开源替代,前排基本就是这几家。但把它们的 README 放在一起读,会发现它们根本不是同一种交付物:两个是纯 C++ 推理引擎,一个是 Python 模型库,一个是网页界面,还有一个跟音乐生成没关系 —— 它把中国三千年的诗做成一片可以漫游的三维星系。我把它收进来,是因为它和其余四个踩了同一类许可坑,而且是坑最深的那一个。
先说结论:这一族现在最该问的不是「哪个效果好」,而是「哪个还在被维护、授权链说不说得清」。
五个仓库,六个硬字段
下面这六个字段全部取自 GitHub API 与各仓库 raw 原文,口径统一。
| 仓库 | Star | 许可(平台字段) | 语言 | 主安装通道 | 体量 |
|---|---|---|---|---|---|
| fspecii/ace-step-ui | 4,873 | null(空) | JavaScript | setup.sh + start-all.sh | 20,880 KB |
| HeartMuLa/heartlib | 3,801 | Apache-2.0 | Python | pip install -e . | 2,781 KB |
| 0xShug0/audio.cpp | 2,658 | Other / NOASSERTION | C++ | Homebrew | 107,326 KB |
| ServeurpersoCom/acestep.cpp | 415 | MIT | C++ | git clone + build 脚本 | 10,805 KB |
| Cohenjikan/shiyun | 258 | Other / NOASSERTION | TypeScript | npm install | 54,568 KB |
按交付形态分两档看,star 的落点是这样的 —— 带界面和可视化的两家(ace-step-ui、shiyun)合计 5,131 星,占 42.7%;引擎和模型库三家(heartlib、audio.cpp、acestep.cpp)合计 6,874 星,占 57.3%。两档相加 12,005 星,和上表五个数加起来对得上。
错位一:star 最高的两个,就是最久没提交的两个
把每个仓库的「最后一次提交」列出来,再拿它的 star 数除以停更天数,出来的是一列很直白的反差:
| 仓库 | Star | 最后一次提交 | 停更天数 | Star ÷ 停更天数 |
|---|---|---|---|---|
| fspecii/ace-step-ui | 4,873 | 2026-06-27 | 79 天 | 61.7 |
| HeartMuLa/heartlib | 3,801 | 2026-04-10 | 157 天 | 24.2 |
| 0xShug0/audio.cpp | 2,658 | 2026-09-13 | 1 天 | 2,658 |
| ServeurpersoCom/acestep.cpp | 415 | 2026-09-12 | 2 天 | 207.5 |
| Cohenjikan/shiyun | 258 | 2026-09-04 | 10 天 | 25.8 |
停更最久的 heartlib,README 的 News 区最后一条日期是 2026-04-10,内容是「我们在 Hugging Face 和 ModelScope 上线了在线 Demo」。仓库的最后一次提交也正好停在那一天 —— 模型转去托管服务之后,本地这个仓库就没再动过,而它的 star 在这五个月里又涨到了 3,801。
ace-step-ui 更直接。它的 README 通篇在讲「免费、本地、不限量」,而它最后一次提交停在 6 月 27 日,距今 79 天。这一族里 star 最高、宣传最响的两个,恰好是两个最安静的。
错位二:五个仓库,五种许可状态
这是本轮最值得记下来的一条。把平台返回的 license 字段和仓库里真实的 LICENSE 文件并排放在一起,五个仓库给出了五种答案:
| 仓库 | 平台 license 字段 | LICENSE 文件实际情况 | 商用结论 |
|---|---|---|---|
| fspecii/ace-step-ui | null(空) | 文件不存在 | README 声明 MIT,但没有授权文件 |
| HeartMuLa/heartlib | Apache-2.0 | Apache-2.0 | 可以,且声明覆盖模型权重 |
| 0xShug0/audio.cpp | Other / NOASSERTION | 自定义版权头 + Apache-2.0 全文 | README 无 License 章节 |
| ServeurpersoCom/acestep.cpp | MIT | MIT | 只覆盖代码,权重归上游 |
| Cohenjikan/shiyun | Other / NOASSERTION | PolyForm Noncommercial 1.0.0 | 明确禁止商用 |
ace-step-ui 这一条要展开说。它的 README 里有独立的 License 章节,原文写的是 This project is open source under the MIT License,徽章也标着 MIT,链接指向仓库里的 LICENSE。但仓库根目录 30 个条目里没有这个文件,按路径直接取也返回 404。平台字段是空的。也就是说,这是一份声明了、却没有落地的授权。
shiyun 的 LICENSE 正文之后还跟了两段,比正文本身更值得读。第一段是 History (MIT → Noncommercial):commit 0a64a5d(2026-06-27)之前的版本仍按 MIT 授权、对老版本继续有效,之后的版本改成非商用 —— 作者把这条写进文件,是替存量用户兜了一次底。第二段划清了边界:诗歌语料不在软件许可覆盖范围内,古典作品是公版,现当代诗的正文版权归原作者、仅限非商用,项目自有的标注与索引数据另按 CC BY-NC 4.0 发布。
把这一节压成一句可执行的话:这一族五个仓库里,只有 heartlib 的许可可以靠平台字段一次性确认 —— 字段是 Apache-2.0、文件是 Apache-2.0、README 还明确说了权重也覆盖。另外四家各有各的坑:ace-step-ui 的字段是空的、文件不存在;audio.cpp 和 shiyun 的字段都是 NOASSERTION,要打开文件才知道一个是 Apache-2.0 正文、一个是非商用许可;acestep.cpp 的字段虽然写对了 MIT,但字段不会告诉你这份 MIT 只覆盖代码、不覆盖权重。靠平台字段做合规扫描的流程,在这一族里能拿到的有效信息大约只有五分之一。
错位三:三层外壳,同一个底座
这五家里有三家围着同一个上游仓库转:ace-step/ACE-Step-1.5,12,690 星、1,630 fork、MIT、Python,自述是「性能超过几乎所有商业替代品的本地音乐生成模型,支持 Mac、AMD、Intel 和 CUDA」。ace-step-ui 是它的网页界面,acestep.cpp 是它的 C++ 移植,audio.cpp 是通用音频引擎、把它列为支持的模型之一。
有个细节值得记一笔:ace-step-ui 自己不带模型。用它之前,必须先另开一个终端把上游的推理服务跑起来,再启动界面 —— 它的 README 把这写成两步,写得很清楚,但只看项目简介是看不出来的。
两个专门为它做外壳的仓库,star 加起来是 4,873 加 415 等于 5,288,相当于上游 12,690 星的 41.7%。一个 12,690 星的底座,长在它上面的第三层外壳单独拿到了 4,873 星。
上手:四条命令都抄自 README 原文
下面四条原样取自各自 README 的快速开始,没有改写参数,也没有补步骤。
ServeurpersoCom/acestep.cpp —— 这一族里最活跃的一个,纯 C++17 加 GGML,CPU 就能跑:
git clone --recurse-submodules https://github.com/ServeurpersoCom/acestep.cpp.git cd acestep.cpp ./buildcpu.sh ./server.sh
它需要自备 GGUF 权重,README 给的默认组合是四个文件:LM(4.2 GB)、文本编码器(748 MB)、DiT(2.4 GB)、VAE(322 MB),合计约 7.7 GB,从 Hugging Face 的 Serveurperso/ACE-Step-1.5-GGUF 取。
HeartMuLa/heartlib —— 词曲可控性最好的 Python 库,官方自己说这是目前开源版本里歌词可控性最强的一版:
git clone https://github.com/HeartMuLa/heartlib.git cd heartlib pip install -e . hf download --local-dir './ckpt' 'HeartMuLa/HeartMuLaGen' python ./examples/run_music_generation.py --model_path=./ckpt --version="3B"
0xShug0/audio.cpp —— 通用音频推理引擎,macOS 上三条命令装完,不需要 Python:
brew tap 0xShug0/audio-cpp brew trust 0xShug0/audio-cpp brew install audio-cpp
fspecii/ace-step-ui —— 注意这是第一步,它还得配一个独立运行的上游引擎:
git clone https://github.com/fspecii/ace-step-ui cd ace-step-ui ./setup.sh
我的判断
- ▪适合谁:想在本地批量出 demo、不碰商用的个人创作者。acestep.cpp(MIT、2 天前还在提交、clone 完跑一条 build 脚本就能起)和 audio.cpp(Homebrew 三条命令装完)是这一族里最省事的两条路。要专门调歌词和曲风的,heartlib 的输入格式最完整,但记住它已经 157 天没提交。
- ▪不适合谁:要做商用产品、需要一条能对外说清的授权链。ace-step-ui 连授权文件都没有,shiyun 在 LICENSE 里明确写了禁止商用,这两家在商务场景里都不能直接用。acestep.cpp 的 MIT 只覆盖它的 C++ 代码,README 自己写了「All model weights are theirs」,权重许可要另算。
- ▪坑一:acestep.cpp 的 README 让你打开 http://localhost:8085,但同一个 README 的命令行帮助里写的是 Listen port (default: 8080)。两个数字对不上,第一次跑多半要试两次 —— 这不是我推测的,是同一份文档里的两处原文。
- ▪坑二:ace-step-ui 不是装完就能用。它必须另外跑上游引擎,否则界面起来了但没有后端。显存低于 12 GB 时它的思考模式会自动关闭,4 GB 显存只能把批大小压到 1、并且关掉思考模式。
- ▪坑三:heartlib 单卡显存不够时,要在命令后加 --lazy_load true,README 说明这是按需载入、推理完就释放。官方另注明 7B 版本尚未发布,目前能用的是 3B。
- ▪坑四:audio.cpp 的 README 自己警告了两件事:它的延迟加载在请求结束后并不会卸载模型,模型会一直占着内存直到服务退出;另外低精度量化并非每条路径都安全,它在 ACE-Step 1.5 上实测过降精度直接报 planner masked decode found no valid token 的情况。
数据来源:GitHub API(repos / contents / search)与各仓库 raw README、raw LICENSE 原文;榜单侧参照 GitHub Trending 日、周、月三榜。
抓取时间:2026-09-14 14:40(GMT+8)。Star、fork、体量、提交时间均为该时刻的 API 快照。
口径说明:本族五个仓库均不在当日 Trending 三榜覆盖范围内,故按给定方向用检索补覆盖(关键词加 created:>2026-01-01 时间过滤),动量判据因此改用「总 star 加最近提交时间」,代替「周期内新增 star」。停更天数按最后一次提交 pushed_at 到 2026-09-14 计算。
许可口径:ace-step-ui 一节只陈述「README 声明 MIT 而仓库内无该文件、按路径取返回 404」这一可复现事实,不推断作者意图。各仓库模型权重的实际许可未逐一下载核验,涉及商用请自行确认。
仓库地址:github.com/fspecii/ace-step-ui | github.com/HeartMuLa/heartlib | github.com/0xShug0/audio.cpp | github.com/ServeurpersoCom/acestep.cpp | github.com/Cohenjikan/shiyun | 上游 github.com/ace-step/ACE-Step-1.5
这一族里还有一个方向一直空着:数字人。datascale-ai/opentalking(3,001 星、Apache-2.0、2026-09-04 最后提交)已经在候选池里躺着,下期如果它还在动,就先写它。
另外交代一句:更早一期预告过的「开源替代 SaaS」合集不在这个选题范围里,我继续记着,没有忘。
你在本地跑过这一族里的哪一个?装成功用了多久 —— 评论区说一下,我下期把实测耗时的差异补进对比表。
#开源音乐生成#本地部署#AI 写歌
