$$ \definecolor{rr}{rgb}{0.95,0.1,0} \definecolor{bb}{rgb}{0,0.4,1} \definecolor{gg}{rgb}{0,0.6,0} \definecolor{yy}{rgb}{0.8,0.5,0} \definecolor{pp}{rgb}{0.9,0,0.5} $$

미디 1.0 상세명세 / 메시지 유형

~카테고리:
나머지/midiSpec

메시지 유형

메시지는 주로 ★채널메시지와 ★시스템메시지 두 부류로 나뉜다.

채널 메시지

채널메시지의 ★네 비트는 상태바이트에 써서 메시지를 열여섯 미디채널 중 한 채널에 위치시키고, ★네 비트는 메시지를 정의하는 데 쓰인다. (표2 참조) 따라서 채널메시지는 상태바이트로 인코딩된 채널번호에 맞는 채널번호를 가진 시스템의 수신기를 위하려는 것이다.

악기는 미디메시지를 여러 채널에서 받을 수 있다. 무슨 프로그램 번호가 켜져있는가 또는 무슨 모드로 실행하는가 등의 주요 명령어를 받는 채널을 "기본채널"이라 한다. 여러 채널(기본채널 포함)에서 실행(performance) 데이터를 받도록 악기를 설정할 수 있다. 이를 "보이스채널"이라 한다. 이런 다중채널의 상황에 대해선 뒤에서 자세히 논한다.

채널메시지의 유형은 두 가지가 있다. 보이스, 모드.

채널 보이스 메시지

보이스메시지는 보이스채널을 통해 보내져 악기의 보이스를 조작한다.

채널 모드 메시지

모드메시지는 악기의 기본채널로 보내져, 보이스메시지에 대한 악기의 반응을 정의한다.

시스템 메시지

시스템메시지는 채널번호로 인코딩되지 않는다. 시스템메시지의 유형은 세 가지가 있다. 공통, 실시간, 독점.

시스템 공통 메시지

공통메시지는 채널과 무관하게 모든 메시지를 위한 것이다.

시스템 실시간 메시지

실시간메시지는 동기화에 쓰이며 시스템의 모든 `clock기반 장치(unit)를 대상으로 한다. 상태바이트만 있고 데이터바이트는 없다. 실시간메시지는 아무 때라도, 다른 상태의 메시지 한 개의 바이트들 사이에도 보내질 수 있다. 이 경우 실시간 메시지는 이전 상태에서 수신하는 프로세스가 재개된 뒤에 무시되거나 실행된다. `먼소린지 이해못해서 사망 0<-<

시스템 독점 메시지

독점메시지는 데이터바이트를 몇 개든지 가지며, 다른 상태바이트로(실시간메시지 제외)도, 독점끝(End of Exclusive, EOX)으로도 끝마칠 수 있다. EOX는 시스템독점메시지의 끝에서 반드시 보내져야 한다 (`※그럼 다른 상태바이트로 끝마친단 건 뭔 소린지 노이해). 이 메시지는 제작가 식별자(ID) 코드를 포함한다. 수신기가 ID코드를 인식 못 한 경우 뒤따르는 데이터는 무시되어야 한다.

`So that other users and third party developers can fully access their instruments, manufacturers must publish the format of the System Exclusive data following their ID code. Only the manufacturer can define or update the format following their ID.