项目简介

Ableton Live Copilot MCP服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为音乐制作人提供与 Ableton Live 音乐制作软件进行实时交互和控制的桥梁。通过 MCP 协议,该服务器能够将 Ableton Live 的功能和上下文信息以标准化的方式提供给支持 MCP 协议的 LLM 客户端,例如 Cursor 编辑器、Cherry Studio 或 Claude Desktop 等,从而实现更智能化的音乐创作辅助。

主要功能点

  • 歌曲信息查询与控制:获取歌曲的基本信息(如速度、调性、拍号等),控制歌曲的播放、停止、录制等。
  • 音轨管理:创建、删除、复制音轨,获取音轨列表,设置音轨属性(如静音、独奏、颜色、名称等)。
  • 剪辑片段操作:获取音轨中的剪辑片段,创建空的 MIDI 剪辑片段,设置剪辑片段属性(如名称、颜色、循环模式等),对 MIDI 剪辑片段中的音符进行增删改查等操作。
  • 音频操作:支持根据时间范围录制音轨内容。

安装步骤

  1. 安装 Node.js: 确保你的电脑上已安装 Node.js,并可以使用 'npx' 命令。建议安装 Node.js 的最新稳定版本。
  2. 安装 Ableton Live MIDI Remote Scripts: 按照 ableton-js 项目的说明,将 AbletonJS MIDI Remote Scripts 安装到你的 Ableton Live 软件中。这是服务器能够与 Ableton Live 通信的基础。

服务器配置

为了让 MCP 客户端(如 Cursor)连接到 Ableton Live Copilot MCP 服务器,你需要在客户端中配置服务器的启动命令和参数。以下是一个 Cursor 编辑器的配置示例,其他 MCP 客户端的配置方式类似:

"ableton-js-mcp": {
    "command": "npx", // 启动服务器的命令,这里使用 npx 来运行本地安装的 ableton-copilot-mcp
    "args": [
        "-y", // (可选) 一些 npx 的参数,例如 -y 表示自动确认
        "ableton-copilot-mcp" //  要执行的 npm 包名,即 ableton-copilot-mcp,这个包会在你的项目或全局 node_modules 中查找
    ]
}

配置参数说明:

  • server name: 'ableton-js-mcp' (服务器名称,可以自定义,在客户端中用于标识和选择该服务器)
  • command: 'npx' (Node.js 包执行器,用于运行 Node.js 项目)
  • args:
    • '-y' (可选): 'npx' 的参数,'-y' 通常用于跳过安装包时的确认提示。
    • 'ableton-copilot-mcp': 要执行的 npm 包名称,即当前仓库的项目名称。 'npx' 会在本地 'node_modules' 或全局环境中查找并执行这个包。

注意: 请确保你的 MCP 客户端支持配置 'command' 和 'args' 类型的服务器。

基本使用方法

  1. 启动 Ableton Live: 确保你的 Ableton Live 软件已经启动并正在运行。
  2. 启用 AbletonJS 控制面板: 在 Ableton Live 的设置中,启用 AbletonJS Control Surface。
    • 路径: 'Settings -> Link, Tempo & MIDI -> MIDI -> Control Surface'
    • 选择 'AbletonJS' 作为控制面板。
  3. 配置并连接 MCP 客户端: 在你的 MCP 客户端(例如 Cursor 编辑器)中,根据上述“服务器配置”部分的信息,配置 'ableton-js-mcp' 服务器。配置完成后,客户端应该能够连接到 Ableton Live Copilot MCP 服务器。
  4. 使用 LLM 客户端与 Ableton Live 互动: 连接成功后,你就可以在 LLM 客户端中使用自然语言指令,通过 MCP 服务器控制 Ableton Live,例如:
    • "创建一个新的 MIDI 音轨"
    • "将当前选中的剪辑片段的音调提高两个半音"
    • "获取当前歌曲的速度"

具体能使用的指令取决于该 MCP 服务器实现的工具 (Tools),请参考仓库代码中的 'src/tools' 目录下的文件,例如 'clip-tools.ts', 'song-tools.ts', 'track-tools.ts',这些文件定义了服务器提供的各种工具功能。

信息

分类

桌面与硬件