简体中文
Mac 上的游戏手柄转 OSC
这款应用完全免费。无需创建账户。没有订阅,没有麻烦的下载,也没有任何锁定的功能。针对 Apple 芯片优化。
你现在就能在 Mac 上通过一座桥,用游戏手柄发送 OSC。InputConfig 自己还不会说 OSC,但它已经能发送 MIDI,而免费的桥接 App Chataigne 能把这些 MIDI 变成 OSC,交给任何在监听的东西:Resolume、TouchDesigner、QLab、Max、Eos 控台等等。
有人在 Reddit 上要求原生 OSC,输出和输入都要,它直接上了我的清单。你不必等它。这份指南讲的是我今天会怎么设置,大约十五分钟,另外还会看一看其他选择。
InputConfig 1.7 版预计于 2026 年 10 月发布,届时应用将完整支持简体中文。
步骤
- 连接手柄,打开 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 的隐私政策里。所以等原生 OSC 来了,它会是你自己打开的东西,指向你选的地址,其余时候保持关闭。
而 MIDI 则完全留在你的 Mac 上。InputConfig 把 MIDI 交给桥,网络那一部分由桥来做。
新的设置就别用 OSCulator 了
多年来,OSCulator 就是这个问题的答案,很多旧的论坛帖子至今仍在推荐它。它在 2024 年底停止了运营。最后一个版本只支持 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 间切换的预设。
原生 OSC 可能是什么样子
我倾向的方案:
- OSC 输出。来自任何按钮、摇杆或扳机。
- OSC 输入。这样另一个 App 可以在 InputConfig 里按按钮。
- 默认关闭。一切都关着,直到你打开它并给它一个地址。
如果这对你有帮助,请告诉我。听到会用它的人的声音,才会让它在清单上往前挪。
简短总结
- InputConfig 发送 MIDI。它还不会发送 OSC。
- Chataigne 搭桥。设置一个 MIDI 输入模块和一个 OSC 输出模块,每个控制一个映射。
- 先查端口。然后在 macOS 15 及更高版本上检查本地网络。
MIDI 进,OSC 出:网络那部分由桥来做,InputConfig 永远不用做。
常见问题
InputConfig 能直接发送 OSC 吗?
还不能。它发送 MIDI,像 Chataigne 这样的桥把它变成 OSC。两个方向的原生 OSC 在我的清单上。
OSCulator 怎么了?
它在 2024 年底停止了运营。最后一个版本只支持 Intel 并依赖 Rosetta,所以我现在会用 Chataigne。
这个能用于 OSC 灯光控台吗?
任何接受 OSC 的东西都行,包括 Eos 系列。不过对于灯光,你可能根本不需要 OSC。QLC+ 和 Lightkey 直接读取 MIDI。
延迟大吗?
MIDI 留在你的 Mac 里面,所以桥增加的很少。蓝牙通常是链条里最慢的一环,演出时用线缆有帮助。
更多中文页面
详细指南(英文)
作者说明。Ryleigh Newman 开发了 InputConfig,因为双手活动不便,每天都用手柄操作自己的 Mac。本页译自英文。Mac 的语言设为简体中文时,App 的主要按钮和菜单显示为中文,本页使用这些名称,并在括号中附上英文名称。App 的其他部分和网站的其他页面都是英文。
本页的其他语言版本: English, العربية, Čeština, Dansk, Deutsch, Español, Suomi, Français, עברית, Magyar, Bahasa Indonesia, Italiano, 日本語, 한국어, Norsk, Nederlands, Polski, Português, Русский, Slovenčina, Svenska, ไทย, Türkçe, Українська, Tiếng Việt, 繁體中文
免费。macOS 14 或更高版本。无需账户,数据不会离开你的 Mac。 源代码在 GitHub 上.