Flstudio について
Flstudio は、Claude を FL Studio に接続する MCP サーバーで、仮想 MIDI ポート経由で DAW にノートを送信します。AI を使って作曲を補助したい音楽制作者を対象としています。作者は三日間で作成したオープンソースのプロジェクトだと説明しており、利用には仮想 MIDI ポートと Python パッケージの設定が必要です。
主な機能
- 01仮想 MIDI ポート経由で FL Studio にノートを送信
- 02Test Controller スクリプトによるサーバーからの指示の受信
- 03ピアノロールへのメロディ、コード、ドラムの録音
- 04mido と python-rtmidi による MIDI 通信
活用シーン
- 01自然言語で指定したメロディやコードを FL Studio に生成
- 02AI が生成した作曲素材を FL Studio 内で素早く試すこと
MCP 対応
本プロジェクトは trigger.py で実装された MCP サーバーであり、Claude などの MCP クライアントに FL Studio の操作機能を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
flstudio MCP
Claude と FL Studio を接続する MCP サーバーです。
3 日で作りました。実際に何ができるのか確かめるため、オープンソースとして公開します。可能性は無限大です。
問題が発生した場合は、Discord に参加してください。セットアップをお手伝いします。
(音楽と AI の未来に興味がある方や、機能をリクエストしたい方もぜひご参加ください。皆さんと一緒に開発しています。)
ミュージシャン向けの AI 搭載 DAW をご覧ください:www.veena.studio
すべてブラウザー上で利用できます。すべて無料です。
ステップ 1:ファイルをダウンロードする
主な項目が 2 つあります。
- Test Controller という名前のフォルダー
- trigger.py という名前の Python ファイル Test Controller フォルダーには、MCP サーバーから情報を受け取る device_test.py というファイルがあります。 trigger.py が MCP サーバーです。
Test Controller フォルダーを Image-Line/FL Studio/Settings/Hardware に配置してください(このファイルやフォルダーの名前は変更しないでください)。
ステップ 2:Claude 用に MCP をセットアップする
このチュートリアルに従って、claude_desktop_config ファイルを編集し、Claude で MCP サーバーをセットアップしてください。
https://modelcontextprotocol.io/quickstart/server
この手順に従った場合は、weather.py と書かれている箇所をすべて trigger.py に変更してください。
ハンマーアイコンが表示されない場合は、タスクマネージャーを開き、Claude プロセスを強制終了してください。
これで表示されるはずです。
私の設定ファイルは次のようになっています。
ステップ 3:仮想 MIDI ポートをセットアップする
Windows の場合
Windows の場合は、こちらから LoopMIDI をダウンロードしてください。
https://www.tobias-erichsen.de/software/loopmidi.html
LoopMIDI をインストールし、+ ボタンを使ってポートを追加してください。
私の環境では次のようになっています。
Mac の場合
MIDI ポートは、データを受信できるよう自動的にセットアップされます。
ステップ 4:MIDI コントローラーをセットアップする
FL Studio を開きます。
Options > MIDI Settings に移動します。
Input タブで、LoopMIDI を使って作成した MIDI Input をクリックします。
コントローラータイプを(汎用コントローラー)から Test Controller に変更します。
ステップ 5:パッケージをダウンロードする
trigger.py ファイルがあるフォルダーに移動します。(これが MCP サーバーのファイルです。)
Claude MCP セットアップチュートリアルで説明したように、conda 環境を有効にします。
必要なパッケージをダウンロードするには、次のコマンドを実行します:uv pip install httpx mido python-rtmidi typing fastmcp FL-Studio-API-Stubs (uv は Claude MCP のセットアップ時にインストールされているはずです。)
ステップ 6:MCP 接続を確認する
Claude に、利用可能な MIDI ポートを取得するよう指示します。
これにより、MCP を使って FL Studio からポートを取得できます。
Windows の場合は、LoopMIDI で作成したポートと、その前にある番号をコピーしてください。
Mac の場合は、デフォルトのポートをコピーしてください。
私の場合は、loopMIDI Port 2 をコピーします。
テキストエディターで trigger.py を開き、デフォルトのポートを、先ほどコピーしたポート名に置き換えます。 output_port = mido.open_output('loopMIDI Port 2')
ステップ 7:音楽を作る
MCP を使って、メロディー、コード、ドラムなどを送信します。
録音したい楽器をクリックすると、その楽器のピアノロールにリアルタイムで録音されます。
新しいチャットを始めるときは、次のプロンプトを使うことが多いです:ノートの形式は次のとおりです:note(0-127),velocity(0-100),length in beats(decimal),position in beats(decimal)
ステップ 8:作ったものを共有する
作ったものを Discord で共有してください:https://discord.gg/ZjG9TaEhvy
クレジット
FL Studio API Stubs:https://github.com/IL-Group/FL-Studio-API-Stubs Ableton MCP:https://github.com/ahujasid/ableton-mcp
技術的な詳細
コントリビュートしたい場合は、ぜひお願いします。
この仕組みでは、device_test.py が仮想 MIDI コントローラーとして動作します。 MCP サーバー(trigger.py)は、Virtual Port を開き、MIDO というライブラリを使って MIDI メッセージを送信することで、この MIDI コントローラーと通信します。
MIDI メッセージの問題は、データが 7 ビットしかないため、0~127 の数値しか送信できないことです。
そのため、ノートの位置などの MIDI データは、デバイスが読み取れる複数の MIDI ノートに分けてすべてエンコードしています。
Image Line が API を通じて DAW へのアクセスをもっと提供してくれれば、このような MIDI の回りくどい方法を使わずに済むのですが、そうなることを願っています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。