본문 바로가기
OMU
로그인
악기 입문

MIDI RPN NRPN: 주소 선택과 데이터 입력을 나누어 읽기

RPN의 CC101·100, NRPN의 CC99·98, 데이터 엔트리 CC6·38을 구별하고 기기별 지원과 값 해석의 차이를 알아봅니다.

OMU 에디터6분 분량
MIDI RPN NRPN: 주소 선택과 데이터 입력을 나누어 읽기 대표 이미지

MIDI RPN과 NRPN은 매개변수의 주소를 선택한 뒤 관련 데이터를 전달하는 방식이다. 컨트롤체인지 번호 하나가 언제나 특정 기능 하나를 직접 나타내는 경우와 달리, 앞서 어떤 주소가 선택되었는지가 뒤의 데이터 의미에 영향을 준다. 따라서 로그의 마지막 값만 보는 것보다 주소 선택과 데이터 입력의 관계를 함께 읽는 것이 중요하다.

RPN과 NRPN을 가르는 기준

RPN은 Registered Parameter Number로, MIDI 표준에 등록된 매개변수 번호 체계를 뜻한다. NRPN은 Non-Registered Parameter Number로, 제조사나 제품이 정의한 매개변수를 다루는 데 쓰인다. 여기서 등록 여부는 사용자가 장치를 온라인 계정에 등록했는지와는 관계가 없다. 매개변수 번호의 의미가 어떤 규약에 의해 정해지는지를 구별하는 말이다.

RPN이라고 해서 모든 수신기가 모든 등록 매개변수를 지원하는 것은 아니다. NRPN도 단지 비표준이므로 잘못된 데이터라는 뜻은 아니다. 대상 제품이 해당 주소를 어떻게 정의하고 있는지가 중요하다. 같은 NRPN 번호가 다른 제조사나 다른 제품에서도 같은 기능이라고 가정하면 서로 다른 설정을 같은 의미로 읽을 위험이 있다.

RPN 주소는 CC101과 CC100

RPN의 주소 선택에는 CC101이 MSB, CC100이 LSB로 사용된다. 두 컨트롤의 값이 매개변수 번호를 구성하며 이 단계는 주소를 가리키는 단계다. CC101에 들어 있는 값 자체를 곧바로 음량이나 피치 변화량으로 해석해서는 안 된다. 현재 어떤 주소가 선택되어 있는지와 실제 데이터 값은 별개의 정보다.

가상의 기록에 RPN 주소 관련 메시지 뒤로 데이터 엔트리가 보인다면, 먼저 그 주소가 어느 매개변수를 뜻하는지 확인한다. 앞 구간이 잘린 로그에서는 선택된 주소를 알 수 없을 수 있다. 데이터 값이 또렷하게 보인다는 이유만으로 매개변수 이름까지 복원할 수 있는 것은 아니다. 이때는 알 수 없는 상태를 남기는 것이 임의로 기능을 붙이는 것보다 정확하다.

NRPN 주소는 CC99와 CC98

NRPN은 CC99를 MSB, CC98을 LSB로 사용하여 주소를 선택한다. RPN과 비슷하게 두 부분으로 주소를 표현하지만 선택 메시지가 다르므로 둘을 섞어 하나의 주소처럼 읽지 않는다. 문서에서 NRPN으로 설명한 기능을 RPN 표에서 찾거나 그 반대로 해석하면 번호가 같아 보여도 의미가 어긋난다.

NRPN의 세부 의미는 제품의 MIDI 구현 문서와 맞추어야 한다. 예를 들어 두 가상 제품의 문서에 같은 주소가 적혀 있어도 한쪽은 음색 편집 항목, 다른 쪽은 전혀 다른 기능일 수 있다. 이 예는 번호의 재사용 가능성을 설명하기 위한 것이며 실제 제품의 특정 기능을 주장하는 사례는 아니다. 제품명과 문서 버전이 빠진 NRPN 목록은 해석 범위가 제한된다.

데이터 엔트리 CC6과 CC38

주소 선택 뒤의 Data Entry에서 CC6은 MSB, CC38은 LSB 역할을 한다. 두 값을 함께 사용하는 매개변수도 있지만, 모든 항목이 두 값을 같은 방식으로 소비하거나 반드시 세밀한 값을 지원하는 것은 아니다. 수신기가 CC38을 어떻게 처리하는지와 값의 범위는 해당 매개변수 정의를 확인해야 한다.

특히 MSB와 LSB라는 이름만 보고 모든 값을 하나의 연속된 수치로 합쳐 같은 단위로 읽으면 안 된다. 예를 들어 RPN의 피치벤드 감도는 반음과 센트처럼 각 데이터 부분의 의미가 나뉘어 설명된다. 다른 항목은 또 다른 범위나 단위를 가질 수 있다. 데이터 엔트리의 형식과 매개변수의 실제 단위가 별개의 층이라는 점이 중요한 판별 포인트다.

선택 상태는 같은 채널에서 추적하기

RPN과 NRPN을 해석할 때는 채널별 선택 상태를 고려해야 한다. 한 채널의 주소 선택을 다른 채널의 데이터 엔트리와 연결해서는 안 된다. 화면의 트랙 배치가 아니라 메시지 자체의 채널 정보가 기준이며, 여러 트랙이 같은 채널을 쓸 경우 기록이 시간순으로 합쳐진 결과도 중요할 수 있다.

RPN에서 CC101과 CC100이 모두 127인 조합은 RPN Null로 알려진 선택 해제와 관련된다. 이 의미를 모든 NRPN 주소나 모든 제조사 명령에 그대로 옮기면 안 된다. 또한 선택 해제는 데이터를 초기값으로 되돌리는 것과 다른 개념이다. 주소가 선택되지 않은 상태와 이미 바뀐 매개변수 값이 복원된 상태를 혼동하지 않는 것이 좋다.

기록을 읽을 때 빠뜨리기 쉬운 정보

짧은 로그에서 CC6만 눈에 띄면 값이 무엇을 바꾸는지 알기 어렵다. 이전의 주소 선택이 기록 범위 밖에 있을 수 있고 수신기가 그 매개변수를 지원하지 않을 수도 있다. 메시지가 존재한다는 사실과 장치가 그 값을 실제로 적용했다는 사실은 별도로 확인해야 한다.

  • RPN인지 NRPN인지 주소 선택 컨트롤로 구별한다.
  • MSB와 LSB를 주소 부분과 데이터 부분으로 나누어 읽는다.
  • 같은 채널의 앞선 상태가 기록에 포함되어 있는지 확인한다.
  • 값의 단위와 지원 범위는 대상 제품 문서에 맞춘다.

이 글의 예시는 메시지 구조를 설명하기 위한 것이며 장치에 전송하거나 설정을 덮어쓰는 실행 안내가 아니다. 매개변수 번호를 알았다는 이유만으로 다른 제품에 같은 데이터를 적용하는 것은 호환성이 확인된 행동이 아니다. 이미 확보된 문서와 기록을 비교하는 범위에서 이해를 정리하는 것이 적절하다.

관련 악보 안내

MIDI 매개변수와 악보의 음표는 서로 다른 정보다. 선율과 화성의 표기를 함께 살펴보고 싶다면 OMU 피아노 악보 분류를 참고할 수 있다. RPN이나 NRPN 데이터, 특정 장치의 설정 파일이 제공된다는 뜻은 아니며 실제 곡 목록과 자료 형식을 개별적으로 확인해야 한다.

  • [OMU 관련 악보 안내](https://www.omuclub.com/score/piano)

댓글 0

아직 댓글이 없어요. 첫 댓글을 남겨 보세요.