Gridoxide
用于EDM生产的基于Rust的终端步序器和合成器。
概述
Gridoxide是一个终端EDM制作工作室,专为人类(通过TUI)和克劳德(通过MCP工具)之间的协作使用而设计。核心原则是 TUI和MCP之间的完全对等 -每个状态变异动作都通过相同的命令总线,而不管其来源如何。
当TUI运行时,MCP插座桥位于 /tmp/gridoxide.sock 允许Claude实时控制同一会话——MCP的更改在网格中实时显示。
当前状态:v0.8.3(第8d阶段)
- 每步速度:每一步都有影响体积/强度的速度(0-127)
- 每一步概率:每一步都有触发概率(0-100%)
- A/B模式变化:每种模式都有两种变体,可以切换/复制
- 动态轨迹:在运行时添加/删除曲目(踢腿、圈套、高音、低音、采样器)
- 采样器合成器:带音调偏移、ADSR包络、环路模式的WAV采样加载
- ADSR包络:攻击、衰减、维持水平、采样器释放
- 循环模式:可配置的循环起点/终点,用于持续播放的hold_steps
- 16槽型存储体:复制、清除、切换模式
- 歌曲模式:使用模式链接和重复计数进行排列
- 项目I/O:保存/加载.grox JSON文件,导出WAV音频
- 示例浏览器:TUI覆盖层,用于浏览和加载WAV文件
- 16步图案网格,每一步MIDI音符(0-127)
- 每轨FX链:滤波器(LP/HP/BP)、失真(tanh)、延迟(环形缓冲区)
- 主母车混响(施罗德)
- 信号链:Synth→ \[筛选器→ 畸变→ 延迟\]→ 体积→ Pan → Sum → \[混响\]→ 软夹
- 带音量、平移、静音/独奏功能的混音器
- 具有事件记录功能的命令总线架构
- 配备全套工具的MCP服务器
- 统一TUI+MCP插座桥(共享状态)
安装
cd /path/to/gridoxide
cargo install --path .
# Now run from anywhere:
gridoxide用法
# Run with default theme
gridoxide
# Run with a specific theme
gridoxide --theme phosphor-green
# List available themes
gridoxide --list-themes
# Run as MCP server (connects to TUI if running, otherwise standalone)
gridoxide --mcp控制
网格视图
| 关键 | 行动 |
|---|---|
| 箭头键/hjkl | 导航网格 |
| 空格键/Enter键 | 在光标处切换步长 |
| \] | 注意1半音 |
| \[ | 记下1半音 |
| }(Shift+\]) | 记下1个八度音阶 |
| {(Shift+\[) | 记下1个八度音阶 |
| v/v | 速度下降/上升(±16) |
| b/b | 概率下降/上升(±10%) |
| x | 切换A/B变化 |
| X(Shift+X) | 将当前变量复制到其他变量 |
| P | 播放/停止切换 |
| S | 停止(重置为步骤0) |
| +/- | 调整BPM |
| C | 清除当前轨迹 |
| F | 填充当前轨迹 |
| Tab/E | 切换到参数视图 |
| Q/Esc | 退出 |
参数视图
| 关键 | 行动 |
|---|---|
| 1-4 | 选择曲目 |
| 向上/向下/jk | 选择参数 |
| 左/右/hl | 调整值(精细±5%) |
| \[/\] | 调整值(粗略±20%) |
| P | 播放/停止切换 |
| S | 停止 |
| 选项卡 | 切换到混音器视图 |
| Esc | 返回网格视图 |
| Q | 退出 |
混音器视图
| 关键 | 行动 |
|---|---|
| 1-4 | 选择曲目 |
| 向上/向下/jk | 选择字段 |
| 左/右/hl | 调整值 |
| M | 切换静音 |
| O | 切换独奏 |
| P | 播放/停止切换 |
| S | 停止 |
| 选项卡 | 切换到FX视图 |
| Esc | 返回网格视图 |
| Q | 退出 |
FX视图
| 关键 | 行动 |
|---|---|
| 1-9,0 | 选择曲目 |
| 向上/向下/jk | 选择参数 |
| 左/右/hl | 调整值(精细±5%) |
| \[/\] | 调整值(粗略±20%) |
| F | 打开/关闭过滤器 |
| D | 打开/关闭失真 |
| Y | 打开/关闭延迟 |
| R | 打开/关闭主混响 |
| P | 播放/停止切换 |
| S | 停止 |
| 选项卡 | 切换到歌曲视图 |
| Esc | 返回网格视图 |
| Q | 退出 |
歌曲视图
| 关键 | 行动 |
|---|---|
| 向上/向下/jk | 导航排列条目 |
| 左/右/hl | 调整模式/重复 |
| 输入 | 附加新条目 |
| 删除/空格 | 删除条目 |
| 0-9 | 快速选择图案槽 |
| M | 切换模式/歌曲模式 |
| P | 播放/停止切换 |
| S | 停止 |
| 选项卡 | 切换到帮助视图 |
| Esc | 返回网格视图 |
项目控制(所有视图)
| 关键 | 行动 |
|---|---|
| Ctrl+S | 保存项目 |
| Ctrl+O | 打开项目 |
| Ctrl+E | 导出WAV(模式) |
| Ctrl+W | 导出WAV(歌曲) |
| Shift+L | 打开示例浏览器(采样器轨迹) |
采样器参数
使用采样轨道时,这些参数控制播放:
- 振幅:输出量(0.0-1.0)
- 攻击:时间衰减(0-50ms)
- 衰变:达到维持水平的时间(10-500ms)
- 维持:保持音量水平(0.0-1.0)
- 发布:音符关闭后的淡出时间(10-2000ms)
- 起点/终点:样本区域(0.0-1.0)
- 变调:半音转置(-24至+24)
- 循环:启用循环播放
- 循环开始/结束:样本中的循环区域
- 保持步幅:自动释放前的步骤(1-16)
MCP工具
跑步时 --mcp,gridiode暴露了这些工具。如果TUI正在运行,MCP命令将通过套接字桥共享同一会话。
运输:
play-开始播放stop-停止并重置set_bpm-设定节奏(60-200)get_state-获取当前状态
图案:
toggle_step-打开/关闭踏板(可选note参数)get_pattern-获取包含笔记数据的完整网格clear_track-清除轨迹fill_track-填充轨迹
每步数据:
set_step_note-为步骤设置MIDI音符(0-127)set_step_velocity-设置一步的速度(0-127)set_step_probability-设置步骤的触发概率(0-100%)get_step_notes-获取轨迹的所有步长数据(音符、速度、概率)
轨道参数:
list_tracks-列出所有具有可用参数的曲目get_track_params-获取具有值和范围的曲目的参数set_param-设置参数(例如。,kick_pitch_start,snare_snappy)reset_track-将轨迹重置为默认参数
搅拌机:
get_mixer-获取所有混音器状态set_volume-设定轨道容量(0.0-1.0)set_pan-设置轨迹盘(-1.0至1.0)toggle_mute-切换曲目静音toggle_solo-切换曲目独奏
每轨道外汇:
get_fx_params-获取轨道的所有FX参数(滤波器、失真、延迟)set_fx_param-设置FX参数(例如。,filter_cutoff,dist_drive,delay_time)toggle_fx-打开/关闭效果(filter,distortion,或delay)
外汇大师:
get_master_fx_params-获取主总线FX参数(混响)set_master_fx_param-设置主FX参数(reverb_decay,reverb_mix,reverb_damping)toggle_master_fx-打开/关闭主混响
活动:
get_events-获取最近的事件(用于“倾听”人类行为)
图案库:
select_pattern-切换活动模式(0-15)get_pattern_bank-所有16个图案槽概述copy_pattern-将图案从src复制到dst插槽clear_pattern-清除模式中的所有轨迹
安排:
get_arrangement-获得完整的歌曲编排append_arrangement-在末尾添加图案条目insert_arrangement-在位置插入条目remove_arrangement-删除条目set_arrangement_entry-修改现有条目clear_arrangement-清除所有条目set_playback_mode-在“模式”和“歌曲”模式之间切换
变化:
set_variation-选择变体A或Btoggle_variation-在A和B之间切换copy_variation-将一个变体复制到另一个变体
动态轨迹:
add_track-添加新曲目(踢腿、圈套、高音、低音、采样器)remove_track-按索引删除曲目
取样器:
load_sample-将WAV文件加载到采样器轨道中preview_sample-未加载的试听样本list_samples-在搜索目录中列出可用样本
项目I/O:
save_project-保存到.grox JSON文件load_project-从.grox文件加载export_wav-渲染和导出音频(模式或歌曲模式)list_projects-列出目录中的.grox文件
主题
default-使用终端的ANSI颜色phosphor-green-经典绿色CRTamber-crt-暖琥珀色单色blue-terminal-冷蓝色调high-contrast-黑色和白色
建筑
TUI (ratatui) ──┐
├──▶ Command Bus ──▶ Audio Engine (cpal)
MCP (tools) ───┘ │
▼
Event Log ◀── Claude "listens"当TUI运行时,它会在以下位置打开一个Unix套接字 /tmp/gridoxide.sockThe --mcp 进程连接到此套接字,因此TUI和MCP共享相同的命令总线和音频引擎。如果TUI没有运行, --mcp 退回到独立的音频引擎。
路线图
| 阶段 | 名称 | 状态 |
|---|---|---|
| 1 | 声音出来 | 完成 |
| 2 | 网格排序器 | 完成 |
| 3 | 声音整形 | 完成 |
| 4 | 混合 | 完成 |
| 4.5 | 每一步注释 | 完成 |
| 5 | 效果 | 完成 |
| 6 | 图案+排列 | 完成 |
| 7 | 项目I/O | 完成 |
| 8a | 动态轨迹 | 完成 |
| 8b | 采样器合成 | 完成 |
| 8c | 采样器ADSR+环路 | 完成 |
| 8d | 步长数据和变化 | 完成 |
| 8e | 时间表 | 计划 |
| 9 | 波兰语 | 计划中 |
许可证
麻省理工学院
