README
🚀 🎵 MIDI 文件 MCP 工具
这是一个强大的基于 Tone.js 的 MCP 工具,用于解析和操作 MIDI 文件。借助该工具,你无需深入了解 MIDI 文件格式的复杂性,就能轻松读取、分析和修改 MIDI 文件。
🚀 快速开始
这是一个基于 Tone.js 和 @tonejs/midi 库的 MIDI 文件解析和操作工具,通过 MCP(模型上下文协议)服务提供功能。此工具允许您轻松读取、分析和修改 MIDI 文件,而无需深入了解 MIDI 文件格式的复杂性。
✨ 主要特性
- 读取 MIDI 文件信息
- 获取并修改音轨、音符、控制变化和音高弯曲信息
- 设置 MIDI 文件的 tempo(BPM)
- 向特定音轨添加新的音符、控制变化和音高弯曲
- 添加新音轨
- 全面错误处理
📦 安装指南
📥 前提条件
- 安装 Node.js:确保 npx 命令正常运行。建议安装最新稳定版本,可从 Node.js 官方网站 下载。
💻 使用示例
与 MCP 客户端配合使用
此工具可与 MCP 客户端配合使用,支持的客户端包括但不限于:
- Cursor
- Cherry Studio
- Claude Desktop
在 Cursor 中配置 MIDI 文件 MCP 工具示例
在 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 中,向第一音轨添加一个 MIDI 音符,其通道号为 1,力度为 127。这个音符应该在第 3 小节的开始处播放,并持续到第 4 小节。
参数
以下是各个操作的参数说明:
| 操作 | 命令 | 参数 |
| ---- | ---- | ---- |
| 获取 MIDI 文件信息 | getMIDIFileInfo | filePath (必填):要获取信息的 MIDI 文件的路径。 |
| 获取音轨信息 | getTrackInfo | filePath (必填):要获取音轨信息的 MIDI 文件的路径;trackIndex (可选):要获取具体音轨的索引(从 0 开始)。 |
| 设置节拍 | setTempo | filePath (必填):要设置节拍的 MIDI 文件的路径;tempoBPM (必填):新的 BPM 值,以每分钟节拍数为单位。 |
| 添加新音符 | addNote | filePath (必填):要添加音符的 MIDI 文件的路径;channel (必填):音符所在的通道号(从 1 开始);noteNumber (必填):MIDI 音符编号,例如 60 表示 C4;velocity (可选,默认为 127):音符的力度值,范围为 0 到 127;startTime (可选,默认为当前时间):音符开始播放的时间(以 MIDI 时间单位为单位)。 |
| 获取所有音符 | getNotes | filePath (必填):要获取音符的 MIDI 文件的路径;channel (可选):要过滤的通道号(从 1 开始)。如果不指定,则返回所有通道中的音符。 |
| 删除音轨 | removeTrack | filePath (必填):要删除音轨的 MIDI 文件的路径;trackIndex (必填):要删除的具体音轨的索引(从 0 开始)。 |
| 添加新音轨 | addTrack | filePath (必填):要添加音轨的 MIDI 文件的路径。 |
📚 详细文档
通过这个工具,您可以在 AI 助手的帮助下高效地处理 MIDI 文件,实现音乐制作和音频处理的各种需求。
📄 许可证
🔧 技术支持
如果您有任何问题或需要进一步的帮助,请联系 支持团队。
Scan to join WeChat group