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는 계속 명령입니다.
  • WAIT는 더 많은 이벤트를 전송하기 전에 특정 시간을 기다립니다.
  • F0은 SysEx 메시지에 접두사를 붙입니다.
  • @는 MIDI 전역 태그에 접두사를 붙입니다.

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

부값

경우에 따라 추가 정보가 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 1.999 — 마지막 업데이트: August 29, 2019