繁體中文

MIDI Program Change 是什麼?

在 Mac App Store 下載 InputConfigInputConfig 在 Mac App Store 免費提供。支援 macOS 14 或以上版本,不需要帳號,不追蹤,開放原始碼。

Program Change 是告訴裝置切換到另一個音色、patch 或預設的 MIDI 訊息。它只帶一個 0 到 127 的數字,沒有其他東西。對 General MIDI 裝置送出 program 0,會得到鋼琴。送出 40,會得到小提琴。要選到超過 128 個音色,就先送出 Bank Select。

我做了 InputConfig,這是能傳送和接收 MIDI 的免費 Mac App,所以最後幾節說明如何從按鈕送出 Program Change,以及用它來切換配置。

步驟

  1. 在裝置的 patch 清單裡,找到你要的音色的 program 編號。
  2. 確認裝置是從 0 還是從 1 開始算 program,如果是從 1 開始,就減 1。
  3. 如果音色在另一個音色庫,先送出 Bank Select:CC 0,然後 CC 32。
  4. 在裝置接聽的頻道上送出 Program Change。

讀懂這則訊息

部分數值意思
狀態位元組0xC0 到 0xCFProgram Change,在頻道 1 到 16
資料位元組0 到 127Program 編號

這樣一共兩個位元組。頻道 1 上的 program 5,以十六進位寫是 C0 05。Program Change 沒有附帶的數值:編號就是整則訊息。

從 0 算還是從 1 算

訊息帶的是 0 到 127。很多鍵盤和 patch 清單顯示的是 1 到 128。兩者描述的是同樣的 128 個 program,所以鋼琴在傳輸線上是 program 0,在面板上是 program 1。如果出現的音色和你要的差了一個,就是兩端從不同的數字開始算。General MIDI 樂器清單並排顯示了兩欄。

用 Bank Select 選到超過 128 個音色

Program Change 在目前的音色庫裡選 128 個 program 的其中一個。Bank Select 選擇音色庫,它會在 Program Change 之前,以兩則 Control Change 訊息送出。

  • CC 0。Bank Select,粗調的那一半。很多裝置只用這一個。
  • CC 32。Bank Select,微調的那一半。
  • 然後是 Program Change。音色庫會在下一個 Program Change 到達時生效。

單獨的 Bank Select 不會讓你聽到任何改變,因為它在等後面的 Program Change。裝置用哪些音色庫編號,要看它自己的說明書。

和 Control Change 分清楚

Program ChangeControl Change
作用切換到另一個音色或預設移動一個控制項:旋鈕、推桿、踏板
帶的內容一個 0 到 127 的數字一個控制器編號和一個數值,各是 0 到 127
多常送出一次,在你想改變的時候持續送出,隨著控制項移動

Program Change 選音色,Control Change 調整音色。MIDI CC 清單有每個控制器編號。

從按鈕送出一個

在 Mac 上,InputConfig 能透過自己的虛擬 MIDI 連接埠,從遊戲手把按鈕、鍵盤按鍵、腳踏板或 MIDI 打擊墊送出 Program Change。每按一次就依編號叫出一個 patch,從 0 開始算。一個按鈕對應一個 patch,換音色時手不用離開樂器。MIDI 輸出有設定方式。

用它來切換配置

反過來也行。從 MIDI 控制器進來的 Program Change,可以當成 InputConfig 一列的輸入,每次 patch 改變時觸發一次,而那一列可以啟用某個預設。這樣控制器上的 patch 按鈕,就會翻轉它的打擊墊送出的整套快速鍵。控制器的 patch 按鈕變成了配置切換開關。Mac 上的 MIDI 轉按鍵有介紹。

簡短版

  • 是什麼。這是切換音色的兩位元組訊息:狀態 0xC0 加上頻道,然後是 0 到 127 的數字。
  • 超過 128 個。先送出 Bank Select,CC 0 和 CC 32,再送 Program Change。
  • 差一。傳輸線上從 0 開始算,很多螢幕從 1 開始算。

一個數字、一個頻道,音色就換了。

常見問題

MIDI Program Change 訊息是什麼?

這是告訴裝置切換到另一個音色或預設的兩位元組訊息。第一個位元組是 0xC0 加上頻道,第二個是 program 編號,0 到 127。

Program Change 和 Control Change 有什麼差別?

Program Change 切換到另一個音色,只帶一個數字。Control Change 移動單一控制項,例如音量或濾波器,帶的是控制器編號和數值。

我要怎麼選到 program 128 以上的音色?

先送出 Bank Select,也就是 CC 0,通常還有 CC 32,再送 Program Change。裝置用的音色庫編號列在它的說明書裡。

為什麼我的 Program Change 選到了錯的 patch?

通常是差了一。訊息從 0 開始算 program,而很多裝置從 1 開始顯示,所以把螢幕上的編號減 1。如果差很多,就是裝置在不同的音色庫。

MIDI program 有多少個?

每個音色庫 128 個,在訊息裡編號是 0 到 127。Bank Select 會把它乘以裝置擁有的音色庫數量。

更多中文頁面

詳細指南(英文)

作者說明。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, 简体中文

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