Csound MCP服务器
Csound MCP服务器公开 Csound 通过模型上下文协议(MCP)向AI代理提供音频引擎功能。
特性
- 无状态架构: 使用标准Csound进行轻量级执行。
- 减法合成: 暴露a
synthesize_sawtooth_lead_bass该工具提供LLM友好的0-255映射ADSR参数,以塑造通过低通滤波器运行的锯齿波振荡器。 - 鼓合成: 暴露a
synthesize_kick_drum该工具专门用于制作亚低音、强力House踢腿和扭曲的Hardstyle踢腿,使用直观的参数,如punch和drive. - 语义护栏: 工具参数大量记录在声学定义中(例如,将“快速攻击”与整数范围相匹配),以及MCP资源(
lore://sound_design,lore://drum_design)提供这些工具来教代理人如何合成经典乐器。 - 错误处理: 优雅地捕捉并返回
stdout和stderr如果满足以下条件,则向代理发送内容csound编译或执行失败。
先决条件
安装与运行
该包是用Python构建的,依赖于 mcp。您可以使用直接运行服务器 uv:
uv run musmcp添加到MCP客户端
要在MCP客户端(如Claude Desktop或Cursor)中配置此服务器,请将其添加到您的配置中(调整工作区目录的根路径):
{
"mcpServers": {
"musmcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/workspace/musmcp",
"run",
"musmcp"
]
}
}
}使用示例(代理视角)
在使用合成工具之前,代理人可以阅读提供的 lore://sound_design 和 lore://drum_design MCP资源,了解如何将声学概念映射到 0-255 整数。
1. synthesize_sawtooth_lead_bass
这 synthesize_sawtooth_lead_bass 该工具是专门设计的,便于LLM代理使用。它将复杂的Csound信封抽象为简单的 0-255 整数。
以下是代理应如何将所需的声音映射到工具的参数:
1.勇敢/打击性低音(快速攻击,快速衰减,无持续)
{
"pitch": 55.0,
"duration": 1.5,
"cutoff_hz": 400.0,
"attack": 5,
"decay": 80,
"sustain": 0,
"release": 50,
"output_filename": "bass_pluck.wav"
}2.暖垫(缓慢攻击、高维持、长释放)
{
"pitch": 220.0,
"duration": 4.0,
"cutoff_hz": 1200.0,
"attack": 150,
"decay": 100,
"sustain": 200,
"release": 200,
"output_filename": "warm_pad.wav"
}3.攻击性领先(快速攻击、高维持、明亮滤镜)
{
"pitch": 880.0,
"duration": 2.0,
"cutoff_hz": 4500.0,
"attack": 10,
"decay": 50,
"sustain": 255,
"release": 20,
"output_filename": "aggr_lead.wav"
}2. synthesize_kick_drum
一个专门的工具,用于创建从柔和的声学重击到蓬勃发展的808秒和扭曲的硬踢的一切。
1.808子踢(轰鸣,无硬点击)
{
"fundamental_hz": 45.0,
"punch": 20,
"decay": 220,
"drive": 10,
"output_filename": "808_sub.wav"
}2.硬风格/工业踢腿(严重扭曲,伴随着巨大的点击)
{
"fundamental_hz": 50.0,
"punch": 200,
"decay": 150,
"drive": 220,
"output_filename": "hard_kick.wav"
}