繁體中文
MIDI Program Change 是什麼?
InputConfig 在 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,以及用它來切換配置。
步驟
- 在裝置的 patch 清單裡,找到你要的音色的 program 編號。
- 確認裝置是從 0 還是從 1 開始算 program,如果是從 1 開始,就減 1。
- 如果音色在另一個音色庫,先送出 Bank Select:CC 0,然後 CC 32。
- 在裝置接聽的頻道上送出 Program Change。
讀懂這則訊息
| 部分 | 數值 | 意思 |
|---|---|---|
| 狀態位元組 | 0xC0 到 0xCF | Program Change,在頻道 1 到 16 |
| 資料位元組 | 0 到 127 | Program 編號 |
這樣一共兩個位元組。頻道 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 Change | Control 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, 简体中文
免費。macOS 14 或以上版本。不需要帳號,資料不會離開你的 Mac。 原始碼在 GitHub 上.