返回市场
midi文件mcp

midi文件mcp

作者:xiaolaa29 星标更新:2025-05-09

项目介绍

🎵 MIDI 文件 MCP

<div align="center">

smithery 徽章 许可证 tonejs MCP

</div> <div align="center"> <strong>基于 Tone.js 解析和操作 MIDI 文件的强大 MCP 工具</strong> </div> <br> <div align="center"> <img src="https://via.placeholder.com/500x150?text=MIDI+Parser+MCP" alt="MIDI Parser MCP Logo" width="500"> </div>

📖 简介

这是一个基于 Tone.js 和 @tonejs/midi 库的 MIDI 文件解析和操作工具,通过 MCP(模型上下文协议)服务提供功能。此工具允许您轻松读取、分析和修改 MIDI 文件,无需深入研究 MIDI 文件格式的复杂性。

✨ 特性

  • 读取 MIDI 文件信息
  • 获取并修改轨道、音符、控制变化和音高弯曲信息
  • 设置 MIDI 文件的节奏(BPM)
  • 向特定轨道添加新的音符、控制变化和音高弯曲
  • 添加新轨道
  • 全面的错误处理

📥 先决条件

  1. 安装 Node.js:确保 npx 命令可以正常运行。建议从 Node.js 官方网站 安装最新稳定版。

🔧 使用方法

与 MCP 客户端一起使用,支持的客户端包括但不限于:

通过 Smithery 安装

要通过 Smithery 自动安装 Claude Desktop 的 MIDI 文件解析器:

npx -y @smithery/cli install @xiaolaa2/midi-file-mcp --client claude

Cursor 配置示例

在 Cursor 中配置 midi-file-mcp:

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

🎹 使用绝对路径的 MIDI Parser MCP

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

示例提示

这里有一些您可以使用的示例提示:

  1. 获取 MIDI 文件信息

    能否显示位于 D:\path\to\your\file.mid 的 MIDI 文件信息?
    
  2. 分析轨道

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

    将 D:\path\to\your\file.mid 的节奏改为 112 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 文件。

🙏 致谢

感谢以下项目和库,没有它们,这个工具是不可能实现的: