鲁宾
一个MCP服务器,用于监听音频并提供有关混音质量、音色兼容性和风格连贯性的结构化反馈。
快速开始
# Install
poetry install
# Run the MCP server (default: system audio capture)
poetry run rubin
# Or via Docker
docker run --rm -it aaronmamparo/rubin:latest音频设置
Rubin需要音频路由到它。选择适合您设置的选项:
选项A:系统音频捕获(推荐)
将您的系统或DAW音频路由到虚拟环回设备,然后将Rubin指向该设备。
macOS-- 黑洞
brew install blackhole-2ch- 打开 音频MIDI设置 → 创建一个 多输出设备 组合扬声器+黑洞2ch
- 将多输出设置为系统输出(或DAW的输出)
- 鲁宾瞄准黑洞:
RUBIN_AUDIO_DEVICE="BlackHole 2ch" poetry run rubin窗户-- VB音频虚拟电缆
- 安装VB-CABLE
- 将DAW或系统输出设置为 电缆输入
- 让鲁宾瞄准虚拟有线电视:
set RUBIN_AUDIO_DEVICE=CABLE Output
poetry run rubinLinux-PulseAudio/PipeWire
# Create a virtual sink and loopback
pactl load-module module-null-sink sink_name=rubin sink_properties=device.description=Rubin
pactl load-module module-loopback source=rubin.monitor
# Route your DAW output to the "Rubin" sink, then:
RUBIN_AUDIO_DEVICE="Rubin" poetry run rubin选项B:TCP套接字
通过TCP发送原始PCM音频。适用于远程源或自定义管道。
# Start Rubin in TCP mode
poetry run rubin --audio tcp --tcp-port 9878
# From another terminal, pipe audio via ffmpeg:
ffmpeg -i your_track.wav -f f32le -ac 2 -ar 44100 - | \
nc localhost 9878选项C:标准管
通过标准输入直接传输音频。非常适合一次性分析。
ffmpeg -i your_track.wav -f f32le -ac 2 -ar 44100 - | \
poetry run rubin --audio stdinClaude桌面设置
将Rubin添加到您的 claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
选项A:从GitHub运行(不需要克隆)
最简单的设置——使用以下命令直接从仓库运行Rubin uvx:
{
"mcpServers": {
"rubin": {
"command": "/absolute/path/to/uvx",
"args": ["--from", "git+https://github.com/aaronmamparo/rubin", "rubin"],
"env": {
"RUBIN_AUDIO_DEVICE": "BlackHole 2ch"
}
}
}
}找到你的uvx路径 which uvx。路径必须是绝对路径——Claude Desktop不继承shell的path。
选项B:本地克隆(诗歌)
如果您已在本地克隆了仓库:
{
"mcpServers": {
"rubin": {
"command": "/absolute/path/to/poetry",
"args": ["--directory", "/absolute/path/to/rubin", "run", "rubin"],
"env": {
"RUBIN_AUDIO_DEVICE": "BlackHole 2ch"
}
}
}
}找到你的诗歌之路 which poetry。两条路径都必须是绝对的。
选项C:Docker(仅限TCP/stdin)
注: Docker容器无法访问主机音频设备(BlackHole/VB audio)。使用选项A或B进行系统音频捕获。
{
"mcpServers": {
"rubin": {
"command": "/usr/local/bin/docker",
"args": ["run", "--rm", "-i", "-e", "RUBIN_AUDIO_MODE=tcp", "aaronmamparo/rubin:latest"]
}
}
}保存后重新启动Claude Desktop。您应该在输入栏中看到Rubin工具(锤子图标)。然后,克劳德可以评估你的混音,捕捉快照,并提出调整建议——只要让它听就行了。
MCP工具
| 工具 | 说明 |
|---|---|
evaluate_mix | 捕获音频并根据风格配置文件对其进行评分。返回凝聚力得分、标记的问题和每个乐队的得分。 |
capture_snapshot | 捕获音频并将分析保存为命名快照。 |
compare_snapshots | 比较两个快照,查看每个度量的增量。 |
get_spectral_data | 捕获音频并返回全频谱/音色/响度分析。 |
suggest_adjustments | 根据风格进行评估,只返回可操作的建议,按严重程度排序。 |
audition_track | 分析独唱曲目——对其角色(贝斯、铅、垫、打击乐、纹理)进行分类,并为其与风格的契合程度打分。 |
list_style_profiles | 列出可用的样式配置文件(内置和用户创建)。 |
list_snapshots | 列出已保存的快照。 |
create_style | 通过自然语言创建新的自定义样式配置文件。已保存到 ~/.rubin/styles/. |
update_style | 更新现有样式的目标范围。为内置样式创建用户替代。 |
delete_style | 删除用户创建的样式。无法删除内置样式。 |
样式配置文件
内置配置文件
16个内置配置文件,涵盖广泛的流派:
| 简介 | 角色 |
|---|---|
| 环境 | 郁郁葱葱、宽敞、宽广的立体声、柔和的动态 |
| downtempo | 温暖的低音,柔和的中音,柔和的高音,轻松的动态 |
| 鼓和贝司 | 深沉的低音,轻快的节奏,侵略性的上中音 |
| edm | 大量低音衰减,明亮的引线,沉重的侧链压缩 |
| 民间 | 有机温暖,手指采集的清晰度,宽广的动态,最小的加工 |
| 嘻哈 | 深达808次低音,有力踢腿,声乐前卫 |
| house | 温暖的四人在地板上踢腿,圆润的低音,流畅的人声 |
| 工业 | 扭曲纹理,重度压缩,鞋面中部粗糙 |
| 爵士乐 | 自然的乐器清晰度,宽广的动态范围,柔和的闪光 |
| lo-fi | 温暖、起伏的高音、狭窄的动态 |
| 管弦乐 | 宽广的动态范围,自然平衡,宽敞的立体声 |
| rnb | 平滑、温暖的低音、丝滑的中音、克制的高音 |
| 摇滚乐 | 满吉他,击鼓,现场演唱 |
| synthpop | 丰满、明亮、紧凑的低端、前卫的中端 |
| techno | 重低音,侵略性的上中,紧密压缩 |
| vaporwave | 降低了温度,沉重的混响,降低了高音 |
自定义样式
通过与克劳德的自然对话创造自己的风格——只需描述你想要的声音:
“用温暖的低音、闪闪发光的高音和宽广的立体声创造梦幻流行风格”
自定义样式保存到 ~/.rubin/styles/ 并在会话中持续存在。您也可以以相同的方式更新或删除它们。
要手动创建样式,请将JSON文件添加到 ~/.rubin/styles/:
{
"name": "my-style",
"description": "Description of the target sound",
"frequency_balance": {
"sub_bass": { "low": 0.001, "high": 0.05 },
"bass": { "low": 0.005, "high": 0.08 },
"low_mid": { "low": 0.003, "high": 0.06 },
"mid": { "low": 0.002, "high": 0.04 },
"upper_mid": { "low": 0.001, "high": 0.025 },
"presence": { "low": 0.0005, "high": 0.02 },
"brilliance": { "low": 0.0005, "high": 0.015 }
},
"dynamic_range_db": { "low": 10, "high": 30 },
"brightness": { "low": 1000, "high": 3000 },
"stereo_width": { "low": 0.15, "high": 0.5 },
"rms_mean": { "low": 0.01, "high": 0.12 }
}发展
just install # install dependencies
just check # lint + test
just fmt # auto-format
just test # run tests only码头工人
docker build -t rubin .
docker run --rm -it rubin --audio tcp --tcp-port 9878