繁體中文

MIDI 的 NRPN 是什麼?

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

NRPN,也就是 Non-Registered Parameter Number,是用來控制比 128 個 Control Change 編號更多設定的方法。它由依序送出的一般 Control Change 訊息組成:CC 99 和 CC 98 選出是哪個參數,然後 CC 6 和 CC 38 設定它的數值。這樣有 16,384 個參數,每個數值最多有 16,384 階。RPN 用 CC 101 和 CC 100 以同樣的方式運作,用在每個廠商都共用的一小串參數。

這個機制是 MIDI 標準的一部分。哪個 NRPN 編號做什麼事,由每台合成器的廠商決定,說明書裡有清單。

一則一則讀懂 NRPN

步驟訊息帶的內容
1CC 99參數編號的粗調那一半(MSB)
2CC 98參數編號的微調那一半(LSB)
3CC 6,Data Entry數值的粗調那一半(MSB)
4CC 38數值的微調那一半(LSB),如果該參數有用到

CC 96 和 CC 97 可以接在後面取代數值,把選好的參數一次加一或減一。前兩則訊息指向一個設定,後兩則去改變它。

認識已登記的那些

RPN,也就是 Registered Parameter Number,用 CC 101 和 CC 100 選出參數,數值同樣用 CC 6 和 CC 38。它的編號在每個裝置上意思都一樣。

RPN(MSB、LSB)參數
0、0彎音範圍,以半音和音分計
0、1微調音準
0、2粗調音準
127、127Null:沒有選擇任何參數

已登記表示大家都同意,未登記表示由廠商自行定義。MIDI 彎音解釋了 RPN 0 設定的範圍。

實際走一個例子

在頻道 1 把彎音範圍設成 12 個半音,需要四則訊息,再加兩則把門關上。

位元組(十六進位)意思
B0 65 00CC 101 設為 0:RPN,粗調那一半是 0
B0 64 00CC 100 設為 0:RPN,微調那一半是 0,所以選到了彎音範圍
B0 06 0CCC 6 設為 12:十二個半音
B0 26 00CC 38 設為 0:沒有額外的音分
B0 65 7F、B0 64 7FRPN null,所以之後的 CC 6 不會不小心改到任何東西

最後要送 null,否則下一則 Data Entry 訊息會落在同一個參數上。把這些貼到 MIDI 訊息解碼器就能檢查。

分辨 NRPN 和 CC

Control ChangeNRPN
一次改變需要的訊息一則三到四則
參數數量128 個,很多有固定的工作16,384 個
數值範圍0 到 127最多 0 到 16,383
編號由誰定義常見的由 MIDI 標準定義每個廠商各自定義

CC 簡單但粗略,NRPN 精細但要多送幾則訊息。

知道什麼時候需要它

當合成器的說明書只把你想要的設定列成 NRPN,或是 128 階太粗而你聽得出跳動時,就使用 NRPN。其他一切情況,一般的 CC 比較簡單,而且大部分 DAW 一秒就能用 MIDI Learn 學會它。我做的免費 Mac App InputConfig 從遊戲手把送出的是單一訊息:音符、Control Change、彎音或 Program Change。如果合成器把同一個設定也提供成 CC,就用 CC。MIDI CC 清單列出了標準的那些。

簡短版

  • NRPN。CC 99 和 98 選擇,CC 6 和 38 設定。由廠商定義。
  • RPN。CC 101 和 100 選擇,CC 6 和 38 設定。屬於標準。
  • 結束。送出 127 和 127 來取消選擇。

NRPN 是四個 Control Change 合作的一個動作。

常見問題

NRPN 是什麼的縮寫?

Non-Registered Parameter Number。未登記表示每個廠商自己決定它的編號控制什麼。

哪些 CC 編號組成 NRPN?

CC 99 和 CC 98 選擇參數,CC 6 和 CC 38 設定它的數值。CC 96 和 CC 97 讓數值往上或往下一階。

NRPN 和 RPN 有什麼差別?

它們的運作方式相同。RPN 用 CC 101 和 CC 100 選擇,編號是標準的,例如彎音範圍。NRPN 用 CC 99 和 CC 98 選擇,編號由廠商設定。

NRPN 和 CC 有什麼差別?

CC 是一則訊息,數值從 0 到 127。NRPN 是依序的三到四則 CC 訊息,能控制 16,384 個參數,數值最多到 16,383。

我要怎麼用 MIDI 設定彎音範圍?

送出 RPN 0:CC 101 設為 0,CC 100 設為 0,然後用 CC 6 送半音數,用 CC 38 送音分。最後把 CC 101 和 CC 100 設為 127 來結束。

為什麼我的合成器忽略 NRPN?

四則訊息必須依序送到合成器的頻道,編號必須是它的說明書列出的,而且有些合成器需要在設定裡開啟 NRPN 接收。

更多中文頁面

詳細指南(英文)

作者說明。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 上.