MuScriptor – Kyutai与Mirelo联合开发多乐器自动音乐转录模型

MuScriptor 是由 Kyutai 与 Mirelo 联合开发、开源开放权重的多乐器自动音乐转录(AMT)模型,核心能力是将完整混音音频自动拆解、转译为带乐器区分的标准 MIDI 符号乐谱,是首个基于 17 万首真实全流派音乐数据集训练的通用多乐器转录模型,配套完整 Python 代码、命令行工具与可视化 Web 网页服务,代码开源可本地部署,模型权重开放下载。

MuScriptor

MuScriptor核心特点

  1. 全流派真实音频训练

    训练素材覆盖古典、重金属等海量风格真实录音,搭配百万级合成 MIDI 预训练,大幅解决传统模型仅依赖合成音频、现实混音识别精度暴跌的域偏移问题,相比同类基线模型音符识别指标大幅提升;额外经过强化学习后训练,同步优化音符起始、持续、结束时间识别精度。

  2. 三档模型尺寸适配不同硬件
  • small(103M 参数):CPU 设备轻量化首选,速度快、占用低
  • medium(307M 参数,默认):速度与精度均衡,通用场景首选
  • large(1.4B 参数):精度最高,依赖 GPU 加速才能流畅推理
  1. 乐器约束定向转录

    支持手动限定仅识别指定乐器,推理时直接屏蔽其他乐器 token,输出纯净单类乐器音轨,支持乐器名称简写匹配,过滤无关声部干扰。

  2. 全链路本地离线运行

    无需云端,支持本地 Web 可视化界面、CLI 命令行、Python API 三种调用方式;音频、模型、音色库全部本地缓存,断网可使用。

  3. 多格式音频兼容

    支持 WAV、MP3、FLAC、OGG、M4A 等主流音频格式输入,输出标准 MIDI、流式 JSON/JSONL 音符事件。

  4. 双许可分离

    项目代码采用 MIT 开源协议可自由修改商用;模型权重遵循 CC BY-NC 4.0,仅允许非商业用途。

  5. 内置听觉校验工具

    可生成对照音频:左声道原始音乐、右声道模型转录生成的 MIDI 回放,快速核对转录误差。

MuScriptor技术原理

1. 基础架构:仅解码器 Transformer

摒弃编码器 – 解码器复合结构,采用Decoder-only 纯解码器 Transformer架构,将音乐转录转化为自回归序列预测任务,沿用

  1. 音频预处理:将音频切分为 5 秒固定片段,转换为梅尔频谱图作为模型输入特征;
  2. 自回归 token 预测:逐序列生成 MIDI 类 token,每个 token 包含三大信息:音高、音符起止时间、所属乐器;
  3. 事件流输出:生成标准化音符事件序列,分为三类对象:音符起始事件、音符结束事件、进度锚点事件,音符通过唯一索引一一配对。

2. 三段式训练流程

  1. 合成数据预训练:使用 145 万条合成 MIDI 音频完成基础音乐规律学习;
  2. 真实数据微调:17 万首带精准音符标注的真实多乐器录音微调,适配现实混音声场、乐器叠加干扰;
  3. RL 强化学习后训练:基于少量人工校对曲目做 GRPO 强化学习,联合优化音符起止、时长识别 F1 分数,大幅降低多乐器混叠错识别。

3. 推理核心机制

  • 解码模式可选:贪心解码(默认最快)、温度随机采样、多束束搜索(精度更高、速度更慢);
  • 分类器自由引导(CFG):默认系数 1 适配官方训练权重,稳定输出;
  • 分块批处理:按 5 秒音频块批量推理,可自定义批次大小平衡延迟与算力;
  • 流式输出:边推理边实时吐出音符事件,支持前端实时绘制钢琴卷帘。

4. 配套技术组件

  • Web 端:FastAPI 后端 + TS 前端,内置 SpessaSynth 浏览器合成器,加载 MuseScore 通用音色库实现实时播放;
  • 音色缓存:首次运行自动下载 sf2/sf3 通用标准音色库本地缓存,用于 MIDI 渲染校验;
  • 依赖管理:支持 uv/pip 两种 Python 安装方案,兼容 Python3.10–3.12,适配 Intel/Apple 硅 Mac、Windows、Linux。

MuScriptor完整功能

(一)Python API 开发接口

  1. 模型加载:自动下载缓存 small/medium/large 权重,也支持本地权重文件、远程 HuggingFace 地址加载;
  2. 流式音符提取:逐段生成音符事件,可实时读取音高、时间、乐器、音符索引;
  3. 一键导出 MIDI:直接返回 MIDI 二进制字节,本地写入文件或网络传输;
  4. 自定义推理参数:限定乐器、调整采样温度、束搜索宽度、批处理大小、容错开关。

(二)CLI 命令行工具

  1. 基础转录:音频一键输出 MIDI 文件,自定义输出路径;
  2. 模型切换:指定 small/medium/large 或本地权重;
  3. 乐器过滤:逗号分隔指定仅保留目标乐器声部;
  4. 结构化输出:导出 JSON/JSONL 流式事件文本,支持标准输出打印;
  5. 高级解码:开启随机采样、多束搜索提升精度;
  6. 听觉校验:生成原始音频与转录 MIDI 混合对照音频;
  7. 辅助查询:list-instruments查看全部支持识别的乐器清单。

(三)Web 可视化服务

  1. 拖拽上传音频,实时渲染钢琴卷帘可视化音符;
  2. 边转录边播放,自动交叉淡入原始音频与 MIDI 回放;
  3. 服务端 SSE 流式推送音符事件,前端实时更新乐谱;
  4. 局域网共享访问,支持自定义端口、GPU/CPU 设备切换;
  5. 内置音色合成,无需本地额外安装音源软件。

(四)附加工程能力

Docker 容器部署脚本、一键部署脚本、预提交代码规范配置,适配开发与服务部署场景。

MuScriptor项目地址

  • GitHub仓库:https://github.com/muscriptor/muscriptor
  • HuggingFace模型库:https://huggingface.co/MuScriptor

MuScriptor应用场景

1. 音乐制作与编曲

  • 扒谱工具:快速从成品歌曲提取分乐器 MIDI,替代人工手动扒谱,获取鼓组、钢琴、吉他、贝斯声部;
  • 混音二次创作:提取人声 / 乐器轨道 MIDI,用于 Remix、改调、重编配器;
  • 现场伴奏生成:从录音提取节奏、和声,制作自动伴奏工程文件。

2. 音乐教育与教学

  • 听觉训练:对照原始音频与实时生成的钢琴卷帘,辅助学生听辨音符、节奏、乐器;
  • 乐谱生成:录音自动转可编辑 MIDI,再导入制谱软件生成标准五线谱;
  • 纠错练习:录制演奏音频,转录后对比标准乐谱定位演奏失误。

3. 音乐学研究与音频检索

  • 历史录音数字化:老旧实体音频转录为可量化音符数据,用于音乐风格、作曲技法分析;
  • 音乐信息检索(MIR):批量音频提取音符、和弦、调式特征,搭建歌曲检索、曲风分类数据集;
  • 跨流派音乐规律统计,为音乐 AI 生成模型提供标注数据。

4. 音频 AI 开发

  • 下游模型训练素材:批量生成带乐器标签的 MIDI 标注数据集;
  • 音频工具二次开发:调用 API 嵌入音乐插件、小程序、网页工具,实现在线扒谱功能;
  • 节奏分析、鼓组分离自动化工具底层核心。

5. 个人爱好者场景

业余音乐人快速扒歌、练习曲目拆解、自制伴奏、录音存档电子化。
© 版权声明
为这篇文章评分
10.0/ 10
1 人评价
点击⭐️进行评分

相关文章

暂无评论

none
暂无评论...