MCP MIDI Server

MCP MIDI Server

site icon
2025.04.16 2
Python音乐制作MIDI 控制娱乐功能
MCP MIDI Server 是一个 FastMCP 服务,允许 LLM 向任何支持 MIDI 输入的软件发送 MIDI 序列。它通过创建虚拟 MIDI 输出端口,支持发送 MIDI Note On/Off 消息、Control Change (CC) 消息,并能够以精确的时间序列发送 MIDI 事件。该服务器可以作为 MIDI 输入设备用于任何支持 MIDI 的应用程序,如数字音频工作站(DAW)、硬件合成器或其他虚拟乐器。
View on GitHub

Overview

基本能力

产品定位

MCP MIDI Server 是一个专为音乐制作和 MIDI 控制设计的服务,允许用户通过 LLM 生成 MIDI 序列并发送到支持 MIDI 的应用程序中。

核心功能

  • 创建虚拟 MIDI 输出端口
  • 发送 MIDI Note On/Off 消息
  • 发送 Control Change (CC) 消息
  • 以精确的时间序列发送 MIDI 事件
  • 作为 MIDI 输入设备用于任何支持 MIDI 的应用程序

适用场景

  • 音乐制作:与数字音频工作站(DAW)如 Ableton Live、Logic Pro 或 FL Studio 集成
  • 硬件控制:通过计算机的 MIDI 接口控制硬件合成器
  • 虚拟乐器:连接其他支持 MIDI 输入的虚拟乐器或灯光控制器

工具列表

  • rtmidi: 用于 MIDI 输入/输出的 Python 库
  • fastmcp: FastMCP 框架的核心库
  • python-dotenv: 用于加载环境变量
  • asyncio: 用于异步编程

常见问题解答

  • 如何配置 MIDI 端口? 在 .env 文件中设置 PORT=8123
  • 如何连接到 DAW? 在 DAW 中选择 "MCP MIDI Out" 作为 MIDI 输入设备。

使用教程

使用依赖

安装以下依赖:

pip install rtmidi fastmcp python-dotenv asyncio

安装教程

  1. 克隆仓库: git clone <repository-url> cd mcp-server-midi
  2. 创建虚拟环境并激活: python -m venv .venv source .venv/bin/activate
  3. 安装依赖: pip install -r requirements.txt
  4. 创建 .env 文件: PORT=8123

调试方式

运行服务器:

python mcp_midi_server.py

检查 MIDI 端口是否成功创建,并在 DAW 中测试 MIDI 输入。

许可证

该项目遵循 MIT 开源许可条款。