news 2026/10/15 18:59:31

Kumone StemKit系列二:人声分离模型许可证调研——LGPL与CC BY-NC-SA的红线之争

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Kumone StemKit系列二:人声分离模型许可证调研——LGPL与CC BY-NC-SA的红线之争

【免费下载链接】kumone

雲の音 — Native macOS NetEase Cloud Music client built with SwiftUI

项目地址:https://gitcode.com/gh_mirrors/ku/kumone
点击查看免费下载

Kumone 是一个用 SwiftUI 构建的原生 macOS 网易云音乐客户端,其 StemKit 模块能在本地完成人声分离(把人声从伴奏中拆出来)。这篇文章基于项目预研文档 docs/automix-stems-predev.md,讲清楚一个绕不开的合规问题:Kumone 采用 LGPL-3.0 许可,而主流人声分离模型的权重几乎都挂着 CC BY-NC-SA 的"禁止商业使用"标签——这条红线该如何调研、如何规避?

第一步:先确认"NC 权重能不能进分发包"

这是整个调研的起点,也是唯一有"一票否决权"的问题。

Kumone 的许可结构如下:

  • 主许可:LICENSE ——LGPL-3.0-only
  • 附带的 GPL-3.0 全文:COPYING

这里存在一个和商业 App 完全不同的约束,原文的表述非常直接:

LGPL 要求向下游授予包括商业用途在内的全部权利。CC BY-NC-SA 的"禁止商业使用"与之直接冲突。因此 NC 权重不能内置进 Kumone 的分发包——不是"风险较高",是不兼容。

这意味着几种常见的"绕法"都会被堵死:

常见绕法为什么行不通
"权重是数据不是代码,不受 LGPL 约束"只要我们在 Release 里分发它、且核心功能依赖它,分发整体就带上了 NC 限制
"只内置,不分发"分发包 = 分发。App 安装包里的每一字节都算
"用户自己从网上下"这条反而是唯一干净的绕法(见后文 §3)

第二步:逐模型核实权重许可证

很多人会犯的第一个错误:把代码许可证当成权重许可证。代码 MIT 不代表权重 MIT——这正是 Demucs 的争议所在。

以下是预研文档 §2.2 的核实结果(完整版见 docs/automix-stems-predev.md):

模型代码许可权重许可结论
Demucs / htdemucs(Meta)MIT⚠️ 争议 / 不明README 只说代码 MIT,未单独声明权重;Issue 中维护者疑似回复"权重不覆盖 MIT、仅供科研",必须实际求证后才能用
Open-UnmixMITumx / umxhq:MIT;umxl:CC BY-NC-SA 4.0umxl 不可用;umxhq 可用但人声 SDR 仅 6.25
Spleeter(Deezer)MIT不明官方至今未回复许可 issue,且质量落后,不建议
BS-RoFormer / Mel-Band RoFormer架构实现 MITMIT(ZFTurbo MSST 仓库自带许可,checkpoint 随 Releases 分发)✅ 可用,Kumone 实际采用的路线
Essentia 分类模型AGPLv3CC BY-NC-SA 4.0(可另谈商业授权)双重不可用(NC + AGPL 对 native app 分发也是障碍)
madmom modelsBSDCC BY-NC-SA 4.0不可用,README 明确要求商业使用联系作者

一个值得记住的细节:Open-Unmix 同一个项目里,小模型权重是 MIT、大模型权重是 CC BY-NC-SA。所以"核实"必须细化到具体 checkpoint,而不是笼统地看仓库 LICENSE 文件。

第三步:认清全行业灰区——训练数据传染性

几乎所有开源人声分离模型的训练集都包含MUSDB18 / MUSDB18-HQ,而这个数据集本身是CC BY-NC-SA,官方还要求"仅供学术用途"。

那么问题来了:用 NC 数据训练出来的权重,算不算数据的衍生作品?

法律上没有定论,这是整个音乐源分离领域的共同灰区。面对灰区,Kumone 采取的是务实态度,三条原则:

  1. 不去赌灰区的解释——不依赖"权重不是衍生作品"这种站不住的假设;
  2. 只选上游明确写了 MIT 的权重——把许可证的确定性握在手里;
  3. 采用"不分发、只下载"策略——把剩余的不确定性留在上游,而不是搬进 Kumone 的 Release 里。

第四步:绕开红线的落地方案——"清单 + 下载"

调研结论最终落在一个工程机制上,核心思想一句话概括:

Kumone 的 Release 里不出现任何模型权重,二进制只带一份"清单"(上游 URL + 硬编码 SHA-256),权重在用户首次启用功能时从上游原始地址下载。

具体实现散布在几个文件里:

  • 模型清单与下载器:ModelStore.swift —— 每个模型一条ModelDescriptor(文件名、URL、SHA-256、体积),下载流式校验,摘要不匹配立即拒绝,损坏的下载自愈重试;
  • 4 轨 checkpoint 本地转换脚本:fetch-4stem-checkpoint.sh —— 头部注释明确写着许可立场:"checkpoint is MIT… the weights aredownloaded, not distributed",且对上游下载和转换产物做双向SHA-256 校验;
  • 分离器入口:StemSeparator.swift。

两个内置模型的实际状态:

模型许可体积获取方式
Mel-Band RoFormer(仅人声,ZFTurbo v1)MIT64 MiB首次启用自动下载,存到~/Library/Application Support/Kumone/Models/
BS-RoFormer 四轨(鼓/贝斯/其他/人声)MIT263 MB(fp16 转换后)需要本地转换,由脚本完成;无该文件时四轨手法自动降级为两轨,人声模型照常工作

注意存储位置特意选了 Application Support 而不是 Caches——64 MB 是用户明确选择的功能资产,系统不应该有权随手清掉它。

这套设计还兼顾了另外两层理由(见预研文档 §6.4):

  • 分发体积:Kumone 走 Developer ID + 侧载 IPA,内置 200 MB 模型会直接拖长每次安装/更新的等待;
  • 产品定位:人声分离是 AutoMix 的可选进阶档,默认关闭,让不开这个功能的人零成本。

总结:接入开源模型的四条合规清单

把整个调研过程抽象成可复用的检查单,供任何要集成开源 AI 模型的开发者参考:

  1. 代码许可 ≠ 权重许可,必须逐个 checkpoint 核实;README 没声明的,视同不明;
  2. NC 权重不内置:与 copyleft 许可(LGPL/GPL)分发不兼容,让用户自行从上游下载是唯一干净的路径;
  3. 硬编码 SHA-256 固定内容:URL 可以换(比如换镜像),摘要不能换——摘要才是内容真实性的锚点;
  4. 把调研结论写进文档:哪些模型可用、为什么不可用、争议点在哪,白纸黑字留给下一个维护者。

Kumone 的做法证明了一件事:许可证限制不是"用不上人声分离"的判词,而是一道可以通过架构设计绕过去的护栏——调研先行(预研文档 §2),机制兜底(清单 + 校验 + 降级),最后才轮到工程落地。

📌 延伸阅读:automix-stems-predev.md 中还有各模型的 SDR 质量对照、Core ML 转换路径等完整调研记录。

【免费下载链接】kumone

雲の音 — Native macOS NetEase Cloud Music client built with SwiftUI

项目地址:https://gitcode.com/gh_mirrors/ku/kumone
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 18:58:45

MATLAB实现GS算法设计DOE:从原理到工程实践

简介:面向光学工程师、科研人员及高校学生,这份MATLAB源码包聚焦DOE(衍射光学元件)设计中的GS算法(基于傅里叶变换的IFTA)与衍射计算。压缩包大小仅1KB,内含3个MATLAB脚本(.m文件&am…

作者头像 李华
网站建设 2026/10/15 18:58:39

Blender-Dark Engine二进制桥接工具:.bin导出与BSP编译全流程指南

简介:这是一套专为Blender用户定制的Python插件工具包,面向游戏资源开发、3D建模师及Dark Engine(如《Thief》《System Shock》系列)老游戏MOD制作者,解决.e格式场景文件导入、AI网格导出及纹理兼容性处理等核心痛点。…

作者头像 李华
网站建设 2026/10/15 18:58:38

SpringBoot+Vue房屋租赁管理系统设计与实战解析

1. 项目启动前的需求梳理与技术选型1.1 这个系统到底要解决什么问题做房屋租赁管理系统这个项目,前后折腾了将近一个多月。当时接手这个需求,业务方是一家小型公寓运营团队,手里十几套房源,分布在两三个小区,租客流动频…

作者头像 李华
网站建设 2026/10/15 18:58:19

Windows Server 2012 R2 离线安装 .NET 3.5:DISM 指定 SXS 源完整指南

简介:本资源为Windows Server 2012 R2系统下的.NET Framework 3.5 SXS组件包,面向需要在离线或内网环境中为服务器启用.NET 3.5功能的运维人员与系统管理员。由于2012 R2默认未集成该框架,安装时须依赖SXS存储中的并存组件文件,本…

作者头像 李华