User Manual

MIDI 데이터 포맷
336 PM5D/PM5D-RH
사용
설명서
참고편
MIDI 데이터 포맷
여기에서는 PM5D 이해하고 송수신할 있는 데이터의 형식에 대해 설명합니다.
여기에서 설명하는 메시지에 추가하여 MIDI REMOTE 기능 또는 SCENE 기능의 MIDI EVENT 설정을 사용해서 모든 형식의
령을 전송할 있습니다.
1 CHANNEL MESSAGE
1.1 NOTE OFF (8n)
수신
[OTHER ECHO] ON 경우 이들 메시지는 MIDI OUT으로 에코됩니다.
[Rx CH] 일치하는 경우 이들 메시지는 수신되어 이펙트를 조정하는데 사용됩니다.
1.2 NOTE ON (9n)
수신
[OTHER ECHO] ON 경우 이들 메시지는 MIDI OUT으로 에코됩니다.
[Rx CH] 일치하는 경우 이들 메시지는 수신되어 이펙트를 조정하는데 사용됩니다.
1.3 CONTROL CHANGE (Bn)
두가지 형식의 컨트롤 변경을 송수신할 있습니다. [NRPN] (Non-Registered
Parameter Numbers: 비등록 파라미터 번호) 자유롭게 할당되는 [TABLE] (16CH x
110) 메시지입니다. TABLE 또는 NRPN 선택합니다.
수신
[Control Change ECHO] ON 경우 이들 메시지는 MIDI OUT으로 에코됩니다.
[TABLE MULTI] 선택된 경우 [Control Change Rx] ON이면 메시지가 수신되
[Control assign table] 설정에 따라 파라미터를 조정합니다. [TABLE SINGLE]
선택된 경우 [Control Change Rx] ON이고 [Rx CH] 일치되면 메시지가 수신
되어 [Control assign table] 설정에 따라 파라미터를 조정합니다. 할당할 있는
라미터에 대해서는 312페이지를 참고하십시오.
[NRPN] 선택된 경우 [Control Change Rx] ON이고 [Rx CH] 일치하면 메시
지가 수신되고, 메시지는 4개의 메시지 NRPN 컨트롤 번호(62h, 63h) DATA
ENTRY 컨트롤 번호(06h, 26h) 이용하여 지정된 파라미터를 조정합니다.
전송
[TABLE MULTI] 선택된 경우 그리고 [Control assign table] 할당된 파라미터를
조작할 [Control Change tx] ON 경우 메시지가 전송됩니다. [TABLE
SINGLE] 선택된 경우 그리고 [Control assign table] 할당된 파라미터를 조작할
[Control Change tx] ON 경우 [Tx CH] 채널에서 메시지가 전송됩니다.
당할 있는 파라미터에 대해서는 312페이지를 참고하십시오.
[NRPN] 선택된 경우 그리고 지정된 파라미터를 조작할 [Control Change Tx]
ON 경우 [Tx CH] 채널에서 4개의 메시지 NRPN 컨트롤 번호(62h, 63h) DATA
ENTRY 컨트롤 번호(06h, 26h) 전송됩니다.
할당표의 내용이 일치한다는 보장이 없기 때문에 컨트롤 변경(Control Change) 메시
지는 PM5D 에디터(Editor) 전송하기 위해 사용되지 않습니다. (파라미터 변경
(Parameter Chnage) 메시지가 항상 사용됩니다.)
컨트롤 변경(Control Change) 번호 0 32 뱅크 선택용입니다.
[TABLE] 선택된 경우
컨트롤 (Control Value) 파라미터 데이터로 변환하기 위한 등식
paramSteps = paramMax - paramMin + 1;
add = paramWidth / paramSteps;
mod = paramWidth - add * paramSteps;
curValue = parm * add + mod / 2;
(1) 할당된 파라미터의 단계가 128 미만일 경우
paramWidth = 128; rxValue = 컨트롤
(2) 할당된 파라미터의 단계가 128 이상이고 16,384 미만일 경우
paramWidth = 16384
(2-1) 높은(High) 데이터와 낮은(Low) 데이터를 수신했을
rxValue = 컨트롤 (High) * 128 + 컨트롤 (Low)
(2-2) 낮은(Low) 데이터를 수신했을
rxValue = (curValue & 16256) + 컨트롤 (Low)
(2-3) 높은(Low) 데이터를 수신했을
rxValue = 컨트롤 (High) * 128 + (curValue & 127)
(3) 할당된 파라미터의 단계가 16,384 이상이고 2,097,152 미만일 경우
paramWidth = 2097152
(3-1) 높은(High) 데이터, 중간(Middle) 데이터 낮은(Low) 데이터를 수신했을
rxValue = 컨트롤 (High) * 16384 + 컨트롤 (Middle) * 128 + 컨트롤 (Low)
(3-2) 낮은(Low) 데이터만 수신했을
rxValue = (curValue & 2097024) + 컨트롤 (Low)
(3-3) 중간(Middle) 데이터만 수신했을
rxValue = (curValue & 2080895) + 컨트롤 (Middle) * 128
(3-4) 높은(High) 데이터만 수신했을
rxValue = (curValue & 16383) + 컨트롤 (High) * 16384
(3-5) 중간(Middle) 데이터와 낮은(Low) 데이터만 수신했을
rxValue = (curValue & 2080768) + 컨트롤 (Middle) * 128 + 컨트롤 (Low)
(3-6) 높은(High) 데이터와 낮은(Low) 데이터만 수신했을
rxValue = (curValue & 16256) + 컨트롤 (High) * 16384 + 컨트롤 (Low)
(3-7) 높은(High) 데이터와 중간(Middle) 데이터만 수신했을
rxValue = (curValue & 127) + 컨트롤 (High) * 16384 + 컨트 (Middle) * 128
( rxValue > paramWidth) 경우
rxValue = paramWidth
param = ( rxValue - mod / 2) / add
[NRPN] 선택된 경우
STATUS 1000nnnn 8n
음표 꺼짐(Note Off) 메시지
DATA 0nnnnnnn nn
음표 번호
0vvvvvvv vv
벨로시티(무시됨)
STATUS 1001nnnn 9n
음표 켜짐(Note on) 메시지
DATA 0nnnnnnn nn
음표 번호
0vvvvvvv vv
벨로시티(1~127:켜짐, 0:꺼짐)
STATUS 1011nnnn Bn
컨트롤 변경
DATA 00
컨트롤 번호 (00)
0vvvvvvv vv
컨트롤 (0~127)
STATUS 1011nnnn Bn
컨트롤 변경
DATA 20
컨트롤 번호 (00)
0vvvvvvv vv
컨트롤 (0~127)
STATUS 1011nnnn Bn
컨트롤 변경
DATA 0nnnnnnn nn
컨트롤 번호(1~31, 33-95, 102~119) *
0vvvvvvv vv
컨트롤 (0~127)
* 번호 0, 32, 96~101 사용할 없습니다.
STATUS 1011nnnn Bn
컨트롤 변경
DATA 01100010 62
NRPN LSB
0vvvvvvv vv
파라미터 번호 LSB
STATUS 1011nnnn Bn
컨트롤 변경 *
DATA 01100011 63
NRPN MSB
0vvvvvvv vv
파라미터 번호 MSB
STATUS 1011nnnn Bn
컨트롤 변경 *
DATA 00000110 06
데이터 입력 MSB
0vvvvvvv vv
파라미터 데이터 MSB
STATUS 1011nnnn Bn
컨트롤 변경 *
DATA 00100110 26
데이터 입력 LSB
0vvvvvvv vv
파라미터 데이터 LSB
* 전송 중에 번째 이후 메시지의 STATUS 바이트를 추가할 필요가 없습니다.
바이트를 생략하더라도 정확히 수신됩니다.