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는 컨트롤 변경 이벤트입니다.
  • NRPN은 등록되지 않은 매개변수 번호입니다.
  • SS는 곡 선택 이벤트입니다.
  • START는 시작 명령입니다.
  • STOP은 중지 명령입니다.
  • CONTINUE는 계속 명령입니다.
  • WAIT는 더 많은 이벤트를 전송하기 전에 특정 시간 동안 대기합니다.
  • F0은 SysEx 메시지 앞에 있습니다.
  • @는 MIDI 전역 태그 앞에 있습니다.

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

하위 값

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

  • 프로그램 변경은 프로그램 변경의 MSB/LSB와 일치하는 하위 값을 가집니다. 이러한 값은 마침표로 구분되며 MSB는 왼쪽에, LSB는 오른쪽에 있습니다.
  • 컨트롤 변경은 이를 사용하여 설정된 컨트롤의 값을 가집니다. 숫자는 0~127 사이일 수 있습니다. 생략하면 127의 값이 암시됩니다. 하이픈으로 여러 값을 분리하여 값을 단계별로 진행할 수도 있습니다. 예를 들어 127-0은 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에서 값 64로 컨트롤 변경 106을 전송합니다.

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 문이 더 광범위하고 덜 구체적이 된다는 것을 기억하는 것이 중요합니다. 예를 들어 노트 이벤트의 마지막 버전은 모든 채널에서 100% 속도로 C4를 전송합니다.

WAIT 명령을 추가하여 MIDI를 지연시킬 수도 있습니다. 다음은 MIDI를 2초 및 500ms(반 초)만큼 지연시킵니다. 초를 1~10초 또는 밀리초로 지정할 수 있습니다.

WAIT2, WAIT500

마지막으로 참조할 수 있는 사전 구성된 MIDI 이벤트 목록인 MIDI 전역을 참조할 수 있습니다. "on"을 태그로 하는 MIDI 전역이 있는 경우(따옴표 없음) 다음을 사용하여 해당 전역을 참조할 수 있습니다:

@on
OnSong 2026 — 마지막 업데이트: March 11, 2020