mcpField
I
ismail

ismail

ローカル
measuredinstruments.comメディア・デザイン17今日更新

ismail について

ismailは、AIエージェントがテキストツールを使って作曲、ミックス、レンダリング、再生を行うオープンソースのDAWです。MCP対応エージェントと制作する人向けで、レンダリング結果をエージェントが読めるテキストで返します。

主な機能

  1. 01テキストによる作曲と編集
  2. 02レンダリング分析のテキスト出力
  3. 03デッキでのライブ再生
  4. 04スマートフォンでのメモと操作
  5. 05ブラウザーまたはヘッドセットのVRステージ
  6. 06MIDIファイルの読み書き

活用シーン

  1. 01エージェントと曲の下書きや修正
  2. 02テキスト分析によるレンダリング確認
  3. 03外出先で聴いて音声メモを送信
  4. 04VRで音楽シーンを演出

MCP 対応

ismailはMCPサーバーとして動作し、MCPクライアントを通じてエージェントに音楽制作やインターフェースのツールを提供します。`ismail mcp`コマンドでサーバーを起動します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"newsbubbles-ismail": {
"command": "uvx",
"args": [
"ismail"
]
}
}
}
起動コマンドuvx ismail

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiismail0.4.3

ツール

348

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
bpmnumberはい
namestringいいえ
projectstringはい
objectivestringいいえ
referencestringいいえ
offset_secnumberいいえ
length_barsintegerはい
derived_fromstringいいえ
beats_per_barintegerいいえ
master_limiterbooleanいいえ

詳細

初めてですか? 音楽やコードの知識は必要ありません。 コンピューター上でプログラムを実行できるAIエージェント(Claude Code、Codex、Cursor、またはClaudeデスクトップアプリの「Code」タブ)を開いて、次の行を貼り付けてください。

Set me up with ismail: https://github.com/newsbubbles/ismail

すべてをインストールし、何を作りたいかを尋ね、最初のアイデアを再生します。VRヘッドセットをお持ちなら、後から音楽の中にあるステージに立つこともできます。「skill」、「MCP」、「plugin」が何かを知る必要はありません。エージェントが対応します。

ismailのロゴ:ボートに乗った4人の自動演奏家

ismail

エージェントを後から追加したDAWではありません。ismailはエージェントに足りないものから始まります。音を聞けないエージェントに、ismailが音楽をテキストとして読み上げ、エージェントが作る画面を通じて、あなたが方向を決めます。

いつも使っているエージェントが、バックグラウンドですべての作業を行います。あなたが持ち込むのは、センスです。

Measured Instruments製:https://measuredinstruments.com(エージェント向け:https://measuredinstruments.com/agents/)

テスト

AIエージェントの場合: まずAGENTS.mdを読んでください。短いファイルです。次に、プレイブックの skills/ismail/SKILL.mdを読んでください。各クライアントのセットアップ方法は setup.mdに記載されています(uvを使った1つのコマンド: uvx --python 3.12 ismail mcp)。最初に呼び出すツールは guideです。必要な内容からツールを探すにはops_findを使います。すべてのレンダーはテキストとして返されます。

エージェントが1958年のブルースクラブを作った。その中を歩いてみた。

エージェントはCrossroads Rewiredのミュージックビデオ用に1958年のジュークジョイントを制作しました。NateはQuest 3を装着して中に入り、音声メモや、キャラクターに再生させるダンスのテイクを使って、内側からエージェントに指示を出しました(4:43)。

見た目

1. あなたが話すと、エージェントがノート、サウンド、ミックスをテキストとして作成します。

you   > Make me an 8-bar deep house loop: kick, a bass line in A minor, and some keys.

agent > project_new(bpm=120, length_bars=8, name='Demo Song')
        track_add('kick', instrument='preset:kick')
        notes_write('kick', 1, '0 C1 0.5; 1 C1 0.5; 2 C1 0.5; 3 C1 0.5', repeat=8)
        track_add('bass', instrument='preset:pluck')
        notes_write('bass', 1, '0 A1 0.5; 1.5 A1 0.5; 2.5 C2 0.5; 3 E2 0.5', repeat=8)
        track_add('keys', instrument='preset:pluck')
        notes_write('keys', 1, '0 A3 2; 0 C4 2; 0 E4 2; 2 G3 2; 2 B3 2; 2 D4 2', repeat=8)
        render()

        rendered 18.0s -> renders/latest.wav
        master: -16.7 LUFS, true peak -0.3 dBTP
          kick   peak  -6.1   rms -20.1 dB
          bass   peak -10.2   rms -27.6 dB
          keys   peak  -3.0   rms -26.8 dB

        Listening report
        1. Balance: the keys peak 3 dB over the kick, so they sit on top of the groove.
           I'll bring them down 4 dB and give the bass 2 dB.
        Have a listen: does the bass line feel right before I add hats?

2. すべてのレンダーは、エージェントが読めるテキストとして返されます。ここでは、曲の構成を小節ごとに示しています。

      bar 12345678901234567890123456789012345678901234567890...
      mix 66666687787787787887888888888888888888888888888878...
     ~sub 777777777777777777777776777777666666777777777777.7...
    ~bass 7777778888888888888888888888888888888888888889888...
     root ..B...AGGAGGAGGAGGGGGGGGGGGAGGGGaAGGaGaaaaAGaaGaAG...
  section A----------------------------------------------|B--
A   bars   1-48  (48)  level    9.6 dB  low X...X...X...X...  snare ....x.......x...
B   bars  49-56  ( 8)  level   12.6 dB  low XxxXX.XxXxxXxxXx  snare .......x........

3. スマートフォン:デスクを離れて聴き、聴いたビートについて音声メモを送ります。

デモセット中のスマートフォンページ:セットは再生中で、現在と次に再生される内容、「聴く」ボタン、大きな「押して話す」ボタン、「気に入った」「変化をつけて」「落ち着かせて」「もっとエネルギッシュに」の各ボタンが表示されている。

4. 1曲専用のページ:気になる箇所をクリックしてメモを残すと、エージェントがメモを順番に読み取ります。

デモ曲のフィードバックページ:プレーヤー、小節番号の並びと5小節目のピン、「この瞬間に印を付ける」ボタン、保存された瞬間(0:08、5小節目、「もっと強く」「キック」、ここでドロップにもっと迫力がほしい)が表示されている。 同じ瞬間を編集用に開いた状態:「どんな変更か」のチェックボックス(「もっと強く」にチェックあり)、対象パート(「キック」にチェックあり)、聴き手のコメントが表示されている。

5. VRステージ:曲の中に立って、変更点を伝えます。

上部の動画にはその一例が映っています。エージェントが1958年のジュークジョイントを制作し、ヘッドセットを装着した人が中に入って、内側から指示を出しました(動画を見る)。

6. 動画コードは各ノートのフレームを取得するため、映像がビートに合います。

"kick": [
  {"f": 1600, "beat": 128.0, "pitch": 36, "len": 3, "vel": 127},
  {"f": 1631, "beat": 130.5, "pitch": 36, "len": 3, "vel": 100},
  {"f": 1650, "beat": 132.0, "pitch": 36, "len": 3, "vel": 127}
],
"snare": [
  {"f": 1625, "beat": 130.0, "pitch": 36, "len": 3, "vel": 127},
  {"f": 1675, "beat": 134.0, "pitch": 36, "len": 3, "vel": 127},
  {"f": 1725, "beat": 138.0, "pitch": 36, "len": 3, "vel": 127}
]

ismail とは

ismail は再帰的に変更できるインターフェースの集合です。簡単に言うと、エージェントは、あなたが使っている間に、あなたの指示に基づいて操作画面を作り直します。変更の範囲は、あなたが設定した制約内に限られます。

定義:「再帰的に変更できるインターフェース(RMI)とは、人とそのエージェントが共有する空間であり、それぞれが使う側を持ちます。エージェントは、人が設定した制約の範囲内で、その人が使っている間に得たフィードバックに基づいて、インターフェースを繰り返し作り直します。また、変更が役に立ったかどうかを判定するテスト自体も変更できます。」

平たく言えば、スマートフォンにボタンを追加したい、VRの部屋にオブジェクトを置きたい、ミックスを聴く新しい方法が欲しい、と頼めば、エージェントがismailのツールを使って作ってくれます。基盤となるエンジンはそのままで、変更が本当に役に立ったかどうかはあなたが判断します(この仕組みがうまくいく理由)。

これはハーネスではなく、インターフェースです。あなたのハーネスとあなた自身の両方に接続します。すでに使っているエージェント(Claude Code、Codex、Cursor、任意のMCPクライアント)とつながり、その反対側であなたとつながります。

  • DAW。 エージェントには音が聞こえないため、読み取ります。音楽を音符、サウンド、コードで記述し、レンダリングした後、その結果をすべてテキストとして読み取ります。曲はコードなので、「12小節目を変更して」と指示すれば、12小節目だけが変わります。そして、デッキ上でリアルタイムに再生します。
  • VRステージ。 ヘッドセットやブラウザー内のシーンを、あなたがその中に立っている間にエージェントが作ります。オブジェクトはそれぞれ独自の振る舞いを持ち、あなたが踊ると、その動きをキャラクターに反映します。
  • スマートフォンのページ。 画面を消した状態で、ポケットにあるセットを使えます。イヤホンを通じてエージェントとやり取りすると、エージェントは必要に応じてページ上にパネルを表示して質問します。「これをサンプルにする? それともメロディーとして演奏する?」といった質問から、ラベルを隠した聴き比べテストまで対応します。

エージェントは測定できるものをすべて測定し、その測定では判断できないことだけを、あなたの耳と目で確かめてもらいます。

試聴

これを使って制作した曲。各曲には、制作中にエージェントが読み取ったテキストが表示されます。曲の再生に合わせて、そのテキスト上を再生ヘッドが進みます。

曲内容
Uke Storyウクレレのストローク、ビートボックス、声をスマートフォンで録音した素材から作ったジャムをサイケトランスに仕上げ、さらにスタジオ版にしました
Morning Six-Eightニ短調のドリア旋法によるアフロ6/8。ベンベのベル、コンガ、三度で奏でるフルートとトランペット、三連符のギターアルペジオ、ローズのソロが入っています
Crossroads Rewiredスローブルースとブギーがひとつの曲を共有するブルーストリオ。すべての楽器を合成しています
Clair de lune in the rain計測されたピアノで演奏するドビュッシーを、テンポを落として柔らかくし、その和声をもとにしたストリングス、ハープ、フルートを雨音に重ねています。ピアノ演奏:Bernd Krueger(piano-midi.de、CC BY-SA)
Canopée, Russian lightライブの音風景。熱帯雨林の環境音と、タムボパタの鳥たちがそれぞれの鳴き声を歌い、それに応えるピアノがラフマニノフ、スクリャービン、リャードフ、初期のストラヴィンスキーから着想を得ています
Windward1970年代のパワートリオを想定したオリジナル曲。合成音源を使用しています
Tambopata熱帯雨林の樹冠に訪れる夜明け。合成した鳥の声と小編成バンドによる曲です
Mycelium Protocol145 BPMのサイケトランス。リファレンス音源のドラムとベースに合わせてサウンドを調整しています
AstraSMB174 BPMのドラムンベース

ひとことの指示:Frère Jacquesをismailのピアノで演奏します。ひとことフィードバックを送る前と後で、同じ曲がカノンから短調、そして長調へと変わります。動画はこちら:開発ビデオブログ。

エージェントが役割ごとに作業します

ismail には、使用するハーネスを問わず、複数のエージェント向けの役割があります。

  • studio agent は 1 つの作品(曲、セット、シーン)を制作し、その作品のフォルダーにのみ書き込みます。
  • contributor dev は独自のコードコピーで ismail 自体を変更し、あなたが承認すると上流に送ります。
  • area dev は 1 つの領域を端から端まで担当します(現在は stage dev が VR の開発も担当しています)。
  • helpers(サブエージェント)は、範囲を限定した 1 つの仕事を引き受け、結果を報告します。

エージェント同士はファイルを通じて作業を引き継ぐため、セッションが再起動しても、前回の続きから再開できます。使用するハーネスに、互いにやり取りするヘルパーとセッションがある場合、ismail はそれらを使います。ない場合は、1 つのエージェントがすべてを行います。ismail 自体もこの方法で構築されています(チーム、 development.md)。

インストール

先頭の行をエージェントに貼り付けるだけで、すべてセットアップできます。手動で行う場合は、Python 3.10 以降が必要です。

pip install ismail

これは最新リリースです。main のバージョンのうち、テストに合格し、インストールとしてもう一度確認されたものです。リリース前の main の最新の変更を使うには、GitHub からインストールする(pip install "ismail @ git+https://github.com/newsbubbles/ismail")か、このリポジトリをクローンします。

その後、任意の MCP クライアントでは ismail mcp、コマンドラインでは ismail -p <project> <op>、または from ismail import api を使用します。追加機能とクライアントごとのセットアップについては、docs/reference.md を参照してください。

クローンせずにインストールした場合も、エンジンとプレイブックは同じです。playbook ツールがプレイブックを読み込み、python -m ismail.playbook export <your agent's skills folder> を実行すると、エージェントがスキルを読み込む場所に配置されます。曲は、config_set('songs', <folder>) で別の場所を指定しない限り Documents/ismail に保存されます(クローンには独自の songs/ が保持されます)。config_get ではすべての設定を一覧表示します(docs/reference.md)。

Codex ではプラグインとしてインストールできる可能性があります。codex plugin marketplace add newsbubbles/ismail を実行し、プラグイン一覧から ismail を選択します(Codex のドキュメントとサーバーのハンドシェイクで確認済みですが、実際の Codex セッションではまだ確認していません)。サーバーの実行には uvx を使うため、uv が必要です。

ストア向けパッケージ

1 つのメタデータファイル(packaging/listing.json。バージョンは pyproject.toml から取得)を使い、すべてのハーネスストア向けパッケージを 1 つのコマンドでビルドします。すべて同じサーバー(ismail mcp)を参照します。

python -m ismail.release --all            # writes dist/<target>/, validates each against its store's rules
python -m ismail.release --all --sync     # also rewrites the committed manifests below
python -m ismail.release --list           # the targets and how each client starts the server
対象作成されるものサーバーの実行方法
openaidist/openai/ismail-openai-skills-<version>.zip:スキルのみ。ChatGPT と Codex が共有する OpenAI プラグインディレクトリ向け(Skills のみの下にアップロード)。このリポジトリ内の .codex-plugin/ と .agents/plugins/marketplace.json(上記の Codex マーケットプレイス)も作成しますzip にサーバーは含まれません。このディレクトリで使えるのはリモートの HTTPS サーバーのみのため、スキルがコンピューター上で ismail をセットアップします。Codex マーケットプレイスは stdio 経由で uvx ... ismail mcp を起動します
claude-codeこのリポジトリ内の .claude-plugin/plugin.json と marketplace.json、および共有用プラグインの dist/claude-code/ismail-claude-code-<version>.zipClaude Code は stdio 経由で uvx ... ismail mcp を起動します

同じチェックアウトから 2 回ビルドすると、同じバイト列が生成されます。tests/test_store_plugins.py は各対象を確認し、宣言されたサーバーを起動して MCP ハンドシェイクを行います。

参照先

知りたいこと参照先
エージェントとしてセットアップする方法AGENTS.md、続いて setup.md
音楽の作り方(プレイブック)skills/ismail/SKILL.md
実装されている内容、各ツール領域、インストールの詳細docs/reference.md
ファミリーごとの楽器とエフェクト、それぞれの聴感上の出来、足りないものdocs/KIT.md
このような仕組みになっている理由と、その数値docs/why.md
完了したことと今後の予定ROADMAP.md、CHANGELOG.md
ismail 自体を変更する方法development.md
貢献する方法(git は不要です)contributing.md

苦手なこと

  • 何もない状態から新しい曲を作るのは苦手です。最初のスケッチはありきたりなサウンドになり、ジャンルの個性が出ないことがあります。 参考にする曲の再現、ライブで演奏する曲、構築するシーンなど、測定できる対象がある場合に最も力を発揮します。
  • 歌唱:ismail は音声合成で話すことはできますが、まだ歌声はありません。Suno は歌い、ひとことの指示から完成度の高い曲を作ります。
  • 音色が音符ごとに変化するピアノなどの楽器では、Mimic にさらに多くのノートが必要です(現時点では grand_piano のボイスのほうが優れたピアノ音源です)。弓で演奏する弦楽器にはまだ歯切れのよさが足りず、音符どうしを滑らかにつなげることもできません。
  • プロジェクトごとにテンポは1つです。MIDI ファイルの読み書き(midi_write、midi_read)ができ、ライブセットではキーボードから MIDI を受信して、ノートと MIDI クロックをシンセや他のアプリに送信できます(live_midi_out、live_midi_clock)。ただし、クロック入力や Ableton Link には未対応で、CC やピッチベンドの出力、プラグインのホスティングもできません。
  • エージェントがライブセットに加えた変更は、ターンの合間(5〜30秒おき)に反映されます(スマートフォンやステージでの操作はすぐに反映されます)。
  • VR ステージのテストは、1台のヘッドセット(Quest 3)を使い、1人で行っています。
  • 十分な能力のあるエージェントが必要で、最終的な判断はあなたの耳に委ねられます。これまでのリスニングテストは、1人のリスナーで行われています。

Suno、Lyria RealTime などのストリーミングモデル、Ableton や FL Studio とのブリッジとの比較については、 ショーケースページをご覧ください。

コントリビューター

  • Nate Codes(newsbubbles):作者、メンテナー。
  • eddiehavila:PR #116。Docker イメージを、追加のフラグなしで非 root の --user でも利用できるようにしました。
  • エージェントチーム:それぞれに役割がある AI エージェントのセッション(役割分担)。
  • サンプルの提供元:測定済みのボイスとサンプリングしたボイスの元になった録音と、そのライセンスについては、 docs/reference.mdをご覧ください。

ismail で何かを作りましたか?曲(リンクでもかまいません)と、エージェントに与えたプロンプトを添えて Issue を作成してください。優れた作品は ショーケースページに掲載されます。

クレジット表記のお願い

ismail は MIT ライセンスです。商用利用も含め、自由にお使いいただけます。お願いとして、ライセンス条件ではありませんが、ismail で作ったものを公開する際は、そのことを明記してください。

  • 音楽、動画、投稿:「Made with ismail」と https://github.com/newsbubbles/ismail へのリンクを記載してください。credits オペレーションを実行すると、その文言と、エージェントが測定した録音を記載した CREDITS.md が作成されます。作品と一緒に保管してください。
  • 論文やレポート:GitHub の「このリポジトリを引用」をご利用ください(CITATION.cff に基づきます)。
  • エージェントが他の人の録音を測定して音をモデル化した場合は、その提供者もクレジット表記してください。提供者は CREDITS.md に記載されます。

ライセンス

MIT。LICENSEをご覧ください。

コメント

MCP は初めてですか?

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

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