mcpField
A
ableton-copilot-mcp

ableton-copilot-mcp

本地服务
github.com/xiaolaa2媒体与设计9313 周前更新

关于 ableton-copilot-mcp

ableton-copilot-mcp 是基于 ableton-js 构建的 MCP 服务,允许 AI 助手实时控制 Ableton Live 的编排视图,包括歌曲、轨道、MIDI 编辑和音频录制。适合希望用 AI 处理重复性制作操作的音乐制作人。项目为第三方集成,并非 Ableton 官方开发。

主要功能

  1. 01读取歌曲信息与轨道列表
  2. 02创建、复制和删除轨道
  3. 03MIDI 音符的添加、删除与替换
  4. 04设备加载与参数修改
  5. 05操作历史记录与部分音符回滚

适用场景

  1. 01批量处理 MIDI 音符,如humanize 或合并音符
  2. 02将某一轨道内容录制到音频轨道
  3. 03通过 AI 辅助调整轨道属性与设备参数

MCP 相关

该项目是 MCP 服务,通过 ableton-js 向 MCP 客户端暴露控制 Ableton Live 歌曲、轨道、剪辑和设备的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ableton-copilot": {
"command": "npx",
"args": [
"-y",
"@xiaolaa2/ableton-copilot-mcp"
]
}
}
}
启动命令npx -y @xiaolaa2/ableton-copilot-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@xiaolaa2/ableton-copilot-mcp

工具

35

收录的工具列表 · 更新于 3 周前

参数类型必填说明
typeenum是[string] 资源类型audio_effects | instruments | plugins | samples | drums | midi_effects | sounds

详细介绍

ableton-copilot-mcp

Ableton Live 版本 Node.js 版本 TypeScript 版本 许可证

基于 ableton-js 构建的 MCP(模型上下文协议)服务,可实时与 Ableton Live 的 Arrangement View 交互并对其进行控制,旨在协助音乐制作人进行音乐创作。

🎯 说明

作为一名音乐制作人,我对使用 Ableton 进行音乐创作有一定了解。在创作过程中,我们经常需要处理各种繁琐的操作,例如让音符属性更自然、合并音符、将一个轨道录制到另一个音频轨道等。过去,我们只能依靠宿主 DAW 提供的功能来完成这些操作。然而,随着大模型和 MCP 的出现,我们现在可以让 AI 协助实现自动化。虽然目前让 AI 直接生成音符或创作完整歌曲(它无法创作出好听的歌曲)仍不现实,但让 AI 协助我们完成辅助操作带来了新的可能性。

🎥 演示

这是一个 MIDI 操作的简单演示视频。

https://github.com/user-attachments/assets/8d635c4c-a1f2-44be-93ae-062038d14c71

🚀 功能

🎵 歌曲控制
  • 获取歌曲基本信息(根音、调式名称、速度、歌曲长度等)
  • 获取所有轨道的列表
  • 创建 MIDI、音频和 Return 轨道
  • 删除和复制轨道
🎹 轨道管理
  • 获取轨道中的所有片段
  • 在编曲视图轨道中创建空 MIDI 片段
  • 根据提供的采样文件路径在轨道中创建音频片段
  • 设置轨道属性(静音、颜色、名称、录音准备、独奏等)
  • 将 MIDI 片段复制到指定轨道
🎼 片段操作
  • 获取钢琴卷帘视图中的片段
  • 获取和管理片段中的所有音符
  • 在片段中添加、删除和替换音符
  • 设置片段属性(名称、颜色、循环、loop_start、loop_end 等)
🎧 音频操作
  • 支持根据时间范围录制轨道内容
🔌 设备管理
  • 加载音频效果器、乐器和插件
  • 修改设备参数
  • 浏览库中的可用设备
📝 状态管理
  • 跟踪操作历史并记录详细日志
  • 支持回滚操作(目前仅支持音符操作)
  • 浏览并恢复先前的状态

📝 待办事项

  • 支持自动调整包络
  • 支持更多快照类型(轨道属性、设备参数等)

⚠️ 警告

  • AI 直接操作 MIDI 片段可能会导致原有音符丢失,且无法通过 Ctrl + Z 撤销。请谨慎操作。如有需要,可以让 AI 协助回滚音符操作。

📥 安装

先决条件
  • Node.js 环境:确保已安装 Node.js(建议使用 v20+),并且可以使用 npx 命令

    🔗 下载:Node.js 官方网站

安装步骤
1. 安装 AbletonJS MIDI Remote Scripts

选择以下三种方法中的一种来安装 MIDI Remote Scripts:

  • 方法 1:一行命令安装(推荐)

    npx @xiaolaa2/ableton-copilot-mcp --install-scripts
    # or use the short form
    npx @xiaolaa2/ableton-copilot-mcp -is
    
  • 方法 2:使用工具辅助安装

    1. 首先,启动 ableton-copilot-mcp(请参阅下方的使用方法部分)
    2. 让 AI 助手调用 MCP 工具 init_ableton_js,或手动调用该工具,以自动完成安装
  • 方法 3:手动安装

    1. 在 Ableton 用户库中创建名为 "Remote Scripts" 的文件夹:
      • Windows:C:\Users\[username]\Documents\Ableton\User Library\Remote Scripts
      • Mac:/Users/[username]/Music/Ableton/User Library/Remote Scripts
    2. 从 ableton-js 项目下载 MIDI Remote Scripts
    3. 将下载的 midi-script 文件夹复制到上述位置
    4. 将其重命名为 AbletonJS

🔧 使用方法

快速开始
  1. 启动 Ableton Live

  2. 启用 AbletonJS 控制界面

    • 打开 Ableton Live 偏好设置:Preferences → Link/MIDI
    • 在 MIDI 选项卡中,找到 Control Surface 部分
    • 从下拉菜单中选择 AbletonJS
    Ableton Live MIDI Remote Scripts 配置

    图 1:在 Ableton Live 配置中启用 AbletonJS 控制界面

  3. 使用 MCP 客户端连接

    以下客户端可用作 MCP 端点:

客户端配置
Cursor 配置示例

将以下配置添加到 Cursor 设置中:

"ableton-js-mcp": {
    "command": "npx",
    "args": [
        "-y",
        "@xiaolaa2/ableton-copilot-mcp"
    ]
}

最新版本:

"ableton-js-mcp": {
    "command": "npx",
    "args": [
        "-y",
        "@xiaolaa2/ableton-copilot-mcp@latest"
    ]
}
自定义存储路径(可选)

可以使用 BASE_PATH 环境变量指定自定义数据存储位置:

"ableton-js-mcp": {
    "command": "npx",
    "args": [
        "-y",
        "@xiaolaa2/ableton-copilot-mcp"
    ],
    "env": {
        "BASE_PATH": "D:\\ableton_copilot_mcp"
    }
}

💡 提示:存储路径用于保存日志文件、操作历史记录和状态快照

✅ 兼容性测试

兼容性主要取决于 ableton-js 库支持的版本。

Ableton Live 版本测试状态
12.1.10✅ 已测试,可正常运行
11.x⚠️ 尚未测试
10.x⚠️ 尚未测试

🤝 参与贡献

欢迎提交问题和贡献。请通过 GitHub Issues 提交问题或建议。

📄 许可证

本项目采用 MIT License 许可。

⚠️ 免责声明

这是第三方集成,并非由 Ableton 制作。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。