欢迎来到威聚,大家如果有需要哪个项目编译好的软件但无法自己下载可以进入项目推荐页面告诉我,我上传到网盘供大家下载使用!
威扬盘搜

MuScriptor

音乐工具 Python MIT Python 人工编写 推荐 ★4 中等

更新于 2026-10-27 17:56:03

一句话定位

MuScriptor 是 Kyutai 和 Mirelo 联合开源的多乐器音乐转录模型:丢给它一段录音,它吐出 MIDI,进一步还能排成乐谱(MusicXML / PDF / 吉他六线谱)。项目自称是目前最准的开源转录模型,代码 MIT,模型权重在 HuggingFace 上按 CC BY-NC 4.0(禁止商用) 发布。

它不是「分离人声/伴奏」那类工具,而是把整段音频里每个乐器在什么时间弹了什么音还原成符号,属于音乐信息检索里最难的那一档任务。

它能做什么

输入 输出
任意录音(乐队、钢琴、吉他、鼓组…) 量化后的 MIDI(含拍号、小节线、tempo map)
同上 MusicXML 乐谱
同上 每件乐器单独的 PDF 分谱 + 有品乐器的六线谱 PDF
同上 浏览器里的实时 piano roll(Web UI)

三个模型规格:

变体 参数量 层数 维度 适用
small 103M 14 768 纯 CPU 机器的务实选择
medium(默认) 307M 24 1024 速度/精度平衡点
large 1.4B 48 1536 最准,基本要有 GPU

架构是 纯 transformer decoder,论文在 arXiv 2607.08168。三个尺寸都能用 small / medium / large 关键字直接指定,权重首次使用时自动下载并缓存。

上手:三条命令的距离

前置条件:必须先在 HuggingFace 上接受模型许可(在 MuScriptor 组织下 small/medium/large 任一模型页点同意,会自动通过),然后本地登录:

uvx hf auth login
# 或者
export HF_TOKEN=hf_...

跑起来:

# 图形界面(等同官方在线版,只是换了外观)
uvx muscriptor serve

# 命令行转录
uvx muscriptor transcribe path/to/audio.wav

平台差异要注意,这是新手最容易卡住的地方:

平台 命令
Linux / Apple Silicon macOS uvx muscriptor serve
Windows(要用 GPU) uvx --torch-backend=cu128 muscriptor serve
Intel Mac uvx --python 3.12 muscriptor serve

原因很实在:Windows 上 PyTorch 默认后端是 CPU,走 GPU 必须显式指定 CUDA 版本;而 PyTorch 在 torch 2.2.2 之后不再发 x86_64 macOS wheel,那个版本只支持到 Python 3.12,所以 Intel Mac 必须钉住 Python 版本(用 pip/uv 装的话选 3.10–3.12)。Apple Silicon 会自动用 Metal(MPS)。

节奏与量化:决定结果能不能用的关键

模型会自动检测拍点、拍号和小节线并写进 MIDI。如果演奏没有节拍器,它会写一张跟随演奏速度变化的 tempo map,让小节线贴着音乐走;想反过来要一个平均速度,用 --fixed-tempo。

检测不对的时候可以人工纠正,顺便把音符整理到网格上,方便导入打谱软件或 DAW:

muscriptor transcribe audio.wav --bpm 96 --beats-per-bar 3 --first-downbeat 1.2 \
    --quantize --grid 4 --fill-gaps 0.25 --trim-leading-bars

参数含义值得记一下:

  • --quantize:把音符吸附到节拍网格;--grid 4 是十六分音符,3 是八分三连音,默认自动挑最贴合的那个;--quantize-strength 0.5 只吸一半,保留一点人性化摇摆。
  • --fill-gaps:休止符不超过这个拍数时,把前一个音延音过去——不然 Guitar Pro 之类会把每个空隙都写成休止符,谱面很脏。
  • --trim-leading-bars:砍掉第一个音之前的空小节。
  • --beat-scale 2(或 0.5):检测到的速度是正常值的一半(或两倍)时用它纠正。

Web UI 里也有同一个面板(Tempo & bars)和 MIDI 下载对话框,不必背参数。

出乐谱:额外依赖 MuseScore 4

muscriptor transcribe audio.wav --format sheets --output score/

输出目录长这样:

score/
├── score.mid                       量化后的 MIDI
├── score.musicxml                  排版后的乐谱
├── full_score.pdf                  所有乐器合在一张总谱
├── 01_electric_guitar.pdf          每件乐器一个分谱…
├── 01_electric_guitar_tab.pdf      …有品乐器再加一份六线谱
├── 02_electric_bass.pdf
├── 02_electric_bass_tab.pdf
└── 03_drum_kit.pdf

排版这一步是调用本机 MuseScore 4 及以上版本完成的,必须单独安装(musescore.org/en/download),装在非常规路径就设 $MUSCRIPTOR_MUSESCORE。没装的话,除 PDF 下载以外的功能都正常。

另一个现实约束:节拍清晰时效果最好,因为量化需要稳定的拍点。自由速度(rubato)的演奏会明显变差——谱子会跟着速度曲线走,但音符值会很碎。

用 Python 调

已发布到 PyPI(当前 0.4.0,开发状态标注 Beta):

uv add muscriptor
# 或
pip install muscriptor

代码里可以 load_model() 直接选 small / medium / large,权重自动下载缓存。想接自己的批处理流水线(比如把一堆 demo 录音转成 MIDI 素材库),这是最舒服的方式。

适合谁用

  • 扒谱的人:先让模型出一版 MIDI/MusicXML,再在 MuseScore 里改,比从零听写快得多;
  • 编曲 / 制作:把灵感录音、现场手机录的片段转成 MIDI,直接拖进 DAW 换音色;
  • 乐队排练:一份录音拆出吉他、贝斯、鼓的分谱和六线谱;
  • 教学:把示范演奏变成可看的谱面;
  • 研究者 / 开发者:MIT 代码可自由改,做自己的转录应用或前端。

坑与注意

  • 权重不是商用许可:代码 MIT,但模型权重是 CC BY-NC 4.0,禁止商业使用。想做成付费产品,要么去谈授权,要么只把代码当参考自己重训——别看到仓库挂 MIT 就以为整个项目能商用。
  • 必须接受 HF 许可:不登录、没点同意,权重下载会失败,报错信息不一定直观。
  • MuseScore 是外部依赖:只想要 MIDI 的话完全不需要它;要 PDF 就绕不过。
  • 显存与速度:large 1.4B 参数量,CPU 上会很慢,实际建议 GPU;small 在 CPU 上可用但精度会掉。
  • 项目很新:仓库 2026-07 才创建,PyPI 版本 0.4.0、标注 Beta,接口和 CLI 参数后续可能变,脚本里最好锁版本。

二开建议

  • 前端:web/ 是独立前端工程,需要 pnpm + Node;pnpm install && pnpm run build 构建一次即可,改前端就 pnpm dev 起热更新(5173 端口),后端用 uv run muscriptor serve --port 8222 配合。
  • 跑本地仓库:uv sync 装依赖,之后用 uv run(注意不是 uvx)跑 serve / transcribe。
  • 改推理流程:transcribe 的节奏检测、量化、导出是相对独立的阶段,想加自己的导出格式(比如直接生成 Guitar Pro 的 gp 文件)从导出阶段下手最省事。
  • 想做服务化:serve 本身就是后端 + 静态前端的组合,包一层反向代理和队列就能给团队用;注意权重许可仍然限制商用。

和专业 OMR 的分工

MuScriptor 的入口是音频。如果你手上是纸质谱或扫描 PDF,需要的是图像方向的 OMR,那是另一条路线:同批收录的 Audiveris(Audiveris/audiveris),Java 写的开源 OMR 引擎,输出 MusicXML。

录音 / 现场演奏  ──MuScriptor──▶ MIDI / MusicXML / PDF
纸质谱 / 扫描 PDF ──Audiveris────▶ MusicXML

一个从声音回到符号,一个从图像回到符号,最终都汇到 MusicXML 这个共同格式上。

一句话总结

MuScriptor 把「录音转 MIDI 再排版成谱」这条链路做成了三条命令的事,多乐器、带鼓谱和六线谱、还给 Web UI 和 Python API,工程完成度在开源转录模型里相当突出;真正要留意的是权重 CC BY-NC 的商用限制,以及「节拍清晰才好用」这个物理约束。

按更新时间依次阅读