繁體中文

Mac 上的遊戲手把轉 OSC

在 Mac App Store 下載 InputConfig這款 App 完全免費。不需要建立帳號。沒有訂閱,沒有麻煩的下載,也沒有任何鎖住的功能。針對 Apple 晶片最佳化。

你現在就可以在 Mac 上透過橋接,用遊戲手把送出 OSC。InputConfig 本身不會送出 OSC,但它會送出 MIDI,而免費的橋接 App Chataigne 會把那個 MIDI 轉成 OSC,給任何在聆聽的東西使用:Resolume、TouchDesigner、QLab、Max、Eos 控台,以及更多。

這份指南是我今天會怎麼設定,大約十五分鐘,另外還看看其他選擇。

步驟

  1. 連接手把,打開 InputConfig,並開啟一個送出 MIDI 的預設集(Lighting Desk 或 Gamepad Synth 預設集都行)。
  2. 安裝 Chataigne,它是免費的,而且原生執行於 Apple 晶片。
  3. 在 Chataigne 裡新增一個 MIDI 模組,並選擇 InputConfig 作為它的輸入裝置。
  4. 新增一個 OSC 模組,並把目標設為你想控制的 App:如果在同一台 Mac 上就是 127.0.0.1,再加上該 App 聆聽的連接埠。
  5. 為每個 MIDI 控制項建立對應到一個 OSC 位址,如果接收的 App 預期 0 到 1,就把 0 到 127 縮放成 0 到 1。
  6. 移動手把,看著數值送達接收的 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 的連接埠加在旁邊。

InputConfig 的編輯器顯示四列:左搖桿送出 CC 1 和 CC 2,Cross 送出音符 60,R2 送出 CC 3。
圖 1:橋接中 InputConfig 的那一半:兩個搖桿軸是 CC 1 和 CC 2,Cross 上是音符,R2 上是 CC 3。Chataigne 把這些轉成 OSC。
在 InputConfig 的 Live Visualizer 裡,畫在 DualSense Edge 上的 Controller to MIDI for OSC 預設集。
圖 2:手把上的同樣四列。移動搖桿,它的 CC 標籤就會亮起,這讓你在去看橋接之前,就知道 MIDI 已經送出。

找出 OSC 位址

每個 App 為它的控制項命名的方式都不同,所以請查看它的文件,了解它聆聽的位址。Resolume、QLab 和 ETC 的 Eos 系列都有記載它們的 OSC 指令,而 TouchDesigner 的 OSC In CHOP 則接受你送給它的任何東西。對於燈光,你可能根本不需要 OSC:QLC+ 和 Lightkey 直接讀取 MIDI。

如果沒有東西送達

依照這個階梯往上試,最常見的錯誤排在前面:

  1. 檢查連接埠。接收的 App 必須聆聽橋接所送出的同一個連接埠。這是我最常犯的錯誤。
  2. 允許區域網路。在 macOS 15 和更新版本上,App 需要權限才能連到你區域網路上的其他裝置。如果 OSC 沒有出現在另一台電腦上,請在「系統設定」、「隱私權與安全性」、Local Network 裡允許橋接 App。InputConfig 本身不需要這項權限,因為 MIDI 從不離開你的 Mac。
  3. 檢查縮放。如果數值有送達但幾乎沒有變動,接收的 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

在 Mac App Store 下載 InputConfig免費。macOS 14 或以上版本。不需要帳號,資料不會離開你的 Mac。 原始碼在 GitHub 上。