简体中文
Mac 上的游戏手柄转 OSC
这款应用完全免费。无需创建账户。没有订阅,没有麻烦的下载,也没有任何锁定的功能。针对 Apple 芯片优化。
你现在就能在 Mac 上通过一座桥,用游戏手柄发送 OSC。InputConfig 自己不发送 OSC,但它能发送 MIDI,而免费的桥接 App Chataigne 能把这些 MIDI 变成 OSC,交给任何在监听的东西:Resolume、TouchDesigner、QLab、Max、Eos 控台等等。
这份指南讲的是我今天会怎么设置,大约十五分钟,另外还会看一看其他选择。
步骤
- 连接手柄,打开 InputConfig,打开一个发送 MIDI 的预设(Lighting Desk 或 Gamepad Synth 预设都可以)。
- 安装 Chataigne,它免费,并且在 Apple 芯片上原生运行。
- 在 Chataigne 里添加一个 MIDI 模块,选 InputConfig 作为它的输入设备。
- 添加一个 OSC 模块,把目标设为你想控制的 App:如果它在同一台 Mac 上就用 127.0.0.1,再加上那个 App 监听的端口。
- 为每个 MIDI 控制创建一个到 OSC 地址的映射,如果接收的 App 需要,就把 0 到 127 缩放到 0 到 1。
- 移动手柄,看着数值到达接收的 App。
为什么需要一座桥
OSC 通过网络运行,而 InputConfig 根本不建立任何网络连接。我很看重这一点,它也写在这款 App 的隐私政策里。所以网络那一部分交给桥。
而 MIDI 则完全留在你的 Mac 上。InputConfig 把 MIDI 交给桥,网络那一部分由桥来做。
新的设置就别用 OSCulator 了
多年来,OSCulator 就是这个问题的答案,很多旧的论坛帖子至今仍在推荐它。最后一个版本只支持 Intel,这意味着它依赖 Rosetta,而 Apple 已经说过,macOS 27 是最后一个完整支持 Intel App 的版本。Chataigne 是我找到的最接近的替代品。
通过 Chataigne 发送 OSC
Chataigne 免费、开源,并在 Apple 芯片上原生运行。它接收 MIDI 并发出 OSC,如果你最后要做灯光,它也能发送 DMX、Art-Net 和 sACN。
第 1 步:从 InputConfig 发送 MIDI
- 你:打开一个发送 MIDI 的预设。Lighting Desk 预设把推子放在扳机上,把音符放在按钮上。Gamepad Synth 预设连摇杆也涵盖了。
- InputConfig:把手柄的动作发送到它的 MIDI 端口,名为 InputConfig。
- 检查:预设在 InputConfig 里显示为正在运行。
第 2 步:在 Chataigne 里读取
- 你:在 Chataigne 里添加一个 MIDI 模块,选 InputConfig 作为设备。
- Chataigne:列出从端口到达的每个值。
- 检查:移动一个扳机,它的值在模块里发生变化。
第 3 步:把 OSC 指向目标
- 你:添加一个 OSC 模块并设置目标:接收的 App 在同一台 Mac 上就用 127.0.0.1,如果在你的网络上,就用另一台电脑的 IP 地址,再加上那个 App 监听的端口。
- Chataigne:把 OSC 消息发送到那个地址和端口。
- 检查:端口与接收的 App 监听的端口一致。
第 4 步:映射每个控制
- 你:创建一个映射,把 MIDI 值作为输入,把一条 OSC 消息作为输出。大多数 App 要的是 0 到 1,而不是 0 到 127,Chataigne 可以在映射里重新映射。
- Chataigne:把每个 MIDI 动作转换成一条 OSC 消息。
- 检查:移动手柄,看着数值到达接收的 App。一个好的首次测试是一个扳机对应一个推子。
同一台 Mac 上的 OSC 目标:把这个输入为 OSC 模块的主机。
127.0.0.1结果如何:Chataigne 发送给这台 Mac 上运行的 App。把那个 App 的端口加在旁边。


找到 OSC 地址
每个 App 给控件起的名字都不同,所以请查它的文档,看它监听哪些地址。Resolume、QLab 和 ETC 的 Eos 系列都记录了它们的 OSC 命令,而 TouchDesigner 的 OSC In CHOP 你发什么它就收什么。对于灯光,你可能根本不需要 OSC:QLC+ 和 Lightkey 直接读取 MIDI。
如果什么也没到达
沿着这个阶梯往上爬,最常见的错误排在最前:
- 检查端口。接收的 App 必须监听桥发送到的同一个端口。这是我犯得最多的错误。
- 允许本地网络。在 macOS 15 及更高版本上,App 需要权限才能访问你本地网络上的其他设备。如果 OSC 没有出现在另一台电脑上,请在“系统设置”,“隐私与安全”,Local Network 里允许桥接 App。InputConfig 本身不需要这项权限,因为 MIDI 从不离开你的 Mac。
- 检查缩放。如果有值到达,却几乎不动,接收的 App 多半需要 0 到 1。在 Chataigne 里重新映射。
选 CC 还是弯音来获得平滑
- MIDI CC。128 个级别,对不透明度、音量或效果量来说绰绰有余。
- 弯音。16,384 个级别,用于真正需要非常平滑的东西。Gamepad Synth 预设已经把它放在右摇杆上。把它映射到你最敏感的控制。
MIDI 留在你的 Mac 里面,所以桥增加的延迟很小。蓝牙通常是链条里最慢的一环,演出时用线缆有帮助。把弯音放在必须平滑移动的控制上。
老实说,其他选择
如果你只需要手柄发送 OSC,别的都不要,有些不错的工具直接读取游戏手柄:TouchOSC 可以,Chataigne 自己也可以。当你希望同一个手柄做得更多时,InputConfig 就有意义:按键、鼠标,以及送入你的 DAW 的 MIDI,全都来自一个会随你在各个 App 间切换的预设。
总结
- InputConfig 发送 MIDI。它不发送 OSC。
- Chataigne 搭桥。设置一个 MIDI 输入模块和一个 OSC 输出模块,每个控制一个映射。
- 先查端口。然后在 macOS 15 及更高版本上检查本地网络。
MIDI 进,OSC 出:网络那部分由桥来做,InputConfig 永远不用做。
常见问题
InputConfig 能直接发送 OSC 吗?
不能。它发送 MIDI,像 Chataigne 这样的桥把它变成 OSC。
OSCulator 怎么了?
最后一个版本只支持 Intel 并依赖 Rosetta,所以我现在会用 Chataigne。
这个能用于 OSC 灯光控台吗?
任何接受 OSC 的东西都行,包括 Eos 系列。不过对于灯光,你可能根本不需要 OSC。QLC+ 和 Lightkey 直接读取 MIDI。
延迟大吗?
MIDI 留在你的 Mac 里面,所以桥增加的很少。蓝牙通常是链条里最慢的一环,演出时用线缆有帮助。
更多中文页面
详细指南(英文)
作者说明。Ryleigh Newman 开发了 InputConfig,因为双手活动不便,每天都用手柄操作自己的 Mac。本页译自英文。Mac 的语言设为简体中文时,InputConfig 会以简体中文显示。网站的部分页面只有英文。
本页的其他语言版本: English
免费。macOS 14 或更高版本。无需账户,数据不会离开你的 Mac。 源代码在 GitHub 上。