OSC MCP服务器
用于通过OSC(开放式声音控制)控制数字混音器(Behringer X32、Midas M32等)的模型上下文协议(MCP)服务器。这允许您通过Claude Desktop中的聊天命令控制混音器。
特性
- 🎚️ 音量控制器:设置并获取所有通道、总线、辅助、矩阵和主LR的推子级别
- 🔇 静音/取消静音:控制通道、总线、辅助、矩阵和主混音的静音
- 🎛️ 平移控制:调整通道、总线、辅助和主混音的立体声定位
- 🎵 EQ控制:全4频段参数均衡器,具有频率、Q、增益和开/关控制
- 🎚️ 动力学:完成闸门和压缩机控制,包括启动、释放、阈值和比率
- 🔊 功能的辅助输送:控制从通道发送到混合总线和辅助输出
- 📸 场景:使用自定义名称调用、保存和管理场景
- 🎛️ 总线控制:通过推子、平移、静音和命名完全控制混音总线(1-16)
- 🔊 辅助控制:使用衰减器、平移和静音控制辅助输出(1-6)
- 🎚️ 矩阵控制:带衰减器和静音的控制矩阵输出(1-6)
- 🎵 效果:具有开/关、混合和参数调整的控制效果(1-8)
- 🔌 路由:配置通道输入源
- 📝 命名:设置和获取频道和巴士的名称
- 🔧 自定义命令:向混音器发送任何OSC命令
- 📊 状态监测:获取混音器状态和信息
安装
先决条件
- Node.js 18或更高版本
- 网络上的数字混音器(Behringer X32、Midas M32等)
- Claude桌面应用程序
设置
- 克隆或导航到此存储库:
cd path/to/osc-mcp- 安装依赖项:
npm install- 构建项目:
npm run build配置
环境变量
您可以使用环境变量配置OSC连接:
OSC_HOST:混音器的IP地址(默认值:192.168.1.70)OSC_PORT:混音器的OSC端口(默认:10023)
Claude桌面配置
将以下内容添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"osc": {
"command": "node",
"args": [
"/path/to/osc-mcp/dist/index.js"
],
"env": {
"OSC_HOST": "192.168.1.70",
"OSC_PORT": "10023"
}
}
}
}重要:替换IP地址 192.168.1.70 使用混音器的实际IP地址!
查找您的混音器IP地址
- 在混音器上,按下
SETUP按钮 - 导航至
Network设置 - 注意显示的IP地址
使用示例
在Claude Desktop中配置后,您可以使用自然语言控制混音器:
基本推子控制
- “将通道1推子设置为75%”
- “频道5的当前级别是多少?”
- “将主推子设置为80%”
- “将3路公交车推子设置为60%”
- “辅助2推子的音量是多少?”
静音
- “将频道3静音”
- “取消静音频道7”
- “静音巴士5”
- “取消主混音的静音”
平移控制
- “将频道2向左平移”
- “将锅放在4频道的中心”
- “向右平移通道8”
- “将2路公交车开到中心”
情商
- “将通道1 EQ频带2提升3dB”
- “将信道5 EQ频带4削减6dB”
- “将通道3 EQ频带1频率设置为100Hz”
- “将通道2 EQ频带3 Q设置为2.5”
- “在通道1上启用EQ”
动力学
- “将通道1门阈值设置为-40dB”
- “设置通道3压缩器,阈值为-20dB,比率为4:1”
- “将通道2压缩机攻击设置为50%”
- “将通道4压缩机释放设置为30%”
- “启用通道5上的门”
功能的辅助输送
- “以50%的速度将通道1发送到总线3”
- “从通道2到总线5的发送级别是多少?”
- “以75%的速率将通道4发送到辅助2”
总线控制
- “将总线1推子设置为70%”
- “静音巴士3”
- “潘2路公交车向右行驶”
- “命名总线4'监视器'”
效果
- “启用效果1”
- “将效果2混合设置为50%”
- “将效果3参数5设置为75%”
路由
- “将通道1源设置为输入5”
- “第三频道的来源是什么?”
场景
- “回忆场景5”
- “将当前混音另存为场景10”
- “将场景15另存为‘音乐会设置’”
- “第三幕叫什么名字?”
渠道管理
- “将频道1命名为‘主唱’”
- “第五频道叫什么名字?”
- “将通道2颜色设置为3”
自定义命令
- “发送值为'Vocals'的OSC命令/ch/01/config/name”
- “发送值为0.75的OSC命令/ch/05/mix/fader”
- “发送值为1的OSC命令/bus/03/mix/on”
- “发送值为1的OSC命令/fx/01/on”
可用工具
MCP服务器公开 50+工具 为了实现全面的混合器控制:
通道控制(9个工具)
- osc_set_fader -设置通道衰减器级别(0.0-1.0)
- osc_get_fader -获取当前频道推子级别
- osc_mute-channel -将频道静音/取消静音
- osc_get_mute -获取频道的静音状态
- osc_set_pan -设置通道平移(-1.0到1.0)
- osc_get-pan -获取通道平移位置
- osc_set_channel_name -设置频道名称
- osc_get_channel_name -获取频道名称
- osc_set_channel_source / osc_get_channel_source -配置输入源
EQ控制(5个工具)
- osc_set_eq -设置EQ频带增益(-15dB至+15dB)
- osc_geteq -获得EQ波段增益
- osc_set_eq_频率 -设置EQ频段频率
- osc_set_eq_q -设置EQ频带Q因子
- osc_set_eq_on -启用/禁用EQ
动力学控制(7个工具)
- osc_set_gate -设置门阈值(-80dB至0dB)
- osc_get_gate -获取门阈值
- osc_set_gate_on -启用/禁用门
- osc_set_压缩机 -设置压缩机阈值和比率
- osc_set_compressor_攻击 -设置压缩机启动时间
- osc_set_compressor_release -设置压缩机释放时间
- osc_set_compressor_on -启用/禁用压缩机
总线控制(5个工具)
- osc_set_bus_fader -设置总线推子级别
- osc_get_bus_fader -获取巴士推子级别
- osc_mute-bus -将公交车静音/取消静音
- osc_set_bus_pan -设置公交车底盘位置
- osc_set_bus_name -设置总线名称
辅助控制(4个工具)
- osc_set_aux_fader -设置辅助推子级别
- osc_get_aux_fader -获取辅助推子级别
- osc_mute_aux -将辅助输出静音/取消静音
- osc_set_aux_pan -设置辅助平移位置
发送(3个工具)
- osc_send_to_bus -设置从通道到总线的发送级别
- osc_get_send_tobus -获取从通道到总线的发送级别
- osc_send_to_aux -将发送级别从通道设置为辅助
主混合物(4个工具)
- osc_set_main_fader -设置主LR推子级别
- osc_get_main_fader -获取主LR推子级别
- osc_mute_main -静音/取消静音主LR混音
- osc_set_main_pan -设置主左后平移位置
矩阵(2个工具)
- osc_set_matrix_fader -设置矩阵推子级别
- osc_mute-matrix -将矩阵输出静音/取消静音
效果(3个工具)
- osc_set_effect_on -启用/禁用效果
- osc_set_effect_mix -设置效果混合级别
- osc_set_effect_param -设置效果参数值
场景(3个工具)
- osc_scene_recall -回忆已保存的场景(1-100)
- osc_scene_save -将当前混音器状态另存为场景
- osc_get_scene_name -获取场景名称
状态和自定义(2个工具)
- osc_get_mixer_status -获取混音器状态和信息
- osccustom_命令 -发送自定义OSC命令
技术细节
依赖关系:
- @模型上下文协议/sdk -MCP服务器框架
- osc js -OSC协议实现(v2.4.1)
- TypeScript -类型安全开发
OSC通信:
- 协议:UDP
- 默认端口:10023
- 与混音器双向通信
- 自动连接保持活动状态(/xremote每9秒一次)
- 用途
osc-js用于UDP通信的DatagramPlugin库
支持的混音器型号:
- 贝林格X32
- 贝林格X32紧凑型
- 贝林格X32生产商
- 贝林格X32机架
- Midas M32(兼容)
发展
观看模式
npm run dev构建
npm run build直接运行
npm start故障排除
连接问题
- 验证网络连接:Ping你的混音器
ping 192.168.1.70- 检查OSC设置:确保混音器上启用了OSC
- 防火墙:确保防火墙允许端口10023上的UDP流量
- 检查克劳德桌面日志:
- macOS: ~/Library/Logs/Claude/
常见问题
- “等待响应超时”:混音器可能没有响应。检查网络连接和混音器设置。
- “连接被拒绝”:验证IP地址和端口是否正确。
- 工具未出现在Claude中:更新配置文件后重新启动Claude Desktop。
自定义OSC命令
这 osc_custom_command 该工具允许您向混音器发送任何OSC命令。这对于访问标准工具未涵盖的功能非常有用。
例子
设置频道名称
{
"address": "/ch/01/config/name",
"value": "Lead Vocal"
}设置通道颜色
{
"address": "/ch/05/config/color",
"value": 3
}控制信道前置放大器增益
{
"address": "/ch/03/preamp/trim",
"value": 0.5
}设置高通滤波器
{
"address": "/ch/02/hpf",
"value": 1
}控制插入效果
{
"address": "/ch/04/insert/on",
"value": 1
}设置总线配置
{
"address": "/bus/02/config/name",
"value": "Monitor"
}控制效果参数
{
"address": "/fx/01/par/01",
"value": 0.75
}设置矩阵配置
{
"address": "/mtx/01/config/name",
"value": "Recording"
}控制反馈
{
"address": "/-stat/talk",
"value": 1
}设置独奏
{
"address": "/ch/01/mix/solo",
"value": 1
}没有值的命令
某些OSC命令不需要值:
{
"address": "/-stat/solosw"
}常见OSC地址
通道配置
/ch/{nn}/config/name-频道名称(字符串)/ch/{nn}/config/color-通道颜色(0-15)/ch/{nn}/config/source-输入源(0-63)/ch/{nn}/preamp/trim-前置放大器增益(0.0-1.0)/ch/{nn}/preamp/hpon-高通滤波器打开(0/1)/ch/{nn}/preamp/hpf-高通滤波器频率(0.0-1.0)
频道组合
/ch/{nn}/mix/solo-单声道(0/1)/ch/{nn}/mix/st-发送到立体声(0.0-1.0)/ch/{nn}/mix/mlevel-监控级别(0.0-1.0)
插入效果
/ch/{nn}/insert/on-插入效果(0/1)/ch/{nn}/insert/pos-插入位置(0-3)
总线配置
/bus/{nn}/config/name-总线名称(字符串)/bus/{nn}/config/color-公交车颜色(0-15)/bus/{nn}/config/mono-单总线(0/1)
效果
/fx/{nn}/on-对(0/1)的影响/fx/{nn}/mix-效果混合(0.0-1.0)/fx/{nn}/par/{nn}-效果参数(0.0-1.0)
矩阵
/mtx/{nn}/config/name-矩阵名称(字符串)/mtx/{nn}/config/color-矩阵颜色(0-15)
系统
/-stat/talk-反馈(0/1)/-stat/solosw-单独开关(无值)/-stat/rtn-单人返回(0/1)
备注:替换 {nn} 具有零填充信道/总线/效果编号(例如。, 01, 02, 15).
值类型
这 osc_custom_command 工具会自动检测值类型:
- 数字:自动以浮点数或整数形式发送
- 字符串:以OSC字符串类型发送
- 数组:可用于多个参数
带有多个参数的示例:
{
"address": "/custom/path",
"value": [0.5, "text", 42]
}X32 OSC参考
有关高级用法和完整的OSC命令参考,请参阅 Behringer X32 OSC协议.
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。
