mcpField
M
MCP Interface for Teenage Engineering EP-133 K.O. II

MCP Interface for Teenage Engineering EP-133 K.O. II

ローカル
github.com/benjaminrメディア・デザイン323 日前に更新

MCP Interface for Teenage Engineering EP-133 K.O. II について

koii studio は、Teenage Engineering EP-133 K.O. II で Claude と MIDI 経由の音楽制作を行う MCP サーバーです。テキスト譜面、ライブ編集画面、デバイス向けのサウンド設計を備えています。

主な機能

  1. 01MIDI によるビートと曲の再生
  2. 02テキスト譜面とパターン検証
  3. 03ループ再生中の反復編集
  4. 04曲の構成と MIDI 書き出し
  5. 05デバイスのライブ表示と音作り

活用シーン

  1. 01Claude とビートを制作
  2. 02ループ再生中にドラムパターンを調整
  3. 03曲を構成して DAW に書き出し
  4. 04サウンド設計とサンプル管理

MCP 対応

MCP サーバーは EP-133 への接続、パターンの検証と再生、パターンや曲の保存、MIDI 書き出しを Claude に提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

koii studio

Claude と一緒に、Teenage Engineering EP-133 K.O. II 用のビート、曲、サウンドを作りましょう。

koii studio:シミュレーションされた EP-133、グリッドエディター上のベースライン付きブーンバップパターン、パターンリスト

Claude と一緒に、MIDI 経由で EP-133 K.O. II のビートや曲を作れる MCP サーバーです。 音楽について話すと、Claude が小規模で厳密なテキスト記法でパターンを書き、デバイスで再生します。 調整中はループ再生し、曲としてアレンジすることもできます。

@bpm 92
@swing 58

kick:  x... ..x. x... ....
snare: .... x... .... x..o
hat:   x.x. x.x. x.x. x.xX

インストール

Python 3.9~3.12 と、USB-C で接続した EP-133 が必要です。(Python 3.13 も動作しますが、 MIDI ハードウェアと通信する python-rtmidi はまだビルド済みホイールが用意されていないため、 ソースからコンパイルされます。)

git clone https://github.com/benjaminr/mcp-koii.git
cd mcp-koii
uv venv --python 3.12 .venv
uv pip install -r requirements.txt

# Add to Claude Desktop
mcp install koii_studio_server.py --name koii-studio -e .

# Or try it in the MCP inspector
mcp dev koii_studio_server.py -e .

Claude Code の場合:claude mcp add koii-studio -- /path/to/mcp-koii/.venv/bin/python /path/to/mcp-koii/koii_studio_server.py。

音楽を作る

Claude に 「K.O. II に接続して、ゆっくりしたブーンバップのビートを作ろう」 のように頼むか、 make_a_beat プロンプトを使います。一般的なセッションの流れは次のとおりです。

  1. connect():EP-133 を自動的に検出します。open_visualiser() を実行すると、すべての様子をリアルタイムで確認できます。
  2. Claude がパターンを書き、check_pattern で確認してから、play(..., loop=True) を実行します。
  3. 変更点を伝えます。新しい play は 現在のループの終わりに切り替わるため、 調整中もグルーヴが途切れません。
  4. 気に入ったバージョンは save_pattern("verse", ...) で保存できます(~/.koii-studio/library.json に保存されます)。
  5. save_song("track", "intro x2, verse x4, verse+bassline x4, chorus x8, outro") を実行してから、 play("track") を実行します。
  6. export_midi("track") で DAW 用の .mid ファイルを書き出します。

ビジュアライザー

サーバーは http://127.0.0.1:8133 でライブページも実行します(Claude に open_visualiser を実行するよう頼んでください)。 誰が操作したかにかかわらず、Claude のツール呼び出し、編集内容、デバイスで押したパッドなど、あらゆる動作が表示されます。

用途ごとに 1 つずつ、上部バーから切り替えられる 4 つのビューがあります(リンク先:#beat、 #song、#sounds、#device)。各ビューの詳しい説明と注釈付きスクリーンショットは、 GUIDE.md をご覧ください。

ビュー用途内容
Beatパターンの作成デバイスシミュレーターとキーボード、パターンエディター、パターンリスト
Songアレンジ曲の選択とアレンジ用グリッド、ドラッグ元となるパターンリスト
Soundsサウンドの作成サウンドデザイナー、サンプラー、キットメーカー
DeviceEP-133 の内容確認開いているプロジェクトと 48 個すべてのパッド(クリックして変更できます)、パック、サンプルライブラリ、バックアップ

幅 1100 × 600 以上のウィンドウでは、各ビューがページスクロールなしの 1 画面に収まります。モジュールは高さを共有し、 長いリストやデザイナーのコントロールは各モジュール内でスクロールし、デバイスシミュレーターとパッドマップは画面に収まるよう縮小されます。 小さなウィンドウではページ全体がスクロールします。上部バー (トランスポート、再生中の内容、接続状態)とライブストリップは常に表示され、ログはドロワーとして開きます。 スペースキーを押すと、そのビューで扱っている内容が再生されます。Beat ではパターン、Song では曲、 Sounds ではデザイン中のサウンドが再生されます。各ビューのレイアウトは個別に配置され、保持されます。

  • KO II シミュレーター: ノートの再生中はパッドがオレンジ色に光り、デバイス上で押すと青色に光ります。ディスプレイには小節と拍が表示されます。パッドをクリックすると音を聴けます。
  • パターンエディター:同じパターンを3つの表示方法で編集できます。
    • グリッド: ステップシーケンサーです。ブラシ(ヒット、アクセント、ゴースト、レベル1〜9、ホールド、休符)で描き込みます。Shiftを押しながらドラッグするとホールドになり、右クリックすると消去できます。トラックや小節を追加したり、ベースラインを入力したりできます。?キーを押すと、すべての記号と色の説明が表示されます。
    • テキスト: 記譜を入力する表示です。入力中にチェックされ、エラーはクリックできます。
    • 譜面: ドラム譜と、音程のあるトラック用のベース譜またはト音譜を表示します。
  • 再生と停止: ▶はすべてトグル式です。もう一度押すか、Spaceを押すと停止します。上部バーの▶、Space、デバイスのPLAYでは、最後に使用したパターンエディターかアレンジャーが再生されます。上部のボタンにどちらが選ばれているかが表示され、そのモジュールには**▶ spaceバッジが付きます。アレンジャーの▶と各ライブラリ行の▶はそれぞれ独自の内容を再生し、再生中は■が表示されます。再生を押すと、すぐに切り替わります。すべての再生に共通のループ**設定が適用されます。ライブ編集を有効にすると、ループ再生中のパターンを変更した際、現在の再生が終わった時点で切り替わります。元に戻す、やり直す(⌘Z / ⇧⌘Z)。
  • ライブラリとアレンジャー: 保存したパターンを開いたり、再生したり、削除したりできるライブラリと、独自の曲選択メニュー(開く、名前を付ける、保存、削除、新規作成)を備えたソンググリッドが並んでいます。行はレーン(パターンごとに1つ)、列はセクションです。列内の複数のセルを点灯させてパターンを重ねたり、列を追加して順番に再生したり、− / +で各セクションのリピート回数を設定したりできます。列の幅は再生時間に合わせて変わるため、曲の構成がひと目で分かり、再生中のセクションが点灯します。リストからパターンをドラッグして、下部の空のレーンにドロップすると新しいレーンに、セルまたはセクションにドロップするとそこに重ねられます。**+**にドロップすると新しいセクションが作成されます。セクションのヘッダーをドラッグして順番を変え、レーンを上下に移動できます(最上段の点灯中のレーンがセクションのテンポを決めます)。グリッドとテキスト形式(intro x2, verse+bass x4)は連動するため、テキストで入力することもできます。パターンは.midファイルとしてダウンロードされます。
  • アクティビティ: Claudeが行った各MCP呼び出しを表示します。パターンにはエディターで開くボタンが付いています。
  • ライブストリップ: EP-133はUSBオーディオデバイスとしても機能します。そのため、実際に再生されている音を示すストリップが上部バーに表示されます。LED列のスペクトラム、ピークホールドとクリップ表示付きのステレオメーター、ピークレベルが確認できます。入力を聴くだけで、音声には手を加えません。ブラウザーでEP-133の音声入力が一度許可されると、EP-133を接続するたびに自動で再生音の取り込みが始まり、マイクに切り替わることはありません。ストリップをクリックすると停止または開始できます(停止すると、次回以降もオフのままです)。または、ブラウザーシミュレーターの音声に切り替えられます。
  • サンプル: EP-133のサンプルライブラリ(全999スロット)を検索できます。波形、メタデータ、デバイス上での再生、WAVダウンロード、進行状況表示付きのバックアップにも対応しています。これは、リバースエンジニアリングされたデバイスの独自ファイルプロトコルをep-series-sysex経由で使用します。デバイスは一度に1つのファイルセッションしか処理できないため、使用中はTEのEP Sample Toolを閉じてください。
  • サウンドデザイン: デバイスと同じ46,875 Hzでレンダリングするレイヤー型シンセサイザーとサンプラーです(Claudeが使うエンジンと同じです)。
    • デザイン: 最大6つのレイヤー(アナログ、FM、プラック、モーダル、メタル、加算合成、ノイズ、サンプルの各エンジン)を使えます。各レイヤーにはエンベロープ、ピッチドロップ、スイープフィルター、LFOを設定でき、さらにエフェクトチェーン(EQ、ドライブ、ローファイ、コンプレッサー、トランジェント、コーラス、ディレイ、リバーブ、幅)に送れます。
    • 分析とプレビュー: 波形、スペクトラム、スペクトログラム、ピッチ、音量、明るさ、デバイスにすでにある最も近いサウンドを表示します。ここで再生することも、EP-133本体の出力から再生することもできます。
    • 探索: ロック付きのバリエーション、別のサウンドへのモーフィング、保存済みデザインのライブラリを利用できます。
    • サンプル: EP-133を録音したり、パターンをテンポ同期ループにバウンスしたり、ファイルを読み込んだりできます。編集(トリミング、フェード、逆再生、ピッチ、ストレッチ)や、ヒット位置でのチョップにも対応しています。
    • キット: スタイル(808、909、ローファイ、アコースティック、インダストリアル、グリッチ)に合わせた12種類のサウンドです。
    • アップロード: ルート音と微調整値を検出し、シームレスなループを見つけて再生モードを設定するため、パッドを正しい音程で鳴らし、音を持続させられます。アップロードには完全なバックアップが必要です。また、koii studioがアップロードしていないサウンドには決して触れず、デバイス独自のチェックサムと照合します。詳しくは**SOUND_DESIGN.md**を参照してください。
  • レイアウトのカスタマイズ: layoutを押すと、モジュールを移動(ヘッダーをドラッグ)、サイズ変更(角をドラッグ)、非表示にできます。モジュール内のパーツの順番を変えたり、非表示にしたり、2列の領域の間にある境界線をドラッグしたりすることもできます。**▾**を押すと、いつでもモジュールを折りたためます。レイアウトはこのブラウザーに保存され、resetでデフォルトに戻せます。
  • パック: ~/.koii-studio/packsにあるデモとキットです(koii studioには付属していません。Claudeに作成を依頼してください)。それぞれにサンプル、プロジェクトのパッドレイアウト、パターン、曲、クレジットが含まれています。インストールすると、サンプルを空きスロットにアップロードし(すでにあるものは再利用します)、プロジェクトを開いてパッドに割り当て、曲を追加します。サンプルを削除すると、サンプルを削除して空き容量を確保し、対応するパッドを空にします。曲は残ります。
  • プロジェクト: パッド設定パネルには現在開いているプロジェクトが表示され、別のプロジェクトを開くこともできます。
  • パッド設定: シミュレートされたデバイス上のパッドをクリックすると、実機で再生される音を確認できます。そこでサウンドスロット、MIDIチャンネル、再生モード、レベルをリアルタイムで変更できます。これでパッドをメロディー音源として使えます。キーサウンドにチャンネル3を割り当て、set_alias("chords", "ch3")でチャンネルに一度だけ名前を付けると、パターンのchordsトラックで正しい音程を再生できます。詳しくはDEVICE.mdを参照してください。
  • デバイスがない場合: 右上でブラウザーシミュレーターを選ぶと、ページ上でドラムとベースが合成されて再生されます。 Claude なしで実行するには、python -m koii_studio.visualiser(または koii-studio)を使います。起動時に EP-133 が接続されていると、自動で接続します(スキップするには --no-connect を指定します)。設定: KOII_STUDIO_WEB_PORT(デフォルトは 8133。使用中の場合は次に空いているポートを使います)と、無効にするには KOII_STUDIO_WEB=off を指定します。localhost のみでリッスンし、他のウェブサイトからのコマンドは無視します。

表記法

完全な仕様は NOTATION.md をご覧ください。概要:

kick: x...x...サウンドごとに 1 行を使用します。1 文字 = 1 ステップ(16 分音符)です
x X o 1–9ヒット、アクセント、ゴーストノート、レベル 1~9
. -休符、直前の音を保持
spaces, |無視されます。拍をグループ化するのに使います
@bpm @swing @gridテンポ、スウィング(50~75)、ステップの長さ
@map bass = ch2 + bass notes: C1 Eb1 G0MIDI チャンネル上の音程付きライン
verse x4, chorus+bass x2アレンジ:xN で繰り返し、+ でレイヤー化

サウンド名には、キットのエイリアス(kick、snare、hat、oh、clap、…)、パッドのラベル (A1、B.、CEnter)、または MIDI ノートを使います。show_kit ですべて確認でき、set_alias で独自のエイリアスを追加できます。入力ミスがあると、行と列を示すエラーが返されます。例: line 2: 'snare' has 15 steps, which doesn't divide the longest track 'kick' (16 steps)。

デバイスのセットアップ

ドラムにはセットアップは不要です。ベースラインやメロディーには、パッドに専用の MIDI チャンネルを割り当てます。koii studio では USB 経由で設定できます(set_pad を使うか、Device ビューでパッドをクリックします)。または Sound Edit で手動設定します(OS 2.0 以降)。ダイナミクス(o、X、1–9)はセットアップなしで使えます。ソースと、ハードウェアで確認済みの内容を含む詳細は DEVICE.md をご覧ください。

ツール

ツール
list_midi_ports、connect、disconnect、status接続
check_patternパターンを再生せずに検証して表示します(デバイスは不要です)
play、stopパターンテキスト、保存済みの名前、レイヤー、またはアレンジを再生します。ループやシームレスな切り替えができます
auditionサウンドまたはパッドを試聴します
save_pattern、save_song、show、list_library、deleteライブラリ
export_midi.mid ファイルを書き出します(デバイスは不要です)
export_musicxmlパターンの楽譜を書き出します(MuseScore、Dorico、Sibelius…)
list_device_sounds、play_sampleEP-133 に保存されているサンプル
backup_device、cancel_backupすべてのサンプル(WAV)とプロジェクトを ~/.koii-studio/backups にコピーします
upload_sample、delete_uploadWAV をデバイスに転送します(46,875 Hz に変換)、または koii studio が転送したファイルを削除します
sound_presets、sound_design_schema出発点となるプリセット、およびすべてのエンジン、エフェクト、設定
design_sound、vary_sound、morph_soundsデザインをレンダリングして説明します(ビジュアライザーに表示)。バリエーションの作成やモーフィングもできます
save_design、list_designsデザインライブラリ、および録音・読み込み済みのソース
upload_design、change_sound_settingsデザインを楽器としてデバイスに転送します(ルート、ループ、再生モード)。転送済みの設定をその場で変更します
make_kit、kit_status、chop_sourceスタイルに合わせた 12 サウンドのキット、録音からのスライス、スロットへの連続転送
list_packs、install_pack、remove_pack、pack_statusサンプルパック:デモやキットのサンプル、プロジェクトのパッド、パターン、ソングをまとめて EP-133 に転送したり、空き容量を確保するためにサンプルを取り出したりできます
open_projectUSB 経由で EP-133 上の別のプロジェクト(1~9)を開きます
get_pads、set_pad、undo_pad_changeUSB 経由で EP-133 のパッドを読み取る、または変更します:サウンドスロット、MIDI チャンネル、再生モード、レベル、エンベロープ、パン(リアルタイム、確認済み、取り消し可能)
open_visualiserライブブラウザービューを開きます
show_kit、set_alias、remove_alias、list_factory_soundsキット

プロンプト:notation_guide、device_guide、sound_design_guide、make_a_beat、design_a_sound。

開発

uv pip install -r requirements-dev.txt
.venv/bin/python -m pytest

テストでは、パーサーのファジング、再生内容と楽譜が一致する必要のある生成パターン、music21で再読み込みするMusicXML、ブラウザーエディター独自のJavaScriptを使った往復テスト(Nodeが必要)など、さまざまな観点から記譜を検証します。

コードはkoii_studio/にあります。notation(パーサー)、sequence(タイミング、スウィング、アレンジ、MIDIファイル)、player(バックグラウンド再生)、library(永続化)、studio(全体の連携)、events(ライブ更新)、visualiser(Webサーバー。ページはkoii_studio/static/にあります)、server(MCPツール)です。デバイスファイルはfiles(SysExファイルプロトコル)、backup、samplesにあります。サウンドデザインはkoii_studio/synth/にあります(schemaはデザイン形式、engineとdspはレンダリング、analysis、デバイス設定用のinstrument、variation、edit、presets、そしてdesigns、sources、factoryの各ストア)。これらをsound_designで連携させています。ライブラリー、デザイン、ソースを別の場所に保存するには、KOII_STUDIO_HOMEを設定してください。

謝辞

  • EP-133 K.O. IIを提供したTeenage Engineering。
  • ClaudeとModel Context Protocolを提供したAnthropic。
  • MIDIの処理に使用したMIDO。
  • サンプル、バックアップ、パック、パッド設定を扱うリバースエンジニアリングされたファイルプロトコルを提供した、Kevin Morrillによるep-series-sysex(MIT。詳細はTHIRD_PARTY_NOTICES.mdを参照してください)。

自己責任でご利用ください

koii studioは趣味のプロジェクトであり、現状有姿で提供され、保証はありません(LICENSEを参照してください)。MIDI経由でノートを再生するだけでなく、teenage engineeringが文書化もサポートもしていない独自プロトコルを使って、EP-133本体のストレージに書き込みます。サンプルのアップロードと削除、パッドや開いているプロジェクトの変更を行います。安全に処理できるよう対策しています(アップロード前に完全なバックアップを作成し、自身がアップロードしたものだけを変更または削除し、すべての書き込みを読み戻して確認します)が、ファームウェアの更新や予期しない応答によって、音声、プロジェクト、設定が失われたり、デバイスの再起動が必要になったりする可能性はあります。ご自身でバックアップを保管し、koii studioの実行中はTEのEP Sample Toolを終了して、自己責任でご利用ください。

ライセンス

koii studioはMITライセンスに基づくフリーソフトウェアです。著作権表示を残す限り、商用利用を含め、使用、変更、共有できます。

オーディオはkoii studioには含まれません。パックにはそれぞれ独自のオーディオが含まれ、ソースは各pack.jsonに記載されています。制作中に作成されたデモパックでは、パブリックドメインの録音のみを使用しています。スクリーンショット:koii studio独自のページ。koii studioはteenage engineeringと提携しておらず、同社からの推奨も受けていません。EP-133およびK.O. IIは同社の商標です。

コメント

MCP は初めてですか?

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

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