项目简介
Reaper MCP 是一个专门为 REAPER 数字音频工作站(DAW)设计的 Model Context Protocol (MCP) 服务器。它允许 AI 代理或其他 MCP 客户端通过标准化的 JSON-RPC 接口与 REAPER 进行交互,执行音乐制作相关的任务,如创建项目、管理音轨、编辑 MIDI 和音频、应用效果器、进行混音和母带处理等。
主要功能点
- 项目管理: 创建、保存、加载 REAPER 项目。
- 音轨操作: 添加、列出、获取音轨信息,设置音轨参数(音量、声像、静音、独奏)。
- MIDI 编辑: 创建 MIDI 项目,添加 MIDI 音符,生成和弦进行和鼓点模式(依赖 ReaPy 或 OSC 接口,某些高级功能如直接添加音符在 OSC 模式下可能受限)。
- 音频处理: 导入音频文件,启动/停止音频录制(启动功能已实现,停止功能需调用对应工具)。
- 效果器与插件: 向音轨添加 VST 乐器或效果器,设置插件参数,加载预设。
- 混音: 添加自动化点,创建发送、总线,应用均衡器预设。
- 母带处理: 应用母带处理链、限制器,分析响度(部分分析和渲染功能为占位符实现,需进一步开发)。
- 渲染导出: 渲染整个项目、音轨分轨或选定项目(目前为占位符实现)。
- 音频分析: 分析频率频谱、检测削波、分析混音平衡、立体声场、动态和瞬态(目前为占位符实现)。
- 多种通信模式: 支持基于 ReaScript Python API (ReaPy) 或 OSC 协议与 REAPER 通信。
- 多种传输协议: 支持通过标准输入输出 (stdio) 或 HTTP 协议进行 MCP 通信。
安装步骤
- 安装 Python 3: 确保您的系统安装了 Python 3.6 或更高版本。
- 安装 REAPER: 从 REAPER 官网 下载并安装 REAPER。
- 配置 REAPER API:
- ReaScript/ReaPy 模式: 需要在 REAPER 中启用 ReaScript API 的远程控制功能。可以运行仓库中 'scripts/enable_reapy.py' 或 'scripts/setup_reaper_python.py' 脚本来辅助配置,或者手动在 REAPER 设置中启用。
- OSC 模式: 需要在 REAPER 中设置 OSC 控制。可以运行仓库中 'scripts/setup_reaper_osc.py' 脚本来辅助生成 OSC 配置,或者手动在 REAPER 的 Control Surfaces 设置中添加 OSC 控制,配置监听端口(例如 8000)和发送端口(例如 9000)。请确保 IP 地址正确。
- 下载 Reaper MCP 仓库: 从 GitHub 克隆或下载本仓库的代码。
git clone https://github.com/hamzabels85/reaper-mcp.git cd reaper-mcp - 安装 Python 依赖: 安装所需的 Python 库,包括 'reapy'(如果使用 ReaScript 模式)、'python-osc'(如果使用 OSC 模式)以及 'fastmcp'。建议使用虚拟环境。
pip install -r requirements.txt # 假设存在requirements.txt,否则需要根据代码手动安装 reapy, python-osc, fastmcp # 如果没有requirements.txt,手动安装 pip install reapy python-osc fastmcp - 启动 REAPER: 在运行服务器之前,请确保 REAPER 已经启动并正常运行。
服务器配置
MCP 客户端需要知道如何启动 Reaper MCP 服务器。以下是 MCP 客户端通常需要的服务器启动配置信息及其参数说明(JSON 格式,仅作说明,非实际代码):
{ "name": "您为该服务器连接起的名字", "command": "python", "args": [ "-m", "reaper_mcp", "--mode", "<服务器模式>", "--transport", "<传输协议>", "--host", "<REAPER所在IP>", "--send-port", "<REAPER监听端口>", "--receive-port", "<服务器监听端口>", "--http-port", "<HTTP传输端口>", "--debug" ] }
- 'name': 在客户端中用于标识此服务器连接的名称。
- 'command': 启动服务器进程的命令,通常是 'python'。
- 'args': 传递给 'command' 的参数列表。这是一个字符串数组。
- '-m reaper_mcp': 告诉 python 运行 reaper_mcp 模块。
- '--mode': 指定服务器与 REAPER 的通信模式,可以是 'reapy' (使用 ReaScript API) 或 'osc' (使用 OSC 协议)。默认通常是 'osc'。选择哪种模式取决于您的 REAPER 配置和需求。
- '--transport': 指定 MCP 协议的传输协议,可以是 'stdio' (标准输入输出) 或 'http'。默认通常是 'stdio'。
- '--host' (OSC 模式): REAPER 运行所在的计算机的 IP 地址。默认为 '127.0.0.1'。
- '--send-port' (OSC 模式): REAPER 配置监听传入 OSC 消息的 UDP 端口。默认为 '8000'。
- '--receive-port' (OSC 模式): 服务器监听 REAPER 发送响应的 UDP 端口。默认为 '9000'。
- '--http-port' (HTTP 传输模式): 如果 '--transport' 设置为 'http',服务器监听的 TCP 端口。默认为 '8080'。
- '--debug' (可选): 开启调试日志输出。
示例配置 (Stdio + ReaPy 模式): 服务器名称:Reaper MCP ReaPy 命令:'python' 参数:'["-m", "reaper_mcp", "--mode", "reapy", "--transport", "stdio"]'
示例配置 (Stdio + OSC 模式): 服务器名称:Reaper MCP OSC 命令:'python' 参数:'["-m", "reaper_mcp", "--mode", "osc", "--transport", "stdio", "--host", "127.0.0.1", "--send-port", "8000", "--receive-port", "9000"]'
示例配置 (HTTP + ReaPy 模式): 服务器名称:Reaper MCP HTTP 命令:'python' 参数:'["-m", "reaper_mcp", "--mode", "reapy", "--transport", "http", "--http-port", "8080"]'
MCP 客户端将使用这些信息来启动 Reaper MCP 服务器进程并建立连接。
基本使用方法
- 启动 REAPER。
- 启动 Reaper MCP 服务器: 您可以手动运行主脚本(例如,在终端中导航到仓库目录并执行 'python -m reaper_mcp --mode reapy --transport stdio' 或根据上述配置选择参数),或者配置您的 MCP 客户端来启动服务器进程。
- 连接 MCP 客户端: 使用您的 MCP 客户端连接到运行中的 Reaper MCP 服务器(通过配置的传输协议和地址/端口)。
- 调用工具: 客户端可以通过 MCP 协议调用服务器暴露的工具函数,例如:
- 调用 'create_project' 工具创建一个新项目。
- 调用 'create_track' 工具添加音轨。
- 调用 'list_tracks' 工具获取当前项目中的所有音轨列表。
- 调用 'add_midi_note' 或 'create_drum_pattern' 等工具来创建音乐内容。
- 调用 'render_project' 工具渲染最终音频(请注意,部分渲染和分析工具目前是占位符实现)。
请参考您的 MCP 客户端文档,了解如何配置服务器以及如何发现和调用服务器提供的工具。
信息
分类
桌面与硬件