这是一个强大的基于 Tone.js 的 MCP 工具,用于解析和操作 MIDI 文件。借助该工具,你无需深入了解 MIDI 文件格式的复杂性,就能轻松读取、分析和修改 MIDI 文件。
这是一个基于 Tone.js 和 @tonejs/midi 库的 MIDI 文件解析和操作工具,通过 MCP(模型上下文协议)服务提供功能。此工具允许您轻松读取、分析和修改 MIDI 文件,而无需深入了解 MIDI 文件格式的复杂性。
此工具可与 MCP 客户端配合使用,支持的客户端包括但不限于:
在 Cursor 中配置 midi-file-mcp:
"midi-file-mcp": {
"command": "npx",
"args": [
"-y",
"midi-file-mcp"
]
}
MIDI 解析器 MCP 工具中的所有操作都需要 MIDI 文件的绝对路径。这确保了工具能够正确定位和操作您的 MIDI 文件,无论当前工作目录如何。
以下是您可以与 AI 助手一起使用的示例提示:
你能告诉我位于 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 文件,实现音乐制作和音频处理的各种需求。
如果您有任何问题或需要进一步的帮助,请联系 支持团队。