使用说明
FL Studio钢琴卷MCP
MCP(模型上下文协议)服务器,使克劳德等人工智能助手能够与FL Studio的钢琴卷进行交互。通过与自然语言对话创建旋律、和弦进行和音乐模式 自动实时更新.
请点击此处查看播放列表: LLMs和FL工作室钢琴卷(MacOs版)
概述
与克劳德交谈,观看你的音乐创意立即出现在FL Studio中:
- 按名称或自定义音符生成和弦进行曲
- 创作旋律和低音线
- 修改现有MIDI音符
- 导出并分析钢琴的滚动状态
- 零人工干预 -笔记会自动出现,内置触发器!
平台支持
✅ macOS(主) -与osascript集成的全自动触发功能 ⚠️ Windows(次要) -部分实施,可能需要额外配置
先决条件
- macOS或Windows (macOS完全工作,Windows需要更多工作)
- 水果音乐制作软件 (任何支持Python脚本的最新版本)
- Python 3.11+ (由uv自动管理)
- MCP兼容客户端 (克劳德桌面、克劳德代码CLI或其他MCP客户端)
- 紫外线 (快速Python包管理器- 安装指南)
macOS辅助功能权限
自动触发器使用pynput向FL Studio发送击键。您必须为启用辅助功能访问 终端 (或您的终端应用程序)和 克劳德代码 (如果使用Claude Code CLI):
- 打开 系统设置 → 隐私和安全 → 无障碍
- 点击 + 添加应用程序的按钮
- 添加 终端 (或iTerm、Warp等)
- 添加 克劳德 (Claude Code CLI)如果您正在使用它
- 确保开关处于 启用 对于每个应用程序
没有这些权限,自动触发器无法将Cmd+Opt+Y按键发送到FL Studio。
安装
快速启动(3个命令)
git clone https://github.com/calvinw/fl-studio-mcp.git
cd fl-studio-mcp
./install_prerequisites.sh # Install uv and Python environment
./install_mcp_for_claude.sh # Register with Claude Code
然后重新启动Claude Code,您就可以开始了!
用法
快速入门(每节课)
第一步:开设FL工作室
- 开放式FL工作室
- 打开或创建钢琴卷
步骤2:初始化脚本
运行此脚本 一次 更新并准备使用LLM:
Tools → Scripting → ComposeWithLLM
这将设置钢琴滚动状态并清除请求队列(不显示对话框)。
第三步:与克劳德或你的法学硕士交谈
现在,只需与您的AI助手交谈:
- “添加一个C大调和弦”
- “在Am中创造悲伤的和弦进程”
- “添加低音线”
- “创作五声旋律”
备注将自动出现在FL Studio中!
重要提示
手动编辑后刷新状态
如果您在FL Studio中手动添加/编辑注释 在...之间 与克劳德交谈 您必须通过ComposeWithLLM脚本向Claude发送新的编辑。如果你 刚刚运行了这个,你可以通过击键来运行最后一个脚本:
- 按
Cmd+Opt+Y(macOS)或Ctrl+Alt+Y(Windows)刷新状态 - 那就和克劳德谈谈
这可以确保克劳德看到您的手动更改!
例子:
You: "Add C major chord"
[Claude adds it automatically ✅]
[You manually add a melody 🎹]
[Press Cmd+Opt+Y to refresh state 🔄]
You: "Add a bass line"
[Claude sees the chord AND melody ✅]
请求示例
- “在C专业创造I-IV-V-I的进步”
- “在这些和弦上加上五声旋律”
- “在每个和弦的根部添加一个低音音符”
- “将G音符改为A”
- “清除一切,创造爵士乐的进步”
- “从第4拍开始加一些琶音”
可用工具
您的AI助手可以访问这些MCP工具:
get_piano_roll_state()-读取当前钢琴滚动状态send_notes(notes, mode)-添加或替换音符(和弦只是同时存在的多个音符)delete_notes(notes)-删除特定注释clear_queue()-丢弃待处理的请求
看 CLAUDE.md 有关AI助手如何使用这些工具的详细文档。
建筑
┌─────────┐ ┌────────────┐ ┌──────────────┐
│ Claude │────────▶│ MCP Server │────────▶│ Request Queue│
└─────────┘ └────────────┘ │ (JSON file) │
└──────┬───────┘
│
▼
MCP Server
Sends Trigger
(Cmd+Opt+Y / Ctrl+Alt+Y)
│
▼
┌─────────────┐ ┌─────────────────────────────────┐
│ Piano Roll │◀────────│ FL Studio Bridge Script │
└─────────────┘ │ (re-runs, applies changes) │
└─────────────────────────────────┘
│
▼
┌─────────────┐
│ Piano Roll |
| State Export│
│ (JSON file) │
└─────────────┘
- AI助手通过MCP工具发送音乐请求
- MCP服务器将请求写入JSON队列
- MCP服务器发送触发器,延迟2秒
- FL Studio重新运行ComposeWithLLM脚本
- 脚本处理队列并应用更改
- 延迟后音符出现在钢琴卷轴中
- 状态输出给克劳德看
故障排除
脚本未出现在FL Studio中
问题: 桥接脚本未显示在“工具”菜单中
解决:
- 重新运行安装脚本:
./install_prerequisites.sh - 确保文件具有
.pyscript扩展 - 重新启动FL工作室
- 检查FL Studio版本是否支持Python脚本
更改未显示
问题: 已发送请求,但无任何反应
解决:
- 验证您是否已运行
ComposeWithLLM曾经在FL工作室 - 确保FL Studio窗口处于活动状态
- 尝试手动按Cmd+Opt+Y(macOS)或Ctrl+Alt+Y(Windows)触发
- 检查一下克劳德是否 可访问权限 (系统设置→ 隐私和安全→ 可访问性)
触发器不工作
问题: 发送后备注不显示
解决:
- 重新启动Claude Code以重新连接MCP服务器
- 跑
ComposeWithLLM再次来到FL工作室 - 确保已安装依赖项:
uv sync - 检查终端/Claude是否 可访问权限 (系统设置→ 隐私和安全→ 可访问性)
MCP服务器未连接
问题: AI助手没有FL Studio工具
解决:
- 重新启动MCP客户端(克劳德桌面/代码)
- 验证配置文件是否具有正确的路径
fl_studio_mcp_server.py - 确保安装了依赖项:
uv sync - 检查虚拟环境是否在中创建
.venv/
错误位置的注释
问题: 注释出现的时间不正确
解决:
- 时间值应在季度注释中,而不是刻度中
time=0被击败1,time=4打5分(4/4中2分)- 检查状态导出中的PPQ值以供参考
权限错误
问题: 无法写入JSON文件
解决:
- 确保FL Studio脚本目录存在
- 检查文件权限(应为读/写)
- 在Windows上,可能需要以管理员身份运行FL Studio
文件位置
FL Studio脚本目录:
~/Documents/Image-Line/FL Studio/Settings/Piano roll scripts/
├── ComposeWithLLM.pyscript (bridge script - auto mode)
├── mcp_request.json (request queue)
├── mcp_response.json (execution results)
└── piano_roll_state.json (exported piano roll state)
源存储库:
/path/to/fl-studio-mcp/
├── ComposeWithLLM.pyscript (source bridge script)
├── fl_studio_mcp_server.py (MCP server with built-in trigger)
├── install_prerequisites.sh (install uv & Python environment and piano roll script)
├── install_mcp_for_claude.sh (MCP for Claude Code)
├── install_mcp_for_gemini.sh (MCP for Gemini CLI)
├── install_mcp_for_codex.sh (MCP for Codex)
├── CLAUDE.md (AI assistant documentation)
└── README.md (this file)
发展
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 提交拉取请求
许可证
MIT许可证-您可以自由使用和修改您的项目。
支持
对于问题、疑问或功能请求,请在GitHub上打开问题。
致谢
使用 模型上下文协议 规范。
特别感谢FL Studio和Python社区。