返回市场
mcp-koii

mcp-koii

作者:benjaminr10 星标更新:2025-04-15

项目介绍

MCP 接口用于 Teenage Engineering EP-133 K.O. II

<img src="./mcp.jpg" width="318"><img src="./koii.jpg" width="200">

本项目是一个 Model Context Protocol (MCP) 服务器,通过 MIDI 控制 Teenage Engineering EP-133 K.O. II 采样器。

功能

  • 通过 MIDI 连接您的 EP-133 K.O. II 设备
  • 通过文本命令播放音符和模式
  • 查看默认垫配置以了解声音映射
  • 使用简单的基于文本的语法创建和播放鼓模式
  • 支持多种乐器参考方法(垫标签、MIDI 音符、乐器名称、声音名称)
  • 在鼓模式中同时播放多个乐器
  • 通过 MCP 与 Claude 集成

安装

前提条件

  • Python 3.8 或更高版本
  • mido(MIDI 处理)
  • mcp(Model Context Protocol SDK)

快速安装

# 安装所需包
pip install mido "mcp[cli]"

# 克隆仓库
git clone https://github.com/benjaminr/mcp-koii.git
cd mcp-koii

# 安装 MCP 服务器
mcp install koii_server.py:server -e .

使用 Claude Desktop

  1. 确保您的 EP-133 K.O. II 通过 USB 连接到计算机。

  2. 启动启用了 MCP 的 Claude Desktop。

  3. 通过向 Claude 提出自然语言问题来控制您的 EP-133 K.O. II,例如:

    • “列出可用的 MIDI 端口”
    • “连接到 EP-133 设备”
    • “播放 C 大调音阶”
    • “播放一个鼓模式,底鼓在第 1 和第 3 拍,军鼓在第 2 和第 4 拍,踩镲每 8 分音符一次”

开发模式运行

您可以在开发模式下运行 MCP 服务器以测试它而无需使用 Claude Desktop:

# 用检查器 UI 运行
mcp dev koii_server.py:server -e .

功能和命令

基本命令

  • 列出可用的 MIDI 端口:显示系统上所有可用的 MIDI 输出端口。
  • 连接到 MIDI 设备:通过名称或端口号连接到 EP-133 K.O. II。
  • 断开连接:关闭与当前 MIDI 设备的连接。

播放音符和模式

  • 播放单个音符:以指定的速度和持续时间播放单个音符。
  • 播放模式:播放带有时间信息的音符序列。
  • 播放鼓模式:播放基于文本的鼓模式。

声音浏览器

  • 列出声音类别:查看可用的声音类别(底鼓、军鼓等)。
  • 列出类别中的声音:浏览特定类别中的声音。
  • 获取默认垫配置:查看每个垫默认映射的声音。

MIDI 实现

EP-133 K.O. II 响应以下 MIDI 消息:

  • Note On/Off:触发垫上的声音(C2-B5,音符 36-83)

鼓模式语法

鼓模式系统支持四种不同的声音引用方式:

1. 使用垫引用:

x...x...x...x...  # A.
....x.......x...  # A2
x.x.x.x.x.x.x.x.  # A5

2. 使用 MIDI 音符编号:

x...x...x...x...  # 36
....x.......x...  # 40
x.x.x.x.x.x.x.x.  # 43

3. 使用声音名称:

x...x...x...x...  # "MICRO KICK"
....x.......x...  # "NT SNARE"
x.x.x.x.x.x.x.x.  # "NT HH CLOSED"

4. 混合引用:

x...x...x...x...  # A.       (垫引用)
....x.......x...  # 40       (MIDI 音符)
......x.........  # "NT RIDE" (声音名称)

模式格式

  • 每一行代表不同的乐器/声音
  • 'x' 或 'X' 表示强击(高力度)
  • 'o' 或 'O' 表示轻击(低力度)
  • '.' 表示无击
  • 每个位置表示一个 16 分音符
  • 注释后跟 '#' 指定要触发的声音,可以使用任何引用方法
  • 多个乐器可以同时触发,其击打重叠

故障排除

  • 未找到 MIDI 端口:确保您的 EP-133 K.O. II 已连接并开启电源。
  • 连接问题:尝试重新连接 USB 线缆或重启您的 EP-133。
  • 音符不播放:验证设备是否处于正确的 MIDI 模式。
  • 多个乐器不能同时播放:使用更高的 BPM 值,以确保 EP-133 K.O. II 能够在播放期间处理所有音符。
  • 未知乐器:使用精确的乐器名称、垫标签、MIDI 音符或带引号的声音名称。

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

致谢