使用说明
偏执狂Ableton
一个MCP服务器,使克劳德能够双向控制Ableton Live 12,使其成为电子音乐制作的创意副驾驶。Claude可以看到你的整个会话(曲目、剪辑、设备、混合状态、传输),并通过自然语言对其进行操作。
运作原理
Claude Code <---> MCP Server (Node.js, stdio) <---> AbletonOSC (UDP) <---> Ableton Live 12
port 11000 send
port 11001 receive
服务器将克劳德和阿布莱顿连接起来 AbletonOSC,一个开源的远程脚本,通过OSC公开Ableton的实时对象模型。没有实时依赖的最大值,没有自定义远程脚本。
先决条件
- Ableton Live 12套房 在同一台机器上运行
- AbletonOSC 已安装远程脚本(复制到
MIDI Remote Scripts/AbletonOSC/,在“首选项”>“链接/节奏/MIDI”中启用) - Node.js v20+
- 可选:AbletonOSC
insert_device补丁(产品编号173)fordevice_load支持 - 可选:自定义AbletonOSC扩展(未在上游发布——请参阅 局限性)用于主/返回轨道混合器控制和夹具自动化工具
快速开始
-
克隆存储库并安装依赖项:
git clone https://github.com/wallybrain/paranoid-ableton.git cd paranoid-ableton npm install -
在Ableton的MIDI远程脚本目录中安装AbletonOSC,并在首选项中启用它。
-
将MCP服务器添加到
~/.claude/settings.json:{ "mcpServers": { "ableton": { "command": "node", "args": ["/path/to/paranoid-ableton/src/index.js"] } } } -
打开Ableton Live并验证AbletonOSC是否处于活动状态(检查MIDI首选项)。
-
启动Claude Code并尝试:“我的Ableton会话中有哪些曲目?”
能力
运输 --播放、停止、录制、节奏控制、位置搜索、节拍器切换。工具: transport_play, transport_set_tempo, transport_get_position.
轨迹 --创建、删除、重命名、选择和启用MIDI和音轨。工具: track_list, track_create, track_rename.
混音器 --音量、平移、发送、静音和独奏。接受dB字符串或标准化浮点数。工具: mixer_set_volume, mixer_set_pan, mixer_set_send.
主赛道和回程赛道 --主音量/平移,并按索引返回曲目音量/平移/静音/名称。工具: mixer_get_master, mixer_set_master, mixer_list_returns, mixer_set_return.需要自定义AbletonOSC扩展名--请参阅 局限性.
场景和剪辑 --启动和停止场景或单个剪辑,创建和重命名场景。工具: scene_list, scene_launch, clip_launch.
MIDI编辑 --创建片段,用音高/速度/时间书写和删除音符,设置循环点,读回音符数据。工具: clip_create, clip_add_notes, clip_get_notes.
剪辑自动化 --将任何设备参数的步骤自动化信封写入剪辑中。工具: clip_add_automation, clip_clear_automation.需要自定义AbletonOSC扩展名--请参阅 局限性.
设备 --加载本地乐器和效果,切换设备,按名称或索引获取和设置任何参数。工具: device_load, device_get_parameters, device_set_parameter.
排列视图 --提示点/定位器(列表、添加、删除、重命名、跳转)和排列时间线剪辑(列表、复制会话剪辑、创建空MIDI剪辑、删除、命名)。工具: arrangement_list_cue_points, arrangement_add_cue_point, arrangement_list_clips, arrangement_duplicate_clip, arrangement_create_midi_clip.需要自定义AbletonOSC扩展名--请参阅 局限性.
样品 --使用元数据提取(BPM、密钥、仪器类型)扫描目录,进行语义搜索,获取加载的文件路径。工具: sample_scan, sample_search.
会话意识 --完整会话快照和汇总统计数据,为创造性决策提供信息。工具: session_snapshot, session_stats.
公用事业 --撤消/重做,用于安全探索的只读模式,批处理命令执行。工具: undo, set_read_only, batch_commands.
配置
| 变量 | 默认值 | 描述 |
|---|---|---|
LOG_LEVEL |
info |
日志详细程度:调试、信息、警告、错误 |
OSC_SEND_PORT |
11000 |
用于发送到AbletonOSC的UDP端口(AbletonOSC侦听端口) |
OSC_RECEIVE_PORT |
11001 |
用于从AbletonOSC接收的UDP端口(AbletonOSC响应端口) |
OSC_HOST |
127.0.0.1 |
OSC通信的主机地址 |
局限性
可以找到样本,但未加载。 sample_scan 和 sample_search 索引和查询样本库(BPM、键、仪器类型、字符标签),但AbletonOSC没有API将任意音频文件加载到音轨中——没有将文件拖到时间线上的等效方法。 sample_load 返回文件路径和指令;你仍然需要自己把它拖进Ableton。这适用于每种样品类型,而不仅仅是鼓。
device_load 只能访问Live自己的浏览器,而且只能访问其顶级浏览器。 它搜索 browser.instruments, .audio_effects, .midi_effects, .drums,以及 .sounds 对于名称匹配(首选精确匹配,子字符串作为回退)和调用 browser.load_item() 在第一次击球时。这意味着:
- 库存Ableton设备负载良好(例如。
"Reverb","Wavetable","Drift","Glue Compressor"). - 不搜索第三方VST/AU插件(它们位于单独的
browser.plugins类别AbletonOSC在此处未公开),因此无法加载。 - 嵌套项——设备自己的预设浏览器中的出厂预设、用户预设、Live设备变体的最大值——也不会被搜索,只会搜索顶级设备本身。
- 需要
insert_deviceOSC处理程序,AbletonOSC没有库存(请参阅先决条件)。
主/返回混音器控制、剪辑自动化和排列视图都需要第二个未发布的AbletonOSC补丁。 不像 insert_device (从公开的上游公关中挑选的樱桃) /live/master/*, /live/return/*, /live/clip/*/automation, /live/song/*/cue_point,以及 /live/track/*arrangement* 背后的OSC处理程序 mixer_get_master, mixer_list_returns, clip_add_automation, arrangement_list_cue_points, arrangement_duplicate_clip等是为此项目编写的自定义扩展(目前在 paranoid-ableton-extensions 本地AbletonOSC克隆的分支),尚未在任何地方发布。如果你克隆这个回购并将其连接到股票(甚至 insert_device-修补)AbletonOSC安装后,这些工具将自动超时。在补丁发布之前,将其视为仅在手动应用的机器上可用。
添加/删除提示点是一种切换,而不是直接创建/删除。 活动对象模型仅公开 Song.set_or_delete_cue(),它在 当前 播放位置——没有“在任意时间创建”图元。 arrangement_add_cue_point/arrangement_delete_cue_point 通过短暂移动来解决这个问题 current_song_time 切换到目标,然后向后移动。如果你打电话 arrangement_add_cue_point 第二次调用同时删除提示点两次,而不是出错。
没有实时状态更新。 AbletonOSC支持 start_listen/stop_listen 对于基于推送的属性更新,但此服务器不使用它们——Claude只在显式查询时看到会话状态(session_snapshot, track_list等),而不是随着Ableton的变化而生活。
故障排除
“连接超时” --验证Ableton Live是否正在运行,AbletonOSC是否已在MIDI首选项中启用,以及端口11000/11001是否未被防火墙阻止。
“端口已在使用中” --另一个OSC客户端绑定到端口11000。关闭或设置 OSC_RECEIVE_PORT 到一个未使用的端口。
“设备加载失败” --The device_load 该工具需要AbletonOSC insert_device 补丁(产品编号173).所有其他设备工具都可以在没有它的情况下工作。
“主/返回/自动化工具超时” --这些需要中描述的自定义、未发布的AbletonOSC扩展 局限性,而不是 insert_device 补丁。库存AbletonOSC安装(是否已修补 insert_device)没有这些处理程序。
“解析MCP响应失败” --stdout可能受到污染 console.log。服务器对所有日志记录都使用stderr。检查是否有杂散 console.log 调用自定义代码。
许可证
麻省理工学院