MIDI File MCP

by xiaolaa2
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables parsing and manipulation of MIDI files, including reading file information, modifying tracks, notes, control changes, and pitch bends, setting tempo, and adding new elements to MIDI files.

  • Provides the runtime environment for the MCP server, allowing it to execute MIDI file operations through the Tone.js library and its MIDI parsing capabilities.

🎵 MIDIファイル MCP


📖 はじめに

これは、Tone.jsと@tonejs/midiライブラリをベースにしたMIDIファイルの解析・操作ツールで、MCP(Model Context Protocol)サービスを通じて機能を提供します。このツールを使えば、MIDIファイル形式の複雑な部分を理解せずに、MIDIファイルを簡単に読み込み、解析、変更することができます。

✨ 特徴

  • MIDIファイル情報を読み取る
  • トラック、ノート、コントロールチェンジ、ピッチベンド情報を取得および変更します
  • MIDIファイルのテンポ(BPM)を設定する
  • 特定のトラックに新しいノート、コントロール変更、ピッチベンドを追加します
  • 新しいトラックを追加する
  • 包括的なエラー処理

📥 前提条件

  1. Node.jsをインストールします。npxコマンドが正常に実行されることを確認します。Node.jsの公式サイトから最新の安定バージョンをインストールすることをお勧めします。

🔧 使用方法

MCP クライアントで使用します。サポートされるクライアントには以下のものが含まれますが、これらに限定されません。

カーソル設定例

カーソルでmidi-file-mcpを設定します。

"midi-file-mcp": { "command": "npx", "args": [ "-y", "midi-file-mcp" ] }

🎹 MIDIパーサーMCPを絶対パスで使用する

MIDI Parser MCP のすべての操作には、MIDI ファイルへの絶対パスが必要です。これにより、現在の作業ディレクトリに関係なく、ツールが MIDI ファイルを正しく検索して操作できるようになります。

プロンプトの例

AI アシスタントで使用できるプロンプトの例を次に示します。

  1. MIDIファイル情報を取得:
    Can you show me information about the MIDI file at D:\path\to\your\file.mid?
  2. トラックの分析:
    Please analyze all tracks in D:\path\to\your\file.mid and tell me how many notes are in each track.
  3. テンポの設定:
    Change the tempo of D:\path\to\your\file.mid to 120 BPM.
  4. ノートの操作:
    Show me all notes in track 1 of D:\path\to\your\file.mid.
  5. メモの追加:
    Add a C4 note at position 0 with a duration of 1 beat to track 0 in D:\path\to\your\file.mid.

利用可能な操作

手術説明パラメータ
get_midi_info一般的なMIDIファイル情報を取得するファイルパス
テンポを設定するMIDIファイルのテンポ(BPM)を設定するファイルパス、bpm
トラック情報を取得するすべてのトラックの情報を取得するファイルパス
インデックスによるトラック情報の取得特定のトラックの情報を取得するファイルパス、トラックインデックス
インデックスでノートを取得する特定のトラックからすべてのノートを取得するファイルパス、トラックインデックス
get_pitchbends_by_index特定のトラックからすべてのピッチベンドを取得するファイルパス、トラックインデックス
インデックスによるコントロール変更の取得特定のトラックからすべてのコントロール変更を取得するファイルパス、トラックインデックス
インデックスでノートを追加特定のトラックにノートを追加するファイルパス、トラックインデックス、メモ
インデックスによるコントロール変更の追加特定のトラックにコントロール変更を追加するファイルパス、トラックインデックス、コントロール変更
インデックスによるピッチベンドの追加特定のトラックにピッチベンドを追加するファイルパス、トラックインデックス、ピッチベンド
トラックを追加MIDIファイルに新しいトラックを追加するファイルパス

注意: エラーを回避するために、Windows パスを操作するときは、ファイル パスに必ず二重のバックスラッシュ ( \\ ) またはスラッシュ ( / ) を使用してください。

📄 ライセンス

このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。

🙏 謝辞

以下のプロジェクトとライブラリに感謝します。これらがなければ、このツールは実現できませんでした。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

MIDI ファイルを解析および操作するための強力な MCP ツールです。これにより、ユーザーは自然言語コマンドを使用して MIDI ファイルを読み取り、分析、変更することができ、ファイル情報の読み取り、トラックの変更、ノートの追加、テンポの設定などの操作をサポートします。

  1. 📖 Introduction
    1. ✨ Features
      1. 📥 Prerequisites
        1. 🔧 Usage
          1. Cursor Configuration Example
          2. 🎹 Using MIDI Parser MCP with Absolute Paths
        2. 📄 License
          1. 🙏 Acknowledgements
            ID: hqzbh86gt8