mcpField
S
Scoreproof

Scoreproof

远程服务
github.com/asampat3090媒体与设计06 天前更新
代码仓库

关于 Scoreproof

Scoreproof 为音乐人、编曲者和乐谱工作流提供数字乐谱转换与检查。它支持多种乐谱格式,可生成可打印乐谱并逐音符报告转换变化,也能把演奏的 MIDI 转成可读乐谱。

主要功能

  1. 01转换 MusicXML、MIDI、ABC、MEI 和 Humdrum
  2. 02逐音符验证转换结果
  3. 03将乐谱渲染为 PDF、PNG 或 SVG
  4. 04检查、比较、移调和提取乐谱
  5. 05将演奏的 MIDI 转为可读乐谱

适用场景

  1. 01转换乐谱并查看内容损失报告
  2. 02从 MIDI 制作可打印乐谱
  3. 03跨格式比较两个乐谱版本
  4. 04提取分谱或为乐谱移调

MCP 相关

MCP 服务提供乐谱文件转换、批量处理、检查、验证、比较、移调、提取和渲染工具。它可在本地运行,也可通过托管连接器使用。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://scoreproof-fkkuctjokq-uc.a.run.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
pypiscoreproof0.2.0

工具

9
参数类型必填说明
tostring是目标格式:musicxml、mxl、midi、abc、mei、humdrum、pdf/png/svg(乐谱)或 wav(音频)
inputstring是音乐文件的绝对路径
outputany否输出文件或文件夹(默认:与输入文件同目录)

详细介绍

scoreproof

转换任意乐谱。证明没有内容丢失。

Scoreproof 可在 MusicXML、MIDI、ABC、MEI 和 Humdrum 格式之间转换音乐文件,制作可打印、可播放的乐谱(PDF、PNG),修复真实记谱软件导出文件中的各种问题(Sibelius、Dorico、Finale、MuseScore、Guitar Pro 等),并逐音符检查每次转换,准确报告保留和丢失的内容。

将你用 DAW 或键盘演奏的 MIDI 转成易读的记谱:Scoreproof 能找出拍点(即使没有节拍器),将节奏对齐到 16 分音符或三连音,整理音符时值,把钢琴谱拆分为左右手,并按正确调性拼写音符。

可通过任何支持 MCP 的 AI 工具(Claude、Cursor、VS Code、Gemini CLI、Codex 等)、命令行或 Python 使用。

在 claude.ai、Claude 应用或 ChatGPT 中使用

无需安装。添加自定义连接器,并使用此地址:

https://scoreproof-fkkuctjokq-uc.a.run.app/mcp
  • Claude(网页、桌面、移动端):Settings → Connectors → Add custom connector。
  • ChatGPT:Settings → Connectors → Create(开发者模式)。

然后提问:“写一首简短的华尔兹,并给我乐谱。”若要处理自己的文件,将其拖到 Scoreproof 页面,然后将页面提供的链接粘贴到聊天中;同一页面也可一键转换文件。

托管服务免费,设有按地址计算的速率限制和 10 MB 文件大小限制,并会在 24 小时后删除所有文件。

在 AI 工具中使用

Scoreproof 在本地运行,可处理电脑上的文件。需要安装 uv(使用 brew install uv 或 pip install uv 安装)。

Claude Code

/plugin install scoreproof --marketplace asampat3090/scoreproof

也可直接添加服务:claude mcp add scoreproof -- uvx scoreproof mcp

Claude Desktop、Cursor、Gemini CLI:将以下内容添加到 claude_desktop_config.json、~/.cursor/mcp.json 或 ~/.gemini/settings.json:

{
  "mcpServers": {
    "scoreproof": { "command": "uvx", "args": ["scoreproof", "mcp"] }
  }
}

VS Code(.vscode/mcp.json):

{
  "servers": {
    "scoreproof": { "type": "stdio", "command": "uvx", "args": ["scoreproof", "mcp"] }
  }
}

Codex(~/.codex/config.toml):

[mcp_servers.scoreproof]
command = "uvx"
args = ["scoreproof", "mcp"]

然后可以提出以下请求:

  • “把 ~/Music/take-3.mid 转成可打印的乐谱。”
  • “将 ~/Music/song.mid 转成 MusicXML,并告诉我丢失了什么。”
  • “把我的主旋律谱移调到 Bb,并给我乐谱。”
  • “将这份乐谱拆分为每位演奏者各自的分谱。”
  • “draft-1.musicxml 和 draft-2.musicxml 之间有哪些变化?”
  • “把这份 Sibelius 导出文件检查一遍,再发给抄谱师。”
工具
工具功能
convert转换文件并逐音符验证结果,或生成 PDF/PNG
batch_convert转换多个文件或整个文件夹
inspect摘要(声部、音域、调性、拍号、速度),以及所选小节的 ABC 片段
validate查找总时值不正确的小节、超出音域的音符,以及已修复的导出器问题
compare逐小节比较两个版本的变化,即使格式不同也可以
transpose按音程、转换到指定调性,或在实音与记谱音高之间转换
extract提取声部或小节,或为每位演奏者生成单独的文件
render生成用于打印或查看的乐谱(PDF、PNG、SVG;Letter 或 A4)或音频试听(WAV)
list_formats列出格式及其各自无法保存的内容

结果会以新名称写入输入文件旁边。除非你指定了确切的输出路径,否则 Scoreproof 不会覆盖现有文件。

在命令行中使用

uvx scoreproof convert song.musicxml song.mid
uvx scoreproof convert take-3.mid --to pdf          # played MIDI to sheet music
uvx scoreproof inspect song.musicxml --bars 1-8
uvx scoreproof transpose song.musicxml --key "Bb major"
uvx scoreproof extract score.mxl --each-part
uvx scoreproof render song.musicxml --to png --page-size a4
uvx scoreproof --help

在任意命令中添加 --json,即可获取机器可读的输出。

在 Python 中使用

from scoreproof import convert

result = convert("song.musicxml", "song.mid")
result.confidence        # "exact", "high", "medium" or "low"
result.expected_losses   # what MIDI cannot hold: lyrics, chord symbols, ...
result.fixes             # exporter quirks repaired on the way in

准确度如何?

在来自 11 款记谱应用的 430 个真实导出文件上(benchmarks/score_corpus/):

仅使用 music21scoreproof
成功加载的文件96.0%100%
忠实读取(声部、小节、音符、时值)87.9%95.6%

在 DAW 中播放的 MIDI(benchmarks/played_midi/,五首由人演奏的乐曲,包含人类演奏时序):

仅使用 music21scoreproof
音符落在正确拍点上,有节拍器64%99%
音符落在正确拍点上,无节拍器6–21%81–82%

每次转换都会重新读取自身输出,并将其与源文件进行比较。当某种格式无法保存某些内容时(MIDI 不支持和弦符号或歌词排版;ABC 和 MEI 导出会将移调乐器按实音音高处理),报告会明确说明,而不是悄无声息地失败。

不支持:Sibelius、Dorico、Finale 和 MuseScore 原生文件。请先从应用中导出 MusicXML。

开发

pip install -e ".[dev]"
pytest --cov=scoreproof        # coverage is kept at 100%
black src tests benchmarks
flake8 src tests benchmarks

计划和里程碑见 docs/plan.md。采用 MIT 许可证。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。