midi智编器
一个强大的MCP工具,用于解析和操作MIDI文件,允许用户通过自然语言命令读取、分析和修改MIDI文件,支持读取文件信息、修改音轨、添加音符和设置速度等操作。
服务介绍
🎵 MIDI 文件 MCP
📖 简介
这是一个基于 Tone.js 和 @tonejs/midi 库的 MIDI 文件解析和操作工具,通过 MCP(模型上下文协议)服务提供功能。这个工具使您能够轻松地读取、分析和修改 MIDI 文件,而无需深入研究 MIDI 文件格式的复杂性。
✨ 特性
- 读取 MIDI 文件信息
- 获取并修改轨道、音符、控制变化和弯音信息
- 设置 MIDI 文件的速度(BPM)
- 向特定轨道添加新的音符、控制变化和弯音
- 添加新轨道
- 全面的错误处理
📥 前提条件
- 安装 Node.js:确保 npx 命令可以正常运行。建议从 Node.js 官方网站 安装最新稳定版本
🔧 使用
使用 MCP 客户端进行操作,支持的客户端包括但不限于:
- Cursor
- Cherry Studio
- Claude Desktop
Cursor 配置示例
在 Cursor 中配置 midi-file-mcp:
"midi-file-mcp": {
"command": "npx",
"args": [
"-y",
"midi-file-mcp"
]
}
🎹 使用绝对路径与 MIDI 解析器 MCP
MIDI 解析器 MCP 中的所有操作都需要 MIDI 文件的绝对路径。这确保了无论当前工作目录如何,该工具都能正确定位和操作您的 MIDI 文件。
示例提示
以下是一些您可以与 AI 助手一起使用的示例提示:
-
获取 MIDI 文件信息:
你能告诉我 D:\path\to\your\file.mid 这个 MIDI 文件的信息吗? -
分析轨道:
请分析 D:\path\to\your\file.mid 中的所有轨道,并告诉我每个轨道中有多少个音符。 -
设置速度:
将 D:\path\to\your\file.mid 的速度更改为 120 BPM。 -
处理音符:
显示 D:\path\to\your\file.mid 中轨道 1 的所有音符。 -
添加音符:
在 D:\path\to\your\file.mid 的轨道 0 的位置 0 处添加一个 C4 音符,持续时间为 1 拍。
可用操作
| 操作 | 描述 | 参数 |
|---|---|---|
| get_midi_info | 获取MIDI文件的一般信息 | filePath |
| set_tempo | 设置MIDI文件的节奏(BPM) | filePath, bpm |
| get_tracks_info | 获取所有音轨的信息 | filePath |
| get_track_info_by_index | 获取特定音轨的信息 | filePath, trackIndex |
| get_notes_by_index | 从特定音轨获取所有音符 | filePath, trackIndex |
| get_pitchbends_by_index | 从特定音轨获取所有弯音数据 | filePath, trackIndex |
| get_controlchanges_by_index | 从特定音轨获取所有控制变化 | filePath, trackIndex |
| add_notes_by_index | 向特定音轨添加音符 | filePath, trackIndex, notes |
| add_controlchanges_by_index | 向特定音轨添加控制变化 | filePath, trackIndex, controlchanges |
| add_pitchbends_by_index | 向特定音轨添加弯音数据 | filePath, trackIndex, pitchbends |
| add_track | 向MIDI文件中添加新的音轨 | filePath |
注意: 在处理Windows路径时,请始终使用双反斜杠(\\)或正斜杠(/),以避免错误。
📄 许可证
本项目采用MIT许可证。详情请参阅LICENSE文件。
🙏 致谢
感谢以下项目和库的支持,没有它们,此工具将无法实现:
- Tone.js - Web音频框架
- @tonejs/midi - MIDI文件解析与操作库
- MCP (Model Context Protocol) - 使工具能够集成到AI助手之中