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

MIDI 뱅크셀렉트: CC0·CC32와 프로그램 번호의 관계

MIDI 뱅크셀렉트의 MSB·LSB와 Program Change를 구별하고 기기별 지원 범위, 채널, 번호 표시 차이를 읽는 기준을 정리합니다.

OMU 에디터6분 분량
MIDI 뱅크셀렉트: CC0·CC32와 프로그램 번호의 관계 대표 이미지

MIDI 뱅크셀렉트는 음색을 구분하는 은행 주소와 관련된 메시지다. 프로그램 번호만으로 원하는 음색을 설명하기 어려울 때 뱅크 정보가 함께 사용된다. 다만 은행이라는 비유가 모든 기기의 음색 목록이 같은 방식으로 정리되어 있다는 뜻은 아니다. 메시지의 구조와 수신기의 실제 음색 배치를 나누어 이해하는 것이 핵심이다.

은행 주소와 프로그램 번호는 다르다

Program Change는 특정 채널에서 프로그램을 선택하는 메시지다. Bank Select는 그 프로그램 번호를 어느 은행의 번호로 해석할지와 관련된다. 문서에 같은 프로그램 번호가 여러 번 나와도 뱅크가 다르다면 서로 다른 음색을 가리킬 수 있다. 반대로 수신기가 뱅크를 사용하지 않으면 은행 번호를 적었다는 사실만으로 선택지가 늘어나지는 않는다.

가상의 음색표에 은행 A의 프로그램 하나와 은행 B의 같은 프로그램 번호가 있다면 두 항목의 주소는 다르다. 여기서 A와 B는 설명을 위한 이름이며 특정 제조사의 실제 음색명은 아니다. 뱅크 번호 없이 프로그램 번호만 기록하면 어느 항목을 뜻하는지 불명확해질 수 있다는 점을 보여 주는 예다.

CC0과 CC32가 맡는 부분

MIDI 1.0에서 Bank Select의 MSB는 CC0, LSB는 CC32다. 각각의 컨트롤 값은 0부터 127까지의 범위를 갖는다. MSB와 LSB를 조합한 주소 공간을 표현할 수 있지만 모든 기기가 그 조합을 전부 지원하거나 같은 의미로 사용하는 것은 아니다. 어느 쪽을 사용하는지는 수신기의 MIDI 구현 문서가 기준이다.

일부 기기는 MSB만 의미 있게 사용할 수 있고, 다른 기기는 LSB나 두 값을 함께 구분할 수 있다. 따라서 LSB가 보이지 않는 로그를 무조건 잘못된 데이터로 판단할 수 없다. 반대로 문서에서 LSB를 구별한다고 되어 있는데 그 정보가 빠져 있다면 주소가 충분히 명시되지 않은 상태일 수 있다. 데이터의 완전성은 기기별 지원 범위와 함께 판단해야 한다.

Program Change와 연결해서 읽기

일반적인 뱅크 선택은 관련 Bank Select 메시지가 먼저 나타나고 이후 Program Change가 나오는 관계로 설명된다. 뱅크 값은 다음 프로그램 선택에 사용할 상태로 보관될 수 있으므로, CC0이나 CC32가 보였다는 사실만으로 그 순간 소리가 바뀌었다고 결론 내릴 수는 없다. 실제 반영 조건과 지원 여부는 수신기의 설명을 확인해야 한다.

기록을 읽는 예로 같은 채널의 CC0, CC32, Program Change가 이어지는 장면을 생각해 볼 수 있다. 앞의 두 항목은 은행을 가리키고 마지막 항목은 그 안의 프로그램 선택과 관련된다. 이는 로그의 의미를 구분하기 위한 가상 사례이지 장치에 값을 전송하라는 절차가 아니다. 중간에 다른 메시지가 있거나 이전 상태가 남아 있다면 해당 구간만 잘라 해석하지 않는 것이 좋다.

채널이 다르면 같은 주소로 묶지 않는다

Bank Select와 Program Change는 채널 메시지다. 음색표가 같은 제품 안에 있더라도 서로 다른 MIDI 채널의 상태를 하나로 합치면 해석이 틀릴 수 있다. 한 채널에서 받은 뱅크 값과 다른 채널의 Program Change를 연결하여 하나의 선택으로 읽어서는 안 된다.

예를 들어 로그에서 채널 이름이나 번호가 다르게 표시된 두 줄이 나란히 있어도, 시간상 가까운 것만으로 같은 음색 선택 묶음이 되지는 않는다. 소프트웨어의 트랙과 MIDI 채널 역시 같은 개념이 아니다. 한 트랙이 여러 채널을 담을 수도 있고 여러 트랙이 같은 채널을 사용할 수도 있으므로, 트랙 제목보다 메시지 자체의 채널 정보를 확인하는 것이 판별점이다.

0부터 시작하는 값과 화면의 번호

Program Change의 데이터 값은 0부터 127까지지만, 제품 화면이나 음색표는 이를 1부터 128까지로 표시할 수 있다. 뱅크 번호 표기도 소프트웨어에 따라 원시 값과 사용자용 표기가 다를 수 있다. 따라서 화면의 숫자와 로그의 숫자가 하나 차이 난다고 해서 즉시 잘못된 음색 선택이라고 판단하지 않는다.

숫자를 비교할 때는 항목의 기준이 원시 MIDI 값인지, 제품 화면에 표시되는 순번인지 먼저 확인해야 한다. 같은 숫자가 적혀 있다는 이유만으로 같은 음색을 뜻한다고 보는 것도 위험하다. 제조사와 제품, 음색 모드, 사용한 음색표의 버전이 다르면 주소와 음색의 대응이 달라질 수 있다. 특정 프로그램 번호를 모든 장치의 보편적인 음색명으로 단정하지 않는 이유다.

문서와 로그에서 찾을 판별 포인트

뱅크 선택이 예상과 다르게 보일 때는 먼저 메시지의 종류와 표시 기준을 나누어 보는 것이 좋다. 이 단계에서는 기기에 새 데이터를 보내거나 기존 설정을 바꿀 필요가 없다. 구현표와 이미 확보된 기록만으로도 어떤 정보가 부족한지 구별할 수 있다.

  • CC0과 CC32 중 어떤 항목을 수신기가 지원하는지 확인한다.
  • Program Change가 같은 채널의 은행 상태와 연결되는지 살펴본다.
  • 화면 번호와 원시 값의 시작 기준을 구별한다.
  • 음색표의 제품명과 모드가 실제 대상과 일치하는지 확인한다.

이 네 가지를 통과해도 모든 음색 변화가 설명되는 것은 아니다. 플러그인의 프리셋 체계가 MIDI 뱅크와 별개일 수도 있고, 호스트의 자체 프리셋 이름이 표시될 수도 있다. 목록에 이름이 있다는 사실과 MIDI 메시지로 그 항목을 선택할 수 있다는 사실은 따로 확인해야 한다.

관련 악보 안내

음색의 주소와 곡의 음표는 서로 다른 층의 정보다. 곡의 선율과 화성 표기를 살펴보고 싶다면 OMU 피아노 악보 분류를 참고할 수 있다. 이 링크는 관련 악보 안내이며 MIDI 뱅크 파일, 특정 제품의 음색표 또는 프로그램 설정 자료가 제공된다는 뜻은 아니다. 실제 목록의 곡명과 편성, 자료 형식을 확인해야 한다.

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

댓글 0

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