Token导航 LogoToken导航TokenDH.com
Fcp Midi logo
设计创作stdio官方级别未说明来源级核验

Fcp Midi

MCP Server

fcp-midi是一个基于FCP框架的MIDI服务器,允许LLM通过描述音乐意图(如音符、和弦、动态、节奏变化)来创作音乐,并将其渲染为标准MIDI文件。

工具数

4

提示词数

0

GitHub Stars

1

资源数

0
PythonLLM应用设计

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

os-tack

提供方

os-tack

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install fcp-midi

详细介绍

fcp 中午

用于语义MIDI合成的MCP服务器。

它的作用

fcp-midi允许LLM通过描述音乐意图(音符、和弦、动态、节奏变化)来创作音乐,并将其渲染为标准midi文件。LLM不处理原始字节或MIDI事件,而是使用以下操作 note Bass E2 at:1.1 dur:quarter vel:90crescendo @track:Lead vel:45-75 @range:3.1-6.4.建立在 FCP 框架,由漂亮的midi提供序列化支持。

快速示例

midi_session('new "Voltage Drop" tempo:140 key:E-minor')

midi([
  'note Drums kick at:1.1 dur:eighth vel:100',
  'note Bass E2 at:1.1 dur:quarter vel:90',
  'chord Pad Em at:1.1 dur:whole vel:70',
  'crescendo @track:Lead vel:45-75 @range:3.1-6.4',
  'tempo 174 at:11.1',
])

midi_session('save as:./voltage_drop.mid')

可用的MCP工具

工具目的
midi(ops)批量突变——音符、和弦、曲目、节奏、动态、复制/转置
midi_query(q)检查构图——地图、曲目、事件、钢琴曲、乐器,找到
midi_session(action)生命周期——新建、打开、保存、检查点、撤消、重做
midi_help()完整参考卡

英雄示例

水管工之旅 --忠实再现经典游戏主题:4首曲目,288个音符,16秒,180 BPM。

电压降 --一首带有节奏加速(140->155->174BPM)的鼓和低音曲目,5首曲目,破拍,低音,琶音和一个标志性的DROP部分。FCP与原始Python代理之战中也使用了FCP——FCP在87秒内在12个轨道上生成了1674个音符,而手写Python约689行中生成了694个音符。

docs/examples/ 用于MIDI文件和完整的写入。

安装

需要Python>=3.11。

pip install fcp-midi

MCP客户端配置

{
  "mcpServers": {
    "midi": {
      "command": "uv",
      "args": ["run", "python", "-m", "fcp_midi"]
    }
  }
}

建筑

三层架构:

MCP Server (Intent Layer)
  Parses op strings, dispatches to verb handlers
        |
Semantic Model
  Tracks, notes, chords, dynamics, tempo maps, markers
  In-memory composition graph with event sourcing
        |
Serialization (pretty-midi)
  Semantic model -> MIDI binary output

主要特点:

  • 仪器库 --GM仪器名称(acoustic-grand-piano, synth-bass-1, standard-kit)
  • Soundfont支持 --加载自定义仪器库
  • 节拍寻址 -- at:1.1 (第1杆,第1拍), at:3.2.240 (第3杆,第2拍,第240拍)
  • 持续时间词汇 -- whole, half, quarter, eighth, sixteenth, triplet
  • 动力学 -- crescendo, diminuendo 跨范围
  • 复制/转置 --复制和转换音乐短语

发展

uv sync
uv run pytest       # 658 tests
uv run pytest -m "not slow"  # skip stress tests
uv run ruff check   # linting
uv run pyright      # type checking

许可证

麻省理工学院

目录标签

目录标签

PythonLLM应用设计音乐创作本地部署MIDI生成语义作曲动态控制

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP