0.1.3 • Published 6 months ago

@mseep/midi-file-mcp v0.1.3

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

🎵 MIDI文件MCP


📖 简介

这是一个基于Tone.js和@tonejs/midi库的MIDI文件解析和操作工具,通过MCP(Model Context Protocol)服务提供功能。这个工具使您能够轻松读取、分析和修改MIDI文件,无需深入了解MIDI文件格式的复杂性。

✨ 功能特点

  • 读取MIDI文件信息
  • 获取和修改MIDI文件的轨道、音符、控制器变化和弯音信息
  • 设置MIDI文件的速度(BPM)
  • 向特定轨道添加新的音符、控制器变化和弯音信息
  • 添加新的轨道

📥 安装准备

  1. 安装 Node.js:确保 npx 命令可以正常运行,建议前往 Node.js 官网 安装最新的稳定版本

🔧 使用方法

使用 MCP 客户端连接,支持的客户端包括但不限于:

Cursor 配置示例

在 Cursor 中配置 midi-file-mcp:

"midi-file-mcp": {
    "command": "npx",
    "args": [
        "-y",
        "midi-file-mcp"
    ]
}

🎹 使用绝对路径操作MIDI文件

MIDI Parser MCP的所有操作都需要提供MIDI文件的绝对路径。这确保了无论当前工作目录是什么,工具都能正确定位和操作您的MIDI文件。

示例提示

以下是一些您可以与AI助手一起使用的示例提示:

  1. 获取MIDI文件信息

    请显示D:\path\to\your\file.mid文件的信息。
  2. 分析轨道

    请分析D:\path\to\your\file.mid中的所有轨道,并告诉我每个轨道有多少个音符。
  3. 设置速度

    将D:\path\to\your\file.mid的速度更改为120 BPM。
  4. 处理音符

    显示D:\path\to\your\file.mid中轨道1的所有音符。
  5. 添加音符

    在D:\path\to\your\file.mid的轨道0的位置0添加一个持续时间为1拍的C4音符。

可用操作

操作描述参数
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文件。

🙏 致谢

感谢以下项目和库,没有它们这个工具将无法实现: