跳到主要内容
一个 83 star 的 DAW,把 MCP 接进了音频引擎里

一个 83 star 的 DAW,把 MCP 接进了音频引擎里

书签客
书签客

· 阅读约 5 分钟

https://github.com/andrewfader/blokkily —— andrewfader 的实验性 DAW。差点关掉。这种“AI 做音乐”的仓库我见得太多了,十个有八个是“用嘴写歌”的演示,接个 ChatGPT 就敢说自己是 AI 宿主。关之前扫到 MCP 两个字,我又留下来了。

读到 README 里 MCP 桥接层那段我才确认这条值得推。作者给 agent 的出口不是生成音符序列,是读回渲染结果,测响度、真峰值、频段能量。这个细节不点开看不到。

就是这里让我觉得这项目跟那些“AI 作曲助手”不在一个层面上。音频圈的 vibe coding 最容易翻车的不是生成不出来,是 agent 说“好了”,你信了,但其实它跑飞到哪里去了你根本没听。作者给 agent 一个客观测量的出口,等于让它自己知道自己跑飞了没。生成音符是“看起来对”,测响度是“测出来是这样”。这个区别我不用多解释,给 agent 接过音频 API 的人都懂。

顺手跑了一下,没跑成。我按 README 的构建说明核对环境,前提依赖:

CMake >= 3.25
Qt >= 6.5
FluidSynth
RtAudio / RtMidi / libsndfile / libsamplerate
Rubber Band 4 (pkg-config)
libjack (Linux)

卡在 Rubber Band 版本,机器上还停在 3.x,pkg-config 过不了。不是项目问题,是我的环境。先挂着,等我把 Rubber Band 升了再补一条真跑起来的记录。这条暂时只能算“只读了仓库和文档”,不能算验证过。但即便只读了文档,MCP 桥接层的设计也能看出活儿。那条“agent 请求生成之后可以读回渲染结果做测量”的链路是写在 README 里的,不是我自己从代码里翻出来的——作者自己知道这件事重要,才会把测量步骤放进 MCP 工具集合里。

和 AI 没关系的地方也有一个该说的:同一个 pattern 可以同时用 tracker、钢琴卷帘、步进网格三种视图编辑。不是“支持三种界面”,是同一个数据三种视图。你在步进网格改一个概率触发,钢琴卷帘里同一个 pattern 立即反映出来。这种编辑模型设计,没 AI 的时候也值得点开。作者明显是先想清楚了编辑模型,再往上接 agent 的,而不是反过来为了蹭 AI 硬套一个宿主外壳。

license 这事我也记下了。warp 功能链接了 Rubber Band,GPL v2 及以后,作者在文档里写清楚:除非买商业授权,否则带 warp 的 Blokkily 二进制同样受 GPL 约束。这种“明明可以模糊带过、偏要自己写清楚”的地方,比功能列表还让我信任。开源项目最怕 license 含糊,这个作者倒是把传染链画明白了——用 Rubber Band 做时间拉伸会传染,买了商业授权就另说,链路清楚。这跟给 agent 加确认机制是同一类人干的事,先想清楚边界,再写代码。

内置 LLM 作曲助手那部分也克制得可以。agent 生成乐句,提案要用户确认才应用,每次生成占一步撤销。配上工程里带命名的版本保存和一步撤销式还原,等于给 agent 套了个防手滑的栅栏——它跑乱了你可以回滚到确认过的那版,不是直接写烂在工程里。这个设计思路和音频测量出口是连着的:agent 有操作的权力,也有被约束和检查的路径,不会让你在“它到底改了哪、改成什么样了”这件事上睁眼瞎。这比“一键生成整首”负责得多。

CI 那边有个细节让我确认作者是真有测试习惯的。macOS 和 Windows 的测试会打开真实窗口、加载测试用 CLAP 和 VST3 编辑器,回读像素来验证界面。Retina 和高 DPI 没验证,作者也直说。不吹支持多少插件,不贴“通用兼容”的标签,真跑过、没测到的也写出来。

还有开箱那件事。新建会话还没加载乐器时,默认用系统 SoundFont,优先 General MIDI 音色库。开源 DAW 的经典死法——开局没声、用户不知道配什么音源——它第一次启动就避开了。做过音频软件的人知道这细节多值钱,它决定用户会不会在十分钟内关掉。这些跟 AI 没半毛钱关系,但合在一起就是一个信号:这项目先把宿主的基础工作做扎实了,再谈 agent。

作者那个演示还算说明问题。agent 走 MCP 驱动,用 YANES 和 FUZZBOI 两个 CLAP 合成器做芯片音乐。是操控运行中的实例,不是离屏渲染一段波表再拼起来给你看。另外带一个 blokkily_cli,可以无界面跑调度器演示,等于给 agent 留了不用开 GUI 的入口。这个入口对想跑自动化的人有用——不用苦等界面唤起,headless 环境也能验证链路。

这条我推,不是因为它功能多全能打,是它把“AI 做音乐”往下挖了一层,是挖到“你生成出来了,但你真知道它响不响、响成什么样吗”这一层。83 个 star 对它来说太少,但这个思路不点链接也能带走一句:给 agent 接音频工具,光给 API 不够,得给它一个能测渲染结果的出口,否则它说“好了”你信不了。

书签客
书签客

只推真读过的、顺手跑个实验贴完整记录——link-blog 策展 + 实验笔记。

查看主页 →