mcpField
S
Scoreproof

Scoreproof

リモート
github.com/asampat3090メディア・デザイン06 日前に更新
リポジトリ

Scoreproof について

Scoreproofは、音楽家や編曲者、楽譜制作のワークフロー向けに、デジタル楽譜を変換・検証するツールです。複数形式に対応し、印刷用楽譜を作成するほか、変換時の変更を音符単位で報告し、演奏したMIDIを読める楽譜にできます。

主な機能

  1. 01MusicXML、MIDI、ABC、MEI、Humdrumの変換
  2. 02音符単位での変換結果検証
  3. 03PDF、PNG、SVGでの楽譜レンダリング
  4. 04楽譜の調査、比較、移調、抽出
  5. 05演奏したMIDIから読める楽譜を作成

活用シーン

  1. 01楽譜を変換して欠落レポートを確認
  2. 02MIDIから印刷用の楽譜を作成
  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形式が異なる場合も含め、2つのバージョンの小節ごとの差分を確認します
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/)での結果:

music21 のみscoreproof
読み込み可能なファイル96.0%100%
正確に読み取れたファイル(パート、小節、音符、長さ)87.9%95.6%

DAW で再生した MIDI(benchmarks/played_midi/、人間の演奏タイミングで演奏した 5 曲):

music21 のみscoreproof
クリック音ありで、正しい拍にある音符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 ライセンスです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。