ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

사용자 설명서

MIDI 구문

OnSong는 MIDI 명령을 표현하기 위해 텍스트 기반 구문을 사용합니다. 메타데이터 편집기MIDI 이벤트를 사용할 수 있지만, 텍스트로 MIDI 명령을 표현할 수도 있습니다.

구분된 값

먼저, 여러 MIDI 명령은 탭 문자, 쉼표, 세미콜론, 수직 파이프 또는 줄바꿈을 포함한 다양한 문자로 구분할 수 있습니다. 쉼표가 가장 일반적인 구분 기호입니다. 예를 들어:

1.2:0@0, PC1.2:3@0, N67@1, START, SS8

채널

각 항목에는 @ 기호가 포함될 수 있습니다. 기호 뒤의 숫자 값은 명령을 보낼 채널입니다. MIDI의 채널은 0부터 시작하므로 채널 1은 0(0), 채널 2는 1(1) 등입니다.

@ 기호를 사용하지 않으면 명령이 모든 채널에서 전송되거나 수신됩니다.

접두사

목록의 각 항목에는 접두사가 포함됩니다. 이 접두사는 전송할 MIDI 명령의 유형을 결정합니다. 여기에는 다음이 포함됩니다:

  • PC 또는 접두사 없음은 프로그램 변경 이벤트입니다.
  • N은 노트 이벤트입니다.
  • CC는 컨트롤 변경 이벤트입니다.
  • SS는 노래 선택 이벤트입니다.
  • START는 시작 명령입니다.
  • STOP은 중지 명령입니다.
  • CONTINUE는 계속 명령입니다.
  • F0은 SysEx 메시지 앞에 붙습니다.

명령의 값은 @ 기호 바로 앞에 나타나거나 @ 기호가 없는 경우 항목의 끝에 나타납니다. 이는 접두사에 따른 프로그램 변경, 컨트롤 변경, 노트 또는 노래 선택의 값입니다. SysEx 항목의 경우 SysEx의 16진수 값이 모든 SysEx 명령의 헤더로 사용되는 F0 접두사 바로 뒤에 제공됩니다.

하위 값

경우에 따라 추가 정보가 MIDI 명령에 하위 값으로 전달됩니다. 예를 들어 MSB 및 LSB뿐만 아니라 컨트롤 값의 속도를 이런 방식으로 보낼 수 있습니다. 이는 값 부분에 콜론을 추가하여 표현됩니다. 하위 값은 전송되는 MIDI 명령의 유형에 따라 다른 컨텍스트를 가집니다:

  • 프로그램 변경은 프로그램 변경의 MSB/LSB와 일치하는 하위 값을 가집니다. 이러한 값은 마침표로 구분되며 MSB가 왼쪽, LSB가 오른쪽에 있습니다.
  • 컨트롤 변경은 이를 사용하여 설정된 컨트롤의 값을 가집니다. 숫자는 0~127 사이일 수 있습니다. 생략하면 127의 값이 유추됩니다.
  • 노트 이벤트는 노트를 재생할 속도와 관련된 하위 값을 가집니다. 이를 0~127 사이의 숫자 값으로 설정할 수 있습니다.

예시

간단한 프로그램 변경으로 시작하겠습니다. 이 시나리오에서는 프로그램 변경 8을 사용하며, 채널 1에서 MSB 4와 LSB 2도 함께 보냅니다. 예시는 이 변형의 가장 복잡한 버전으로 시작하여 뱅크 선택 및 채널을 제거하여 더 광범위하게 변합니다:

PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7

컨트롤 변경은 구문의 왼쪽이 컨트롤 변경 번호이고 오른쪽이 선택적 값이라는 점을 제외하고는 유사합니다. 값이 제공되지 않으면 대신 127이 전송됩니다. 채널 3에서 컨트롤 변경 106을 값 64로 전송합니다.

CC105:63@2, CC105:63. CC105@2, CC105

이제 노트 이벤트를 살펴보겠습니다. OnSong은 MIDI C0을 MIDI 노트 스케일에서 0으로 계산을 시작하기 때문에 채널 8에서 C4를 75% 속도로 재생하려면 다음을 입력해야 합니다:

N60:95@7, N60@7, N60:95, N60

다시 한 번, MIDI 구문에서 값이 제거되면서 MIDI 명령이 더 광범위하고 덜 구체적이 된다는 것을 기억하는 것이 중요합니다. 예를 들어 노트 이벤트의 마지막 버전은 모든 채널에서 C4를 100% 속도로 전송합니다.

OnSong 1.999 — 마지막 업데이트: November 23, 2014