🎸 MIDI吉他踏板MCP服务器
   
一个强大的 模型上下文协议(MCP)服务器 它将AI助手与MIDI吉他踏板连接起来。通过任何兼容MCP的AI助手,使用自然语言控制您的吉他效果!
🚀 这是什么?
MIDI MCP 允许您使用自然语言控制吉他踏板:
- 你说: *“让我的延迟听起来更亮”*
- AI助手:解释和生成
MidiCommand(channel=1, cc=5, value=100) - MCP服务器:执行命令→ Sends
B0 05 64到你的踏板上 - 你的踏板:滤波器频率增加,延迟声音更亮! 🎵
✨ 特性
- 🎛️ 持续的踏板知识 -存储任何吉他踏板的MIDI CC映射
- 🤖 AI助手集成 -适用于Claude、ChatGPT或任何兼容MCP的AI
- 🎵 真实MIDI输出 -将实际的MIDI命令发送到硬件
- 📦 预加载踏板 -包括Meris LVX延迟、Mercury X混响、Enzo X合成器、Neural DSP Quad Cortex和带有完整MIDI CC表的Eventide H90口琴
- 🎛️ 预设创建 -通过自然语言描述中按顺序发送的多个MIDI CC命令创建完整的预设
- 🧪 经过全面测试 -25个重点测试,涵盖实际功能
- ⚡ 清洁建筑 -AI智能与MIDI执行的分离
🏗️ 建筑
┌─────────────┐ Pedal Config Query ┌─────────────┐ MIDI Commands ┌─────────────┐
│ │ ────────────────────── │ │ ─────────────────── │ │
│ AI Assistant│ get_pedal("lvx") │ MCP Server │ B0 05 64 (bytes) │ Guitar Pedal│
│ │ ◄───────────────────── │ │ ◄────────────────── │ │
└─────────────┘ CC Mappings └─────────────┘ MIDI Response └─────────────┘
│ ▲
└─ "make it brighter" → CC5=100 ─────────┘MCP服务器 显示踏板配置并执行MIDI。 AI助手 使用暴露的知识将自然语言翻译成MIDI。
🚀 快速开始
先决条件
- Java 8+
- Maven 3.6+
- MIDI接口(用于真实踏板)或使用模拟模式进行测试
1.克隆和构建
git clone https://github.com/guyko/midimcp.git
cd midimcp
mvn compile2.运行MCP服务器
mvn exec:java
# or
./run-server.sh3.连接您的AI助手
Claude桌面集成
第一步:构建项目
cd /path/to/midimcp
mvn compile步骤2:配置Claude桌面 将此配置添加到您的Claude Desktop配置文件中:
位置: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"midi-guitar-pedals": {
"command": "/path/to/your/midimcp/start-mcp-wrapper.sh",
"args": []
}
}
}替换 /path/to/your/midimcp/ 使用您的实际项目目录路径。
步骤3:重新启动克劳德桌面 完全退出并重新启动Claude Desktop以使配置生效。
步骤4:测试连接 重新启动后,您应该看到“midi吉他踏板”服务器可用。你可以通过让克劳德来测试它:
- “列出可用的吉他踏板”
- “显示LVX延迟的参数”
- “执行MIDI命令以使延迟更亮”
其他与MCP兼容的AI助手
配置您的AI助手,使用适用于您平台的适当MCP客户端连接到MCP服务器。服务器提供以下工具:
execute_midi_command-发送单个MIDI CC命令execute_midi_commands-按顺序发送多个命令get_pedal-获取踏板信息和参数list_pedals-显示可用踏板add_pedal-添加新的踏板配置generate_h90_program-生成H90程序文件(.pgm90格式)以上传到Eventide H90send_sysex-将sysex数据直接发送到MIDI设备,以进行预设上传或自定义消息
🎵 示例用法
添加新踏板
{
"tool": "add_pedal",
"arguments": {
"manufacturer": "Strymon",
"modelName": "Timeline",
"parameters": [
{"name": "Mix", "ccNumber": 1, "description": "Wet/dry mix"},
{"name": "Time", "ccNumber": 2, "description": "Delay time"}
]
}
}执行MIDI命令
AI助手转换 *“让它更亮”* 进入:
{
"tool": "execute_midi_command",
"arguments": {
"pedalId": "meris_lvx",
"ccNumber": 5,
"value": 100,
"description": "Increase filter frequency for brightness"
}
}结果: B0 05 64 发送到踏板→ 过滤器打开→ 更明亮的延迟声音! ✨
复杂声音的批处理命令
AI助手翻译 *“给我一个老式的耳光”* 并发送:
{
"tool": "execute_midi_commands",
"arguments": {
"pedalId": "meris_lvx",
"commands": [
{"ccNumber": 0, "value": 1, "description": "Switch to Tape engine"},
{"ccNumber": 3, "value": 35, "description": "Short delay time"},
{"ccNumber": 4, "value": 20, "description": "Low feedback"},
{"ccNumber": 1, "value": 30, "description": "Balanced mix"}
]
}
}Mercury X混响控制
AI助手翻译 *“创造一个郁郁葱葱的大教堂混响”* 并发送:
{
"tool": "execute_midi_commands",
"arguments": {
"pedalId": "meris_mercury_x",
"commands": [
{"ccNumber": 32, "value": 25, "description": "Select Cathedra reverb structure"},
{"ccNumber": 33, "value": 100, "description": "Long decay time"},
{"ccNumber": 1, "value": 75, "description": "High wet mix"},
{"ccNumber": 15, "value": 40, "description": "Medium predelay time"}
]
}
}Enzo X合成器控制
AI助手翻译 *“制作一个温暖的聚乙烯垫”* 并发送:
{
"tool": "execute_midi_commands",
"arguments": {
"pedalId": "meris_enzo_x",
"commands": [
{"ccNumber": 22, "value": 40, "description": "Switch to Poly Synth mode"},
{"ccNumber": 24, "value": 64, "description": "OSC1 triangle wave"},
{"ccNumber": 39, "value": 80, "description": "Filter frequency for warmth"},
{"ccNumber": 55, "value": 90, "description": "Slow amplitude attack"}
]
}
}四核场景控制
AI助手翻译 *“切换到干净场景并启用混响”* 并发送:
{
"tool": "execute_midi_commands",
"arguments": {
"pedalId": "neural_dsp_quad_cortex",
"commands": [
{"ccNumber": 43, "value": 1, "description": "Switch to Scene B"},
{"ccNumber": 36, "value": 127, "description": "Enable footswitch B (reverb)"},
{"ccNumber": 47, "value": 1, "description": "Switch to Scene mode"}
]
}
}通过CC命令创建预设
通过按顺序发送多个MIDI CC命令来创建完整的踏板预设。AI助手解释自然语言描述,并通过发送有针对性的CC命令序列来创建预设,这些命令序列配置了踏板声音的各个方面。
预设创建的工作原理
- AI查询踏板功能 通过
get_pedal了解可用的CC参数 - AI解读自然语言 比如“温暖的复古闹剧延迟”
- AI发送多个CC命令 通过
execute_midi_commands配置预设 - 用户实时听到变化 当每个CC命令调整踏板参数时
- 用户在踏板上保存预设值 当对声音感到满意时
LVX延迟预设创建
AI助手翻译 *“创造一个温暖的复古闹剧延迟”* 并发送:
{
"tool": "execute_midi_commands",
"arguments": {
"pedalId": "meris_lvx",
"commands": [
{"ccNumber": 16, "value": 86, "description": "Switch to Tape delay engine"},
{"ccNumber": 1, "value": 85, "description": "High wet mix signal"},
{"ccNumber": 15, "value": 35, "description": "Short slapback timing"},
{"ccNumber": 19, "value": 25, "description": "Low feedback for single repeat"},
{"ccNumber": 21, "value": 15, "description": "Subtle tape warble modulation"},
{"ccNumber": 80, "value": 75, "description": "Warm/dark filter tone"},
{"ccNumber": 62, "value": 16, "description": "Light dynamics compression"}
]
}
}结果:踏板实时配置!用户可以在踏板上调整并保存预设值。 🎛️
Mercury X混响预设创建
AI助手翻译 *“用温暖的预演创造一个大教堂的混响”* 并发送:
{
"tool": "execute_midi_commands",
"arguments": {
"pedalId": "meris_mercury_x",
"commands": [
{"ccNumber": 5, "value": 1, "description": "Select Cathedra reverb structure"},
{"ccNumber": 1, "value": 90, "description": "High wet mix signal"},
{"ccNumber": 11, "value": 95, "description": "Very long decay time"},
{"ccNumber": 12, "value": 45, "description": "Medium room size predelay"},
{"ccNumber": 13, "value": 40, "description": "Noticeable predelay separation"},
{"ccNumber": 25, "value": 2, "description": "Warm tube preamp type"},
{"ccNumber": 31, "value": 1, "description": "High cut filter for warmth"},
{"ccNumber": 33, "value": 85, "description": "Remove harsh frequencies"}
]
}
}Enzo X合成器预设创建
AI助手翻译 *“创建一个具有慢速攻击的经典poly合成板”* 并发送:
{
"tool": "execute_midi_commands",
"arguments": {
"pedalId": "meris_enzo_x",
"commands": [
{"ccNumber": 5, "value": 1, "description": "Select Poly Synth mode"},
{"ccNumber": 1, "value": 75, "description": "Balanced mix level"},
{"ccNumber": 11, "value": 1, "description": "Sawtooth oscillator 1"},
{"ccNumber": 17, "value": 2, "description": "Triangle oscillator 2"},
{"ccNumber": 24, "value": 70, "description": "Medium filter brightness"},
{"ccNumber": 25, "value": 20, "description": "Subtle filter resonance"},
{"ccNumber": 29, "value": 80, "description": "Slow amplitude attack"},
{"ccNumber": 31, "value": 85, "description": "High sustain level"},
{"ccNumber": 32, "value": 60, "description": "Medium release time"}
]
}
}益处:实时预设创建,即时音频反馈!用户可以听到每个参数的变化,并在保存前进行微调。 🎵
H90谐波程序创建
对于H90,程序创建的工作方式不同——它生成可下载的.pgm90文件:
{
"name": "generate_h90_program",
"arguments": {
"name": "Ethereal Pad",
"algorithmA": {
"algorithmNumber": 60,
"parameters": {
"mix": "0.8",
"size": "0.9",
"decay": "0.85"
}
},
"algorithmB": {
"algorithmNumber": 37,
"parameters": {
"intensity": "0.6",
"depth": "0.4",
"speed": "0.3"
}
},
"routing": {
"mode": "PARALLEL"
}
}
}H90差异:创建二进制.pgm90文件用于上传,而不是实时MIDI控制,与H90基于程序的架构相匹配。 📁
🎛️ 包括踏板
Meris LVX延迟(预加载-MIDI通道2)
完整的MIDI CC表,包括:
- 引擎选择 (复古、磁带、数字、扫频、反转、音高)
- 全球控制 (混合、水平、时间、反馈)
- 过滤 (过滤器,低切)
- 调制 (速率、深度)
- 立体声 (宽度,乒乓球)
- 高级 (扩散、涂抹、驱动)
Meris Mercury X混响器(预装MIDI通道1)
完整的MIDI CC表,包括:
- 8混响结构 (Ultraplate,Cathedra,弹簧,78室/板/厅,棱镜,重力)
- 预置系统 (时间、反馈、交叉反馈、调制、阻尼、干混)
- 处理单元 (动力学、前置放大器、滤波器、音调、调制)
- 灵活的路由 (预处理+干燥、预处理、反馈、预储罐、岗位位置)
- 表达调控 (6个可分配的表达式踏板映射)
- 高级功能 (门控、保持修改器、调谐器、MIDI时钟同步)
Meris Enzo X合成器(预装MIDI通道3)
完整的MIDI CC表,包括:
- 5种合成模式 (单体合成、多体合成、Arp合成、干单体、干多体)
- 双振荡器 (独立波形、间距偏移、失谐、交叉调制)
- 高级过滤器 (梯形,状态变量,双通道,带噪声注入)
- ADSR信封 (带全ADSR控制的滤波器和振幅包络)
- 处理单元 (驱动、环境、具有灵活路由的调制)
- 调制效果 (合唱、侧翼、颤音、相位器、环形模式)
- MIDI音符控制 (全合成音MIDI键盘支持,后触控)
神经DSP四核(预加载-MIDI通道4)
完整的MIDI CC表,包括:
- 6个DSP内核 (最强大的地板建模器,4仪器处理)
- 神经捕获技术 (捕捉真实的电流和效果)
- 多种模式 (预设、场景、Stomp、混合模式)
- 8个脚踏开关 (A-H具有单独的启用/旁路控制)
- 高级Looper X (最多4分钟,输入/输出,反转,量化)
- 表达调控 (2个带MIDI CC分配的表情踏板)
- 项目群管理 (场景选择、节奏控制、调谐器、演出视图)
Eventide H90口琴(预装MIDI通道8)
完整的MIDI CC表和独特的程序生成:
- 70+算法 9个类别(延迟、失真、均衡、谐波、环路、调制、多路、混响、合成、实用)
- 双算法引擎 (同时运行两个算法,独立控制)
- 程序文件生成 (创建.pgm90文件,通过上传到H90
generate_h90_program工具) - 高级路由 (A系列→B、 B系列→A、 平行、串联与交叉)
- 表达调控 (具有多个映射选项的可分配表达式踏板)
- 实时控制 (算法切换、参数控制、旁路、混合水平)
- 传奇事件特效 (H910/H949音高移位器、黑洞混响、UltraTap延迟、晶体和声器)
🎵 现实世界示例:微观风格LVX预设
用户请求: *“我想让你把我的LVX编程成Microcosm踏板!”*
AI助手回应: AI解释这个复杂的音乐请求,并通过以下方式创建一个完整的预设:
- 查询踏板功能 -从MCP服务器获取LVX参数映射
- 翻译音乐概念 -“微观世界风格”→ 特定LVX参数
- 执行批处理命令 -按顺序发送多个MIDI CC命令
- 实时结果 -用户听到预设正在构建,满意后保存
技术实施:
- 多延迟结构 用于粒度风格处理(如Microcosm的多语音方法)
- BBD发动机 模拟温暖和个性
- ~600ms延迟时间 用于环境纹理
- 粒度调制 特征颗粒效应的反馈环路
- 复杂的节奏计时 (左=三分之一,右=虚线八分之一)
- 多色调距 + 状态变量滤波器 为了性格
- 78%湿混合物 适用于环境、质感强烈的声音
你所听到的: ✨ 颗粒结构和颗粒类似于微观世界\ 🎵 温暖的模拟风格重复,音调微妙变化\ 🔊 具有交叉反馈的复杂立体声场\ 🌊 过滤后的环境特征非常适合垫子和纹理
这展示了该系统解释抽象音乐概念并将其转化为精确硬件控制的能力!
🧪 测试
运行综合测试套件:
mvn test25项重点测试 涵盖:
- ✅ MIDI字节生成和验证
- ✅ 使用模拟硬件执行命令
- ✅ 端到端AI助手→ MCP服务器→ 踏板工作流程
- ✅ 错误处理和故障场景
- ✅ 批处理命令协调
测试示例
// AI generates command → MCP executes → Verifies MIDI bytes
testAIAssistantRequestsBrighterSound()
// Expected: B0 05 64 sent to hardware
// Multiple commands for complex sounds
testAIAssistantRequestsSlapbackDelay()
// Expected: B0 03 23, B0 04 14, B0 01 1E sequence🔧 发展
项目结构
src/main/java/com/guyko/
├── models/ # Data models (PedalModel, MidiCommand, CCParameter)
├── midi/ # MIDI execution layer (executors, results)
├── persistence/ # JSON-based pedal storage
├── mcp/ # MCP server implementation
└── pedals/ # Pre-configured pedal definitions添加新踏板
- 使用CC映射创建参数定义
- 使用
PedalRepository保存配置 - 测试用
MockMidiExecutor硬件之前
建筑原理
- AI助手:自然语言→ MIDI命令(外部)
- MCP服务器:命令验证→ 硬件执行(本项目)
- 清洁分离:MCP服务器中没有NLP,AI中没有硬件细节
🤝 贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-pedal) - 添加您的踏板配置或改进
- 为新功能编写测试
- 提交更改(
git commit -m 'Add Amazing Pedal support') - 推送到分支(
git push origin feature/amazing-pedal) - 打开拉取请求
开发设置
# Clone and build
git clone https://github.com/guyko/midimcp.git
cd midimcp
mvn compile
# Run tests
mvn test
# Start development server
mvn exec:java📋 路线图
- \[ \] 更多踏板 -添加流行的延迟、混响、超速踏板
- \[ \] MIDI学习 -从踏板自动发现CC映射
- \[ \] 预设管理 -保存/调用完整的踏板设置
- \[ \] 实时监控 -实时MIDI流量可视化
- \[ \] 插件支持 -通过MIDI控制VST/AU插件
- \[ \] web界面 -基于浏览器的踏板控制仪表板
❓ 常见问题解答
Q: 这适用于任何MIDI踏板吗?\ A: 是的!使用添加踏板的CC映射 add_pedal 工具。
Q: 支持哪些AI助手?\ A: 任何兼容MCP的助手(Claude、带MCP的ChatGPT等)
Q: 我可以在没有真正的MIDI硬件的情况下使用它吗?\ A: 是的!使用 MockMidiExecutor 用于测试和开发。
Q: 如何添加踏板?\ A: 查看中的Meris LVX示例 MerisLVXLoader.kt 并创建类似的映射。
📄 许可证
此项目根据Apache许可证2.0获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
______________________________________________________________________
🎸 用AI控制的吉他效果摇滚吧! 🤖
