본문 바로가기

유니티

MIDI 파일을 분석 해보자 - 프롤로그

미디 파일을 이용해 해보고 싶은 것이 생겨 분석해보는 시간.

 

미디 파일을 까보면

헤더,트랙 청크로 구성이 되어 있다.

 

각 청크들은 청크 타입, 길이, 데이터로 기록을 한다고 한다.

 

청크 타입 : 헤더인지 트랙인지 구분할 수 있는 부분

길이 : 헤더는 6으로 고정 / 트랙은 음악마다 길이가 다르므로 가변

데이터 : 헤더는 포맷, 트랙수, 시간분할 / 트랙은 실질적인 연주 데이터들

 

"그래서 어쩌라고.. 눈으로 직접 확인해야겠어"

 

진짜로 어떻게 생겼는지 궁금해서 직접 미디를 찍어서 메모장으로 열어보았다.

 

 

 

 

아무런 음표도 찍지 않은 큰 보표를 미디파일로 변환하여 메모장으로 오픈

 

MThd가 헤더가 되겠고, MTrk은 트랙이겠지..

하지만 나머지 부분은 정상적으로 읽을 수 없다.

 

 

4분음표 가온도를 찍고 변환

 

차이점이 느껴지는가

 

 

 

'?P긄<' 이 추가가 되었다.

 

추가로 첫 줄에도 미세한 변화가 있는데

2 에서 : 으로 달라졌다.

 

트랙 청크를 다시 살펴보면

청크타입/길이/데이터이니

 

나중에 확실히 확인해야하는 부분이지만 일단 길이에 해당되는 부분이 바뀐게 아닐까 생각이 든다.

 

 

 

연달아서

' ㅏ<P긄<' 이 추가가 되었다.

(여기도 첫 줄 : 에서 A로 변화)

 

찍다보니 문득 드는 생각.

 

트랙청크의 구성은

청크타입, 길이, 데이터로 구성되어 있으니

실질적인 연주 데이터들이 마지막 부분에 기록되어 있어야 하는데

MTrk 은 왜 또 존재할까.. 하고

 

잠깐 생각해보니 악보 구성이 큰 보표로 되어있어, 낮은 음자리표용 트랙이 한개 더 있는 것으로 파악된다.

바로 테스트.

 

확실해졌다.

 

다른 부분의 변화는 없고, 우측 하단부분에 ?P긄0 라고 기록된 것을 확인할 수 있다.

 

 

 

일단 여기까지.