目录

moonbit-music-license - MoonBit 音乐版权元数据与采样合规工具

CI MoonBit Version License

moonbit-music-license 是一款专为现代数字音乐制作、版权清算及开源音源社区设计的工业级版权元数据与音频采样合规审查工具。全量采用原生 MoonBit 语言编写,具备极高的执行效率与类型安全防护。

项目贴合 MoonBit 2026 开源创新大赛 (OSC 2026) 对开源合规、许可证审查与来源追溯的核心关注,全面支持 SPDX 2.3 / Creative Commons 标准、音频采样 DAG 拓扑追溯、版税分成计算、ISRC / ISWC 校验以及多格式 NOTICE / SPDX 报告导出。


🌟 核心功能特性

  • 📜 SPDX & Creative Commons 许可证引擎:
    • 内置 50+ 种常用开源与商业许可证规范(MIT, Apache-2.0, BSD, GPL, CC-BY, CC-BY-SA, CC-BY-NC, CC0 等)。
    • 支持 SPDX 逻辑表达式解析 (AND, OR, WITH, 括号嵌套与规范化化简)。
    • 许可证风险评级 (Low, Medium, High, Critical) 与商业/传染性继承兼容性判定。
  • 🎵 曲目元数据与标准代码校验:
    • ISO 3901 ISRC (International Standard Recording Code) 格式校验与规范化。
    • ISWC (International Standard Musical Work Code) Luhn/Mod-10 校验码审计。
    • 贡献者角色与 PRO 协会 (ASCAP, BMI, PRS, SACEM, JASRAC, GEMA) 关联管理。
    • 版税分成 Split Sheet 计算器(自动进行 100.0% 总额闭合校验与按比例收益分账)。
  • 🎼 音频指纹与调性谐振引擎:
    • SimHash & Chromaprint 音频指纹哈希与汉明距离相似度评估。
    • Camelot Wheel (1A-12A, 1B-12B) DJ 采样调性谐振兼容性匹配。
  • 🕸️ 音频采样拓扑 DAG 追溯:
    • 采样关系图谱(Master Sample, Vocal Slice, Drum Loop, Synth Stem, Interpolation 等)。
    • 采样清算状态跟踪(Cleared, Pending, Uncleared, FairUse, PublicDomain, Dispute)。
    • 基于 Tarjan / DFS 算法的循环采样声明检测与拓扑排序。
    • 采样清算风险与潜在授权费用评估。
  • 🔍 自动化版权合规审计引擎:
    • 商业发行限制检测(拦截包含 CC-BY-NC 音源的商业曲目)。
    • ShareAlike 传染性条款继承检测(拦截未继承 copyleft 约束的下游曲目)。
    • 缺失主创署名与版税比例不全预警。
  • 📤 多格式合规报告导出器:
    • NOTICE.md: 标准 Markdown/Text 法律版权声明。
    • SPDX 2.3 JSON & Tag-Value: 机器可读的标准开源合规文档。
    • HTML 看板: 响应式深色主题交互仪表盘(包含统计卡片与曲目清单)。
    • Graphviz DOT / Mermaid: 音频采样谱系拓扑图。
    • DDEX CWR XML / CSV: 工业级音乐元数据交换格式。

🏗️ 技术架构设计

flowchart TD
    A[SPDX & 开源许可证库] -->|表达式解析 & 风险评级| B[spdx]
    C[曲目元数据 & 版税分成] -->|ISRC / ISWC / Chromaprint / Camelot| D[metadata]
    E[音频采样链路 / Lineage] -->|DAG 拓扑 & 循环采样检测| F[lineage]
    
    B --> G[checker 合规审计引擎]
    D --> G
    F --> G
    
    G -->|违规/警告诊断报告| H[exporter 多格式导出器]
    
    H --> I[NOTICE.md / Markdown 报告]
    H --> J[SPDX JSON v2.3 / Tag-Value]
    H --> K[HTML 可视化仪表盘]
    H --> L[Graphviz DOT / Mermaid 采样谱系图]
    H --> M[CSV / DDEX XML 元数据]
    
    G --> N[cli CLI 命令行工具]

📦 项目包结构

.
├── spdx/              # SPDX 许可证数据库、表达式解析器、兼容矩阵与风险评估
├── metadata/          # 曲目元数据、ISRC/ISWC 校验器、贡献者与版税分成计算器
├── lineage/           # 音频采样拓扑 DAG、循环检测、子图提取与费用估算
├── checker/           # 自动化版权合规审计引擎、声学调性规则与诊断器
├── exporter/          # NOTICE.md, SPDX JSON/Tag-Value, HTML, DOT, CSV, XML 导出器
├── cli/               # 命令行工具解析器、内置 Demo 采样目录与指令分发
├── cmd/main/          # CLI 主程序入口
├── .github/workflows/ # GitHub Actions 跨平台 CI 工作流
├── moon.mod           # MoonBit 模块描述文件
├── LICENSE            # Apache License 2.0
└── README.md          # 项目说明文档

🚀 快速开始与使用指南

环境要求

  • 安装最新版 MoonBit 工具链 (0.10.3 或更高版本):
    curl -fsSL https://cli.moonbitlang.com/install/unix.sh | bash

构建与测试

# 1. 检查类型与编译规范
moon check

# 2. 运行全量单元测试与集成测试套件 (42 组测试)
moon test

# 3. 代码格式化与接口检查 (0 警告)
moon fmt
moon info

CLI 命令行使用

# 1. 运行全量曲目版权与采样清算合规审计
moon run cmd/main -- audit

# 2. 导出 HTML 交互式合规仪表盘
moon run cmd/main -- audit --format html > dashboard.html

# 3. 导出标准 NOTICE.md 法律声明
moon run cmd/main -- notice > NOTICE.md

# 4. 导出 SPDX 2.3 JSON 规范文件
moon run cmd/main -- spdx > spdx.json

# 5. 导出 Graphviz DOT 采样谱系拓扑图
moon run cmd/main -- graph --format dot > lineage.dot

# 6. 校验 ISRC 国际标准录音代码
moon run cmd/main -- validate-isrc US-S1Z-23-00001

# 7. 查看 Camelot Wheel 调性谐振匹配
moon run cmd/main -- key-match 8A

# 8. 查看曲目库统计与采样清算预估费用
moon run cmd/main -- analytics

📊 成果指标与合规声明

  • MoonBit 原生源码规模 (.mbt): 4,160 行 原生 MoonBit 代码(零第三方外部 C/Rust 动态依赖)。
  • 工具链零警告合规: 基于 MoonBit 0.10.3 工具链,全量通过 moon check, moon test, moon fmt, moon info 检查,实现 0 编译报错、0 格式化警告。
  • 开源许可证: Apache License 2.0。

📝 来源说明与开发者声明 (Source Attribution Statement)

本项目 moonbit-music-license 专为 MoonBit 2026 开源创新大赛 (OSC 2026) 8月黑客松 独立创作。

  • 独立开发者 / 唯一贡献者: lycvvt
  • GitLink 账号: lycvvt
  • GitHub 账号: lycvvt
  • 声明: 本仓库全量源码均为原创编写,不存在任何抄袭或未经授权的第三方代码搬运。项目提交历史严格保持单一个人贡献者签名 lycvvt。
关于

管理曲目授权、采样来源、署名和许可证合规信息。

92.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号