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

미디 프로그램체인지 정리: 뱅크 선택과 번호 차이로 생기는 혼선 줄이기

미디 프로그램체인지와 뱅크 선택의 관계, 번호 표시 차이, 재생 중 패치 전환 실습과 렌더링 전 점검 사항을 실용적으로 정리합니다.

OMU 에디터5분 분량
미디 프로그램체인지 정리: 뱅크 선택과 번호 차이로 생기는 혼선 줄이기 대표 이미지

프로젝트를 열 때마다 소리가 다른 악기로 바뀌거나 외장 음원의 패치가 엉뚱하게 선택된다면 프로그램체인지 메시지를 살펴볼 필요가 있다. 이 메시지는 악기 이름을 문장으로 전달하는 명령이 아니라 수신 장치가 해석할 프로그램 번호를 보낸다. 따라서 송신 편집기의 목록에 적힌 악기 이름과 실제 수신 음원의 소리가 반드시 같지는 않다. 미디 프로그램체인지 정리의 출발점은 번호, 뱅크, 채널, 장치의 대응표를 분리해 기록하는 것이다.

프로그램 번호가 뜻하는 범위

일반적인 MIDI 1.0 프로그램체인지는 지정 채널에서 프로그램을 선택하는 메시지다. 메시지에 들어가는 값은 0부터 127까지지만 편집 화면은 사람이 읽기 쉽게 1부터 128까지로 표시하기도 한다. 따라서 화면에 같은 번호가 보인다는 이유만으로 같은 메시지를 보낸다고 생각해서는 안 된다. 한쪽 화면이 다른 쪽보다 하나 크게 보이는 문제는 표시 기준의 차이일 수 있다. 이를 임의로 수정하기 전에 실제 송신 값과 장치의 프로그램 표를 확인해야 한다.

  • 프로젝트 메모에 화면 표시 번호와 실제 MIDI 값을 구분해서 적는다.
  • 편집기의 악기 이름 목록이 어떤 음원 규격이나 장치 정의를 기준으로 하는지 확인한다.

뱅크 선택을 먼저 이해하기

프로그램 번호만으로는 많은 패치를 구분하기 어렵기 때문에 뱅크 선택을 함께 쓰는 장치가 있다. 일반적인 뱅크 선택 메시지는 CC0의 MSB와 CC32의 LSB를 사용하며 이후 프로그램체인지로 선택을 확정하는 방식이 흔하다. 그러나 모든 장치가 두 값을 모두 사용하지는 않고, 사용 가능한 조합과 적용 시점도 제품에 따른다. 뱅크 숫자가 같아도 다른 모델에서 같은 음색이 나온다는 보장은 없다. 장치 설명서의 뱅크 맵과 수신 설정을 기준으로 구성해야 한다.

  • 필요한 뱅크 선택 정보를 먼저 보내고 이어서 프로그램체인지를 보내는 순서를 확인한다.
  • 특정 뱅크로 이동하지 않는다면 미지원 값인지, 한쪽 선택 값만 쓰는 장치인지 살펴본다.

작은 테스트로 번호 대응표 만들기

외장 음원이나 프로그램체인지를 지원하는 악기를 한 채널에 연결한다. 현재 패치를 기록한 뒤 짧은 노트 앞에 프로그램 선택 메시지를 넣고 처음부터 재생한다. 화면과 실제 소리가 함께 바뀌는지 확인하고 같은 구간을 반복한다. 다음으로 프로그램만 바꾼 경우와 뱅크 선택을 함께 보낸 경우를 나누어 시험한다. 실패했을 때 여러 숫자를 무작정 넘기는 대신 수신 채널과 필터부터 살펴야 원인을 구분할 수 있다.

  • 장치가 바뀐 패치 이름을 표시한다면 그 이름과 전송한 값을 한 줄에 함께 기록한다.
  • 원치 않는 소리가 크게 날 가능성에 대비해 모니터 레벨을 낮추고 테스트용 구간을 사용한다.

가상악기에서 목록이 안 바뀌는 이유

일부 가상악기는 플러그인 호스트의 프리셋 기능과 MIDI 프로그램체인지를 별개로 취급한다. 내부에 프로그램 슬롯을 등록해야 반응하는 경우도 있고, 해당 메시지를 받지 않는 제품도 있다. 플러그인 상단의 프리셋 번호가 있다는 사실만으로 MIDI 메시지와 직접 연결되어 있다고 단정할 수 없다. 반대로 호스트가 프로그램 메시지를 다른 자동화로 변환하는 환경도 있으므로 악기 설명과 DAW의 라우팅 설정을 함께 확인해야 한다.

  • 미지원이라면 필요한 악기를 별도 인스턴스로 준비하고 트랙이나 라우팅으로 구분하는 방법을 검토한다.
  • 이 방법이 음원 전환과 완전히 같은 부하나 동작을 보장하는 것은 아니므로 프로젝트 환경에서 확인한다.

연주 도중 전환을 배치하는 예

가상의 건반 파트에서 앞 구간은 피아노, 뒤 구간은 다른 건반 음색으로 바꾼다고 하자. 전환 메시지와 새 노트를 같은 순간에 몰아넣으면 장치의 패치 로딩이나 이벤트 처리 순서에 따라 첫 음이 예상과 다르게 들릴 수 있다. 쉼이 있는 위치에서 전환을 시험하고 앞 음의 잔향과 서스테인 상태도 확인한다. 음이 유지된 상태에서 패치를 바꿀 때 기존 음을 끊는지, 남기는지, 다른 방식으로 처리하는지는 장치마다 다르다.

  • 전환 전후에 지속 중인 음과 페달 정보가 있는지 확인한다.
  • 실제 사용할 장치에서 필요한 전환 여유를 들어 보고 정하되 임의의 공통 대기 시간을 규칙으로 삼지 않는다.

저장과 중간 재생을 따로 검사하기

곡의 맨 앞에만 프로그램 선택을 넣어 두면 중간에서 재생할 때 원하는 소리가 나오지 않을 수 있다. DAW의 프로그램 추적 기능이 어떤 메시지를 복원하는지 확인하고, 구간 시작 상태가 중요한 곳에는 필요한 정보를 명확히 관리한다. MIDI 파일을 교환할 때도 음원 장치 정의가 함께 전달되지 않으면 번호만 남을 수 있다. 같은 파일이 다른 컴퓨터에서 다르게 들리는 상황을 방지하려면 의도한 음색 설명과 필요한 오디오 참고 자료를 별도로 정리하는 편이 안전하다.

  • 저장 후 다시 열기, 처음부터 재생, 전환 뒤에서 재생을 각각 시험한다.
  • 최종 렌더링에서도 전환부의 첫 음과 잔향을 직접 듣고 목록에 표시된 이름만으로 완료를 판단하지 않는다.

관련 악보 보러가기

편성 변화와 파트의 진입 위치를 악보에서 확인하며 패치 전환 지점을 계획할 수 있다. 아래 분류 링크는 탐색을 위한 것이며 특정 작품의 수록 여부를 보장하지 않는다.

  • [밴드 악보 분류 둘러보기](https://www.omuclub.com/score/band)

댓글 0

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