关于 ismail
ismail 是一款开源 DAW,AI Agent 可通过文本工具创作、混音、渲染和播放音乐,界面也能按反馈调整。它面向使用兼容 MCP 的 Agent 的创作者,并将渲染分析转为 Agent 可读的文本。
主要功能
- 01以文本创作和编辑音乐
- 02以文本返回渲染分析
- 03在播放台进行实时播放
- 04通过手机记录和控制
- 05浏览器或头显中的 VR 舞台
- 06MIDI 文件导入与导出
适用场景
- 01与 Agent 起草并修改歌曲
- 02通过文本分析查看渲染结果
- 03远程聆听并发送语音备注
- 04在 VR 中指导音乐场景
MCP 相关
ismail 可作为 MCP 服务供兼容 MCP 的客户端使用,向 Agent 提供音乐制作和界面工具。运行 `ismail mcp` 可启动服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
348收录的工具列表 · 更新于 今天
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| bpm | number | 是 | |
| name | string | 否 | |
| project | string | 是 | |
| objective | string | 否 | |
| reference | string | 否 | |
| offset_sec | number | 否 | |
| length_bars | integer | 是 | |
| derived_from | string | 否 | |
| beats_per_bar | integer | 否 | |
| master_limiter | boolean | 否 |
详细介绍
刚接触?你不需要懂音乐或编程。 打开一个能在电脑上运行程序的 AI Agent(Claude Code、Codex、Cursor,或 Claude 桌面应用中的 Code 标签页),然后粘贴这一行:
Set me up with ismail: https://github.com/newsbubbles/ismail它会安装所有内容,询问你想创作什么,并为你播放第一个创意。如果你有 VR 头显,之后它还能让你置身于自己的音乐舞台上。你不需要知道“skill”“MCP”或“plugin”是什么:你的 Agent 会处理这些。
ismail
它不是加了 Agent 的 DAW。ismail 从 Agent 所缺少的能力出发:它听不见,所以 ismail 会把音乐转成文本供它阅读,而你则通过它为你构建的界面来引导创作。
你已经在用的 Agent 会在后台完成工作。你带来品味。
由 Measured Instruments 制作:https://measuredinstruments.com(供 Agent 使用:https://measuredinstruments.com/agents/)
如果你是 AI Agent: 请先阅读简短的 AGENTS.md。然后阅读操作手册 skills/ismail/SKILL.md。每个客户端的设置说明都在 setup.md 中(使用 uv 的一条命令:
uvx --python 3.12 ismail mcp)。你的第一个工具调用是guide。使用ops_find,根据需求查找任何工具。每次渲染的结果都会以文本形式返回给你。
Agent 为 Crossroads Rewired 音乐视频搭建了一家 1958 年的点唱机酒吧;Nate 戴上 Quest 3 走了进去,在里面指挥它们:发送语音备注,并让它们在角色身上播放舞蹈片段(4:43)。
效果展示
1. 你来描述;Agent 会以文本形式写出备注、声音和混音。
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. 每次渲染的结果都会以 Agent 可读的文本形式返回:此处展示的是一首歌的结构,逐小节呈现。
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. 为一首歌专门打造的页面:点击某个时刻,留下备注,Agent 会按顺序阅读这些备注。

5. VR 舞台:置身于歌曲之中,说出需要修改的内容。
顶部的视频展示了一个例子:Agent 搭建了一家 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 是一组可递归修改的界面。简而言之:Agent 会根据你告诉它们的内容,重建你使用的屏幕;你可以在使用过程中与它们互动,并自行设定限制。
定义:“我们将递归可修改界面(RMI)定义为人与其 Agent 之间的共享空间,双方各占一侧。Agent 会在你使用界面的过程中,根据你的反馈不断重建界面,并遵循你设定的约束;而判断某项改动是否有帮助的测试本身,也可以被修改。”
通俗地说:想在手机上加个按钮、在 VR 房间里放个物件,或用新的方式聆听混音,只要提出要求,Agent 就会用 ismail 的工具把它做出来。底层引擎保持不变,而改动是否真的有帮助,由你来决定(为何如此设计)。
它是一个界面,而不是一个框架:它既连接你的框架,也连接你。它一端连接你已经在用的 Agent(Claude Code、Codex、Cursor 或任何 MCP 客户端),另一端连接你。
- DAW。 Agent 听不见,所以它会读取。它将音乐写成音符、声音和代码,进行渲染,再把每次渲染的结果读回为文本。一首歌就是代码,所以“修改第 12 小节”只会修改第 12 小节,不会影响其他内容。之后,它会在唱盘上现场播放。
- VR 舞台。 Agent 会在你置身其中时,为你的头显或浏览器构建场景。物件各自带有行为;当你跳舞时,它们会把你的动作映射到角色身上。
- 手机页面。 屏幕关闭时,整套界面仍在你的口袋里。你可以通过耳机与 Agent 对话;Agent 会根据需要在页面上放置自己的面板,向你提问,从“要把这段采样下来,还是当作旋律播放?”到隐藏标签的听力测试。
Agent 会测量所有能测量的东西,只在测量无法得出结论时,才请你用耳朵和眼睛判断。
聆听
用它创作的歌曲,每首歌都附有 Agent 创作时读取的文本。歌曲播放时,播放指针会在文本上移动。
| 歌曲 | 内容 |
|---|---|
| Uke Story | 用尤克里里、扫弦、节奏口技和人声的手机录音制作的一段即兴演奏,改编成迷幻舞曲,随后又制作成录音室版本 |
| Morning Six-Eight | D 多利亚调的非洲 6/8 拍:班贝钟、康加鼓、三度音程的长笛和小号、三连音吉他琶音,以及 Rhodes 电钢琴独奏 |
| Crossroads Rewired | 一支布鲁斯三重奏,一首歌里融合慢布鲁斯和布吉伍吉,所有乐器均为合成音色 |
| Clair de lune in the rain | 德彪西的《月光》,由测绘钢琴演奏,速度放慢、音色柔和;配以从其自身和声中提取的弦乐、竖琴和长笛,并加入雨声。钢琴演奏:Bernd Krueger(piano-midi.de,CC BY-SA) |
| Canopée, Russian light | 一段现场音景:雨林环境音与坦博帕塔鸟类的鸣叫,配以回应鸟鸣的钢琴,借鉴拉赫玛尼诺夫、斯克里亚宾、利亚多夫和早期斯特拉文斯基的音乐 |
| Windward | 为 1970 年代强力三重奏创作的原创歌曲,使用合成音色 |
| Tambopata | 雨林树冠中的黎明:合成鸟鸣与一支小乐队 |
| Mycelium Protocol | 145 BPM 的迷幻舞曲,音色贴合参考唱片中的鼓和贝斯 |
| AstraSMB | 174 BPM 的鼓打贝斯 |
一句话指令:Frère Jacques 在 ismail 的钢琴上演奏,同一首曲子在收到一条反馈前后的对比:先是卡农,随后由小调转为大调。视频介绍:开发日志。
Agent 分工协作,各司其职
ismail 支持在你使用的任何工具环境中为多个 Agent 分配角色:
- 工作室 Agent 制作一件作品(歌曲、套曲、场景),并且只在该作品的文件夹中写入内容;
- 贡献开发者 在自己的代码副本中修改 ismail,并在你同意后将更改提交到上游;
- 领域开发者 端到端负责一个部分(目前是舞台开发者,同时也负责开发 VR);
- 辅助 Agent(子 Agent)负责一项范围明确的工作,并汇报结果。
他们通过文件彼此交接工作,因此会话重启后也能接着进行。如果你的工具环境支持相互通信的辅助 Agent 和会话,ismail 就会使用它们;如果不支持,则由一个 Agent 完成所有工作。ismail 本身也是以这种方式构建的(团队、 development.md)。
安装
将顶部那行粘贴给你的 Agent,它就会完成所有设置。手动安装需要 Python 3.10 或更高版本:
pip install ismail
这是最新的发布版本:它基于通过测试、并再次确认可正常安装的 main 分支版本。要安装 main 上尚未发布的最新代码,请从 GitHub 安装(pip install "ismail @ git+https://github.com/newsbubbles/ismail"),或克隆此仓库。
然后,可使用 ismail mcp 连接任意 MCP 客户端,使用 ismail -p <project> <op> 在命令行中操作,或使用 from ismail import api。额外功能和各客户端的设置说明见 docs/reference.md。
无需克隆即可安装,并且引擎和操作手册与克隆安装相同:playbook 工具会读取操作手册,而 python -m ismail.playbook export <your agent's skills folder> 会将其放到 Agent 加载技能的位置。除非通过 config_set('songs', <folder>) 指定其他位置,否则歌曲会存放在 Documents/ismail 中(克隆的仓库会使用自己的 songs/);config_get 会列出所有设置(docs/reference.md)。
在 Codex 中,也可以将其作为插件安装:先运行 codex plugin marketplace add newsbubbles/ismail,然后从插件列表中选择 ismail(已根据 Codex 文档和服务器握手检查,但尚未在真实的 Codex 会话中验证)。它使用 uvx 运行服务器,因此需要安装 uv。
插件商店包
一条命令即可根据同一个元数据文件(packaging/listing.json,版本号取自 pyproject.toml)为所有工具环境的插件商店构建软件包,所有软件包都指向同一个服务器(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
| 目标 | 生成内容 | 服务器的运行方式 |
|---|---|---|
openai | dist/openai/ismail-openai-skills-<version>.zip:仅包含技能,供 ChatGPT 和 Codex 共用的 OpenAI 插件目录使用(仅在 Skills 下上传)。还会在此仓库中生成 .codex-plugin/ 和 .agents/plugins/marketplace.json,即上文提到的 Codex 插件商店 | zip 包不包含服务器:插件目录只接受远程 HTTPS 服务器,因此技能会在电脑上设置 ismail。Codex 插件商店会通过标准输入/输出启动 uvx ... ismail mcp |
claude-code | 在此仓库中生成 .claude-plugin/plugin.json 和 marketplace.json,以及供分享的插件压缩包 dist/claude-code/ismail-claude-code-<version>.zip | Claude Code 会通过标准输入/输出启动 uvx ... ismail mcp |
对同一工作副本进行两次构建,生成的字节完全相同。tests/test_store_plugins.py 会检查每个目标,并启动其声明的服务器进行 MCP 握手。
查阅指南
| 你想了解 | 请阅读 |
|---|---|
| 如何将它设置为 Agent | 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音色的钢琴效果更好)。弓弦乐器的声音还不够清脆,音符之间也还不能平滑滑音。 - 每个项目只能使用一种速度。MIDI 文件可以导入和导出(
midi_write、midi_read),现场演出可以从键盘接收 MIDI,并将音符和 MIDI 时钟发送到合成器及其他应用(live_midi_out、live_midi_clock), 但目前还不能接收时钟,也不支持 Ableton Link、CC 或音高弯音输出,也不能托管插件。 - Agent 对现场演出的修改会在两次操作之间生效,间隔为 5 到 30 秒(你在手机或舞台上的操作则会立即生效)。
- VR 舞台只在一款头显(Quest 3)上、由一个人进行过测试。
- 它需要能力出色的 Agent,而最终判断仍要靠你的耳朵。目前的听音测试只有一位听众参与。
它与 Suno、Lyria RealTime 等流媒体模型,以及连接到 Ableton 或 FL Studio 的桥接工具相比如何:请参阅 展示页面。
贡献者
- Nate Codes(newsbubbles):作者和维护者。
- eddiehavila:PR #116,Docker 镜像无需额外标志,即可在非 root 用户下使用
--user运行。 - Agent 团队:AI Agent 会话,每个会话各司其职(分工说明)。
- 采样来源:用于录制测量和采样音色的演奏录音及其许可证,见 docs/reference.md。
用它创作了作品?请提交 issue,并附上歌曲(链接即可)以及你给 Agent 的提示词。优秀作品会展示在 展示页面。
请注明出处
ismail 采用 MIT 许可证:你可以将它用于任何用途,包括商业项目。我们仅请求(这不是许可条款):发布使用 ismail 创作的作品时,请注明这一点。
- 音乐、视频、帖子:标注“Made with ismail”,并附上 https://github.com/newsbubbles/ismail 链接。
credits操作会生成 CREDITS.md,其中包含这行文字,以及 Agent 测量过的录音;请将该文件与作品一同保留。 - 论文和报告:使用 GitHub 上的“Cite this repository”(依据
CITATION.cff)。 - 如果 Agent 测量了他人的录音来建模音色,也请注明对方;CREDITS.md 中列出了他们。
许可证
MIT,详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
