Scoreproof

io.github.asampat3090由 GitHub 帳號 asampat3090 發布v0.2.0更新於 Nov 5, 2026

Convert MusicXML, MIDI, ABC, MEI and Humdrum, print sheet music, and verify every note survived.

已驗證Streamable HTTP可網頁執行檔案與儲存媒體與設計

概覽

AI 產生的概覽

轉換、檢查與變換樂譜(MusicXML、MIDI、ABC、MEI、Humdrum),並可產生可列印的樂譜或音訊預覽。

可以做什麼
  • 在多種格式間轉換樂譜,並逐音符核驗結果,或匯出為 PDF、PNG、SVG、WAV
  • 將樂譜排版成可列印或可檢視的譜面,或產生音訊預覽
  • 檢視樂譜摘要:標題、聲部與樂器、音域、調號、拍號、速度與小節數,並附 ABC 片段
  • 檢查樂譜:小節是否填滿拍號、音符是否超出樂器音域、修復了哪些匯出軟體的怪癖
  • 逐小節比較兩個版本(可跨格式),並依音程、調性或實音/記譜音高移調
  • 擷取指定聲部或小節另存為新檔案,並列出支援的格式及各自無法保留的內容
適用情境
適合需要把 MIDI 或記譜檔案變成可列印樂譜、在格式之間搬移並了解遺失了什麼、在把記譜軟體匯出檔交給抄譜員前先檢查,或比較與移調草稿的情境。
執行需求
可使用託管的遠端端點(免安裝),或透過 PyPI 套件以 uvx 在本機執行,本機需先安裝 uv。輸入為檔案連結,或帶檔名的樂譜文字;聊天中附加的檔案無法直接傳入,需先上傳到託管頁面取得連結。託管服務有 10 MB 檔案上限與依位址的速率限制。
安裝前請注意
把樂譜上傳到託管服務代表檔案會傳送給第三方,檔案在 24 小時後刪除,下載連結一天後失效。本機執行會在輸入檔旁寫入新檔案,只有給出確切輸出路徑時才會覆寫。不支援 Sibelius、Dorico、Finale、MuseScore 原生檔案,需先匯出為 MusicXML。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Scoreproof,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.asampat3090%2Fscoreproof/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "scoreproof": {
      "type": "http",
      "url": "https://scoreproof-fkkuctjokq-uc.a.run.app/mcp"
    }
  }
}

README

scoreproof

Convert any score. Prove nothing got lost.

Scoreproof converts music files between MusicXML, MIDI, ABC, MEI and Humdrum, makes sheet music you can print and play (PDF, PNG), repairs the quirks of real notation-app exports (Sibelius, Dorico, Finale, MuseScore, Guitar Pro and others), and checks every conversion note by note, reporting exactly what was kept and what was lost.

MIDI you played into a DAW or from a keyboard comes out as readable notation: Scoreproof finds the beat (even without a click), snaps rhythms to 16ths or triplets, tidies note lengths, splits piano into two hands and spells notes in the right key.

Use it from any AI tool that speaks MCP (Claude, Cursor, VS Code, Gemini CLI, Codex and others), from the command line, or from Python.

Use it in claude.ai, the Claude apps or ChatGPT

No install. Add a custom connector with this address:

https://scoreproof-fkkuctjokq-uc.a.run.app/mcp
  • Claude (web, desktop, mobile): Settings → Connectors → Add custom connector.
  • ChatGPT: Settings → Connectors → Create (developer mode).

Then ask "Write a short waltz and give me the sheet music". To work on your own file, drop it on the Scoreproof page and paste the link it gives you into the chat; the same page converts files with one click.

The hosted service is free, has per-address rate limits and a 10 MB file limit, and deletes every file after 24 hours.

Use it from your AI tool

Scoreproof runs locally and works on files on your computer. It needs uv (brew install uv or pip install uv).

Claude Code

/plugin install scoreproof --marketplace asampat3090/scoreproof

or add the server directly: claude mcp add scoreproof -- uvx scoreproof mcp

Claude Desktop, Cursor, Gemini CLI: add this to claude_desktop_config.json, ~/.cursor/mcp.json or ~/.gemini/settings.json:

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

VS Code (.vscode/mcp.json):

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

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

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

Then ask things like:

  • "Turn ~/Music/take-3.mid into sheet music I can print."
  • "Convert ~/Music/song.mid to MusicXML and tell me what got lost."
  • "Transpose my lead sheet to Bb and show me the sheet music."
  • "Split this score into parts for each player."
  • "What changed between draft-1.musicxml and draft-2.musicxml?"
  • "Check this Sibelius export before I send it to the copyist."

Tools

ToolWhat it does
convertConvert a file and verify the result note by note, or make a PDF/PNG
batch_convertConvert many files or whole folders
inspectSummary (parts, ranges, key, meter, tempo) plus an ABC excerpt of chosen bars
validateFind bars that don't add up, notes out of range, and repaired exporter quirks
compareWhat changed between two versions, bar by bar, even across formats
transposeBy interval, into a key, or between concert and written pitch
extractPull out parts or bars, or make one file per player
renderSheet music to print or view (PDF, PNG, SVG; Letter or A4) or an audio preview (WAV)
list_formatsFormats and what each one cannot hold

Results are written next to the input under a new name. Scoreproof never overwrites an existing file unless you give that exact output path.

Use it from the command line

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

Add --json to any command for machine-readable output.

Use it from Python

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

How accurate is it?

On 430 real exports from 11 notation apps (benchmarks/score_corpus/):

music21 alonescoreproof
Files that load96.0%100%
Read faithfully (parts, bars, notes, length)87.9%95.6%

MIDI played in a DAW (benchmarks/played_midi/, five pieces performed with human timing):

music21 alonescoreproof
Notes on the right beat, with a click64%99%
Notes on the right beat, no click6–21%81–82%

Every conversion re-reads its own output and compares it with the source. When a format cannot hold something (MIDI has no chord symbols or lyrics layout; ABC and MEI exports carry transposing instruments at concert pitch), the report says so instead of failing silently.

Not supported: native Sibelius, Dorico, Finale and MuseScore files. Export MusicXML from the app first.

Development

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

The plan and milestones are in docs/plan.md. MIT licensed.

來源:README.md,提交 6d985d0

工具

8

convert

Convert a music file

Convert a score between formats and verify the result note by note, or turn it into sheet music (pdf, png, svg) or audio (wav). Returns a download link, a confidence level (exact, high, medium, low), the share of notes kept, features the target format cannot hold, and exporter quirks that were repaired on the way in.

輸入參數to必填filecontentfilename

render

Render sheet music or audio

Engrave sheet music to print or view (PDF, PNG, SVG) or make an audio preview (WAV). Returns download links.

輸入參數tofilecontentfilenamepage_size

inspect

Look at a score

Summarise a score and show some bars as ABC notation: title, parts with instruments and ranges, key, meters, tempos and bar count.

輸入參數barsfilepartscontentfilename

validate

Check a score for problems

Check a score: exporter quirks that needed repair, bars that do not fill their time signature, and notes outside an instrument's range.

輸入參數filecontentfilename

compare

Compare two versions

Show what changed between two versions of a piece, bar by bar, even across formats.

輸入參數a必填b必填

transpose

Transpose a score

Transpose a score by an interval, into a key, or between concert and written pitch. Give exactly one of interval, key or pitch.

輸入參數tokeyfilepitchcontentfilenameinterval

extract

Extract parts or bars

Save chosen parts and/or bars of a score as new files.

輸入參數tobarsfilepartscontentfilenameeach_part

list_formats

List supported formats

Formats Scoreproof reads and writes, and what each one cannot hold.

無需輸入參數。

版本歷史

2
  1. v0.2.0最新Nov 5, 2026
  2. v0.1.0Nov 3, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分