Token导航 LogoToken导航TokenDH.com
Tidal Cycles MCP Server logo
音视频未说明官方级别未说明来源级核验

Tidal Cycles MCP Server

MCP Server

通过自然语言对话控制TidalCycles进行算法音乐创作的AI辅助实时编码工具

工具数

0

提示词数

0

GitHub Stars

14

资源数

0
JavaScriptClaude语音音频Claude DesktopClaude

安装说明

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

作者 / 组织

Benedict

提供方

Benedict

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

🌀 TidalCycles MCP服务器

与Claude AI+TidalCycles进行对话式实时编码

![License: MIT](https://opensource.org/licenses/MIT) ](https://nodejs.org/)

这个MCP(模型上下文协议)服务器使Claude能够通过自然对话控制TidalCycles,为算法音乐创作创造强大的人工智能辅助现场编码体验。

✨ 特性

  • 🎵 评估潮汐周期模式 通过对话式人工智能
  • 📊 国家意识 -克劳德知道现在在玩什么
  • 🕰️ 图案历史 -跟踪和回忆以前的模式
  • 🎛️ 渠道管理 -独奏、静默或静默特定频道
  • 💬 自然对话 -用简单的英语和克劳德谈谈你的音乐
  • 🔄 实时反馈 -即时模式评估
  • 🚀 双重运输方式:用于Claude Desktop的stdio+用于外部客户端的WebSocket
  • 🌐 网络可访问 -Web UI和远程客户端可以通过WebSocket连接
  • 🔄 自动恢复 -具有自动重新连接功能的强大GHCi流程管理

📋 先决条件

安装前,请确保:

  1. 潮汐周期 -从以下位置安装 tidalcycles.org

- 包括GHCi(格拉斯哥Haskell编译器交互式) - 哈斯克尔堆栈或阴谋集团

  1. 超级对撞机+超级污垢 -音频输出所需

- 下载自 - 安装SuperDirt:在SuperCollider中,运行 Quarks.install("SuperDirt") - 安装示例: Quarks.install("Dirt-Samples")

  1. Claude桌面版 -从 claude.ai
  1. Node.js 18+ -用于运行MCP服务器

- 下载自 - 验证: node --version

🚀 快速开始

1.安装

# Clone the repository
git clone https://github.com/yourusername/tidal-mcp-server.git
cd tidal-mcp-server

# Install dependencies
npm install

# Build the server
npm run build

2.启动超级对撞机

打开SuperCollider并运行:

// Start SuperDirt
SuperDirt.start;

// Verify it's listening
// Should see: "SuperDirt: listening to Tidal on port 57120"

3.配置克劳德桌面

将此添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ 视窗: %APPDATA%\Claude\claude_desktop_config.json\ Linux: ~/.config/Claude/claude_desktop_config.json

基于文件的模式(推荐用于稳定性):

{
  "mcpServers": {
    "tidal": {
      "command": "node",
      "args": [
        "/absolute/path/to/tidal-mcp-server/dist/index.js"
      ],
      "env": {
        "TIDAL_FILE": "/absolute/path/to/tidal-mcp-server/tidal-mcp-output.tidal"
      }
    }
  }
}

直接GHCi模式(实验-无重启):

{
  "mcpServers": {
    "tidal": {
      "command": "node",
      "args": [
        "/absolute/path/to/tidal-mcp-server/dist/index.js"
      ],
      "env": {
        "TIDAL_FILE": "/absolute/path/to/tidal-mcp-server/tidal-mcp-output.tidal",
        "TIDAL_USE_GHCI": "true",
        "TIDAL_BOOT_PATH": "/absolute/path/to/tidal-mcp-server/BootTidal.hs",
        "GHCI_PATH": "/usr/local/bin/ghci"
      }
    }
  }
}

找到你的ghci路径:

which ghci
# Use this path for GHCI_PATH

替换 /absolute/path/to/ 安装的实际路径。

4.文件监视设置(仅基于文件模式)

对于基于文件的模式,您需要查看输出文件并在TidalCycles中对其进行评估:

选项A:使用watchexec(推荐)

# Install watchexec
brew install watchexec  # macOS
# or
cargo install watchexec-cli  # Any OS with Rust

# Watch and auto-reload patterns
cd /path/to/tidal-mcp-server
watchexec --restart -w tidal-mcp-output.tidal \
  "ghci -ghci-script BootTidal.hs -ghci-script tidal-mcp-output.tidal"

选项B:使用编辑器

打开 tidal-mcp-output.tidal 在您首选的编辑器中使用TidalCycles支持,并在Claude编写模式时手动评估模式。

5.开始使用

  1. 重新启动克劳德桌面 加载MCP服务器
  2. 开始新的对话
  3. 做音乐!
You: Create a funky drum pattern

Claude: [calls tidal_eval]
       I'll create a syncopated funk groove:
       d1 $ sound "bd ~ bd ~ bd ~ ~ ~"

You: Add a bassline

Claude: [calls tidal_eval on d2]
       Added a groovy bassline:
       d2 $ sound "bass2*8" # n "0 3 5 7"

🎹 使用示例

基本模式

You: Play a simple drum beat
You: Make it faster
You: Add some hi-hats
You: What's playing right now?

高级作文

You: Create a glitchy breakbeat with euclidean rhythms
You: Add a wobbling bassline with filter sweeps
You: Layer some atmospheric pads over the top
You: Make the whole thing more sparse

现场表演

You: Solo channel d2
You: Bring back everything
You: Hush
You: Show me the last 5 patterns I evaluated

🛠️ 可用工具

MCP服务器向Claude公开了这些工具:

tidal_eval

评估特定通道(d1-d9)上的潮汐周期模式。

参数:

  • channel:字符串(d1-d9)
  • pattern:String(TidalCycles代码,不带 d1 $ 前缀)

例子:

{
  "channel": "d1",
  "pattern": "sound \"bd sd bd sd\" # gain \"1.2\""
}

tidal_hush

立即停止当前播放的所有模式。

tidal_silence

优雅地停止特定频道。

参数:

  • channel:字符串(d1-d9)

tidal_get_state

获取所有频道的当前状态-正在播放什么以及何时开始播放。

tidal_solo

独唱一个特定频道,静音所有其他频道。

参数:

  • channel:字符串(d1-d9)

tidal_unsolo

独奏后恢复所有频道。

tidal_get_history

从当前会话中获取模式历史记录。

参数:

  • limit:数字(可选,默认值:10)

📁 项目结构

tidal-mcp-server/
├── src/
│   ├── index.ts              # Main MCP server implementation
│   └── websocket-transport.ts # WebSocket transport layer
├── dist/                     # Compiled JavaScript output
├── BootTidal.hs             # TidalCycles initialization
├── tidal-mcp-output.tidal   # Generated pattern output file
├── start-websocket.sh       # WebSocket server startup script
├── test-websocket-client.js # WebSocket connection test
├── examples.tidal            # Example patterns
├── WEBSOCKET-USAGE.md       # WebSocket setup and usage guide
├── package.json             # Node.js dependencies
├── tsconfig.json            # TypeScript configuration
├── README.md                # This file
├── QUICKSTART.md            # Quick reference guide
├── CONTRIBUTING.md          # Contribution guidelines
└── LICENSE                  # MIT License

🎨 用例

现场表演

  • 在算法过程中动态生成模式
  • 快速迭代和实验
  • 卡住时生成应急模式
  • 人工智能辅助即兴创作

学习与探索

  • 请克劳德解释潮汐周期的概念
  • 为特定技术生成示例模式
  • 探索新的节奏和谐理念
  • 通过对话学习

构图

  • 音乐创意的快速原型制作
  • 生成图案变化
  • 与人工智能协同构图
  • 构建复杂的分层安排

🔧 建筑

┌─────────┐         ┌──────────────┐         ┌──────────────┐
│ Claude  │ ◄─MCP─► │  MCP Server  │ ◄─────► │ TidalCycles  │
│   AI    │         │  (Node.js)   │         │    (GHCi)    │
└─────────┘         └──────────────┘         └──────────────┘
                            │                         │
                            │ (File mode)             │
                            ▼                         ▼
                    ┌──────────────┐         ┌──────────────┐
                    │ .tidal file  │         │ SuperCollider│
                    │   (watch)    │         │  SuperDirt   │
                    └──────────────┘         └──────────────┘

流量:

  1. 你用自然语言和克劳德说话
  2. Claude使用MCP工具生成Tidal代码
  3. MCP服务器:

- 文件模式:将代码写入 .tidal file → 文件监视器对其进行评估 - 直接模式:直接发送到正在运行的GHCi进程

  1. TidalCycles/GHCi向SuperDirt发送OSC消息
  2. SuperCollider/SuperDirt播放音频

🐛 故障排除

“MCP服务器未连接”

  • 检查路径 claude_desktop_config.json 是绝对的
  • 配置更改后重新启动Claude Desktop
  • 检查Node.js版本: node --version (需要18+)
  • 在Claude Desktop中检查MCP服务器日志

“模式不播放”(文件模式)

  • 确保SuperCollider正在运行: SuperDirt.start
  • 验证文件监视器(watchexec)是否正在运行
  • 检查TIDAL_FILE路径是否正确
  • 尝试在编辑器中手动评估文件

“模式不播放”(直接GHCi模式)

  • 检查ghci是否在路径中: which ghci
  • 验证配置中的GHCI_PATH是否匹配 which ghci
  • 检查MCP服务器日志中的“GHCi/TidalCycles已启动并连接”
  • 确保只有一个GHCi实例正在运行

“生成ghci ENOONT”

  • 在PATH中找不到GHCi
  • 使用完整路径设置GHCI_PATH环境变量
  • 在macOS上使用ghcup:通常 /Users/username/.ghcup/bin/ghci

“未找到样本”/声音库为空

  • 在SuperCollider中安装污垢样本:
  Quarks.install("Dirt-Samples");
  // Recompile (Cmd+K)
  SuperDirt.start;
  • 验证: ~dirt.soundLibrary.buffers.keys.do({|x| x.postln});

SuperCollider中的“迟到”消息

  • 快速节奏下正常(丛林/DnB)
  • 如果严重(>1秒),请重新启动SuperDirt
  • 检查系统音频设置
  • 降低模式复杂性

停止MCP服务器后音乐继续播放

  • 模式在SuperCollider中运行,独立于MCP服务器
  • 在超级对撞机中停止: s.freeAll;
  • 或在任何GHCi/Tidal会议上: hush
  • 杀死所有ghci进程: pkill -9 ghci

🚧 已知限制

  • 文件模式:每次更改时重新启动GHCi(导致短暂的音频丢失)
  • 直接GHCi模式:实验性,可能有边缘情况
  • 无视觉反馈:模式更改在编辑器中不可见(文件模式)
  • 单个实例:无法同时运行多个MCP服务器
  • 无法撤消:模式更改是即时的,无法撤消

🗺️ 路线图

✅ 已完成的功能

  • 直接GHCi集成 -无需文件监视的实时模式评估
  • WebSocket传输 -用于web UI和协作的网络可访问服务器
  • 稳健的错误处理 -GHCi过程恢复和连接监控
  • 会话日志记录 -带有时间戳的完整模式历史记录

🚀 下一步(优先功能)

  • MIDI控制器输入 -物理旋钮/推子控制潮汐参数

- MIDI学习模式,便于映射 - 支持流行的控制器(Push、Launchpad等) - 复杂参数自动化的宏观控制

  • 模式版本控制 -为您的模式提供类似Git的历史记录

- 带分支的撤消/重做系统 - 保存/恢复快照 - 比较模式版本

  • 基于浏览器的用户界面 -实时模式可视化

- 实时波形显示 - 频道时间线视图 - 多UI的WebSocket集成

🌟 高级功能

  • 实时音频分析 -AI获得音频反馈

- 频率分析,为模式选择提供信息 - 节拍同步的节拍检测 - 混合平衡振幅监测

  • AI模式建议 -情境感知建议

- 基于ML的模式生成 - 针对特定风格的建议(技术、环境、休息) - 自动创建互补图案

  • 多用户协作 -实时编码会议

- 多个用户控制不同的频道 - 回合制干扰模式 - 共享模式库

🎨 创意整合

  • Hydra视觉集成 -反应式视觉效果

- 根据音频模式自动生成视觉效果 - 与节拍事件同步的视觉效果 - 实时视觉编码与音频

  • DAW集成 -专业工作流程

- MIDI输出到硬件合成器 - Tidal会议录音 - 与Ableton Live/Logic同步时间线

  • AI合成工具 -先进的创造力

- 生成全轨道结构 - 流派之间的风格转换 - 和谐分析与建议

🤝 贡献

欢迎投稿!请看 贡献.md 作为指导方针。

贡献者快速入门:

# Clone and setup
git clone https://github.com/yourusername/tidal-mcp-server.git
cd tidal-mcp-server
npm install

# Development mode (with auto-rebuild)
npm run dev

# Run tests
npm test

# Build for production
npm run build

📚 资源

📄 许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

🙏 致谢

  • 亚历克斯·麦克莱恩(亚旭) 用于创建潮汐周期
  • TOPLAP和算法社区 实时编码文化
  • Anthropic 模型上下文协议和Claude
  • 每个用电脑编写代码和制作奇怪音乐的人

📞 支持

______________________________________________________________________

由以下材料制成🌀 面向实时编码社区

*去制造一些算法噪音吧!*

目录标签

目录标签

JavaScriptClaude语音音频实时编码本地部署算法音乐AI辅助创作音乐生成自然语言编程

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP