关于NEUTRINO 3.0违反Apache 2.0许可情况下使用DiffSinger代码
Kakaru-kh
编辑于 2026年09月06日 09:59

2026年9月5日,NEUTRINO已在分发版本中附带openvpi/DiffSinger相关许可,此事目前视为解决 写在开头

  1. 事实上很早就发现了NEUTRINO 3.0这方面的相关行为。

  2. 考虑到NEUTRINO是一个几乎仅在日文互联网上交流的合成引擎,尽管在日文社区也有一定的知名度,但事实上在相关群组曝光此事很难得到较高的关注度。在DiffSinger相关海外群主曝光此事也确实无人关心。

  3. 本文背景为NEUTRINO在2026年8月21日更新了EULA,添加了如下表述:「本システムで使用する歌声ライブラリを、本システムを介さずに利用する行為または第三者へ提供する行為」(不得在不经过本系统的情况下使用本系统所用的歌声库,或将其提供给第三方)。而在此期间刚好有TuneLab/OpenUTAU社区的Contributor提供了相关的native插件适配,而在此之前NEUTRINO官方的态度完全相反,再加上此前一直有日本开发者希望原封不动移植整套系统进入其他编辑器,疑似是某种针对性行为。

  4. 结合我们此前发现的许可违反行为,这种双向收紧政策显然是不利于社区发展的,故在此提及此事记录外加公之于众。

NEUTRINO3.0使用openvpi/DiffSinger部分代码的相关证据

1. LYNXNet 模块——独有的重构结构 - 来源:LYNXNet 最早源自 FCPE(arXiv:2509.15140),设计基于 Google Conformer 的 ConvBlock,后被 Diffusion‑SVC 引入作为扩散骨干。 - 我们的重构:当 LYNXNet 被整合进 openvpi/DiffSinger 时,我们对其进行了两项关键修改: - 将原 Swish 激活函数移入 GLU 中,形成 Swish‑GLU; - 将原 Swish 替换为 PReLU。 - 修复效果:这两项改动解决了扩散模型下 mel 重建不准确的问题。 关键事实:上述 Swish‑GLU + PReLU 的组合仅存在于 Apache‑2.0 许可的 openvpi/DiffSinger 仓库中,MIT 许可的 MoonInTheRiver/DiffSinger 版本中完全不存在。

2. 从 ONNX 模型中提取的结构对应

NEUTRONO 分发的 ONNX 模型未加密,使用标准工具(如 Netron)可读取其节点结构。需特别指出:使用公开工具查看开放格式(ONNX)内容,不构成逆向工程——该格式本身即用于交换和查看模型,未绕过任何技术保护措施。

解析结果如下:

- 节点路径 `/model/diffusion/velocity_fn/residual_layers.N/convmodule/net/net.*`

→ 直接对应 `openvpi/DiffSinger/modules/backbones/lynxnet.py` 中的 LYNXNet 实现。

→ 层序列完全一致:LayerNorm → Transpose → 1×1 Conv 扩维 → SwiGLU(ONNX 中拆分为 Split→Sigmoid→Mul→Mul)→ depthwise conv(分组卷积,kernel=31)→ PReLU → 1×1 Conv 复原 → 残差连接。

- 节点路径 `/model/aux_decoder/decoder.conv.N/...`

→ 直接对应 `openvpi/DiffSinger/modules/aux_decoder/convnext.py` 中的 ConvNeXt 块。

→ 层序列:dwconv → LayerNorm → pwconv1 → GELU → pwconv2 → 残差。

- 独有命名标识:节点中的 `velocity_fn`、`convmodule`、`net` 等命名,与 openvpi/DiffSinger 源代码中的类名和模块名完全吻合,这些命名在 MIT 版本中均无出现。

- 命名空间对比:ONNX 节点中的 `/model/fs2/txt_embed`、`variance_embeds` 等,与 openvpi/DiffSinger 重构版 `acoustic_encoder.py` 一致,而 MIT 版本使用 `midi_embed`、`slur_embed` 等不同命名。

综上,NEUTRONO 3.0+ 的声学模型并非独立复现,而是直接复制或改编自 openvpi/DiffSinger(Apache‑2.0)的受保护代码。

NEUTRINO官方违反了什么

根据openvpi/DiffSinger使用的Apache2.0许可的§4 Redistribution

违反第 4(c) 条 — 未保留版权与归属声明

英文原文(Section 4(c)): You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work.

中文翻译: 你必须在你分发的任何衍生作品的源码形式中,保留来自本作品源码形式的所有版权、专利、商标和权属声明.

NEUTRINO 分发的衍生作品中未包含任何来自 openvpi/DiffSinger 的版权或归属声明。

结语

你问我把这些写出来想干什么,那确实也干不了什么。和官方也发了邮件也没用回复。按照日本人的办事态度指望对方能做些什么也是比较困难的,软件本身讨论范围也比较小。但总归记录一下,多少都知道下这个事情。