값 | 뜻 |
---|---|
0 | 다중채널 트랙 한 개가 있는 파일. |
1 | 동시적 트랙(이나 미디출력) 한 개 이상의 시퀀스가 있는 파일. |
2 | 독립적 단일트랙 패턴 한 개 이상이 나열된 파일. |
※헤더청크 문서에서 복붙해온 표.
청크 상세설명
0, 1, 2형식 파일(formats 0, 1, and 2)
0형식 파일에는 헤더청크 뒤에 트랙청크 하나가 따른다. 가장 호환성 좋은 데이터표현법이며, 신디사이저에서 소리를 내야 하지만 `sound effect boxes나 믹서 등 다른 것과 주로 관련된 프로그램에서 트랙 하나짜리 간단한 플레이어에 매우 유용하다. 이런 단순한 프로그램으로 작업하려면 지금 쓰이는 프로그램이 트랙 기반인 경우라도 이 따위 형식은 만들어봄직하다. 한편, 누군가 작성해준 1형식에서 0형식으로의 형식변환이 일부 설정에서 쓰기 너무 쉬운 덕에 지금 쓰는 프로그램에 넣을 때 문제를 덜어줄지도 모른다.
1형식과 2형식 파일은 헤더청크 한 개와 뒤따르는 트랙청크 한 개 이상이 있다. ★여러 동시적 트랙을 지원하는 프로그램은, 세로로 1차원 꼴 즉 트랙의 모음인 1형식의 데이터를 읽고 저장할 수 있어야 한다. ★여러 독립적 패턴을 지원하는 프로그램은, 가로로 1차원 꼴인 2형식 데이터를 읽고 저장할 수 있어야한다. 이 최소한의 기능이 최대한의 호환성을 보장할 것이다.
`Timing Clock과 `Song Pointer를 쓰는 `SMPTE 싱크로나이저와 컴퓨터가 있는 미디 시스템 안에서, `템포맵들(`which describe the tempo throughout the track, and may also include time signature information, so that the bar number may be derived)은 일반적으로 컴퓨터에서 생성된다. `싱크로나이저와 함께 쓰려면 우선 컴퓨터에서 옮겨야 한다. 빠르기 정보가 첫 MTrk 청크에 저장돼 있어야 `싱크로나이저가 미디파일에서 이 정보를 쉽게 뽑아낸다. ★0형식 파일에서 빠르기는 트랙에 흩어져 있을 것이고 `템포맵은 끼어드는 이벤트들을 무시해야 한다. ★1형식 파일에서, `템포맵은 반드시 첫 트랙으로서 저장돼야 한다. 1형식을 쓸 수 있는 게 아닌 이상, 템포맵을 읽는 이에게 친절하려면, 템포만으로 0형식 파일을 만드는 기능을 사용자에게 제공하라.
모든 미디파일은 빠르기와 박자표를 명시해야 한다. 하지 않으면 분당 120박에 4분의4박자로 간주된다. ★0형식에서 이 메타이벤트들은 적어도 다중채널 트랙 한 개의 시작부분에 발생해야 한다. ★1형식에서 이 메타이벤트들은 첫 트랙에 있어야 한다. ★2형식에서, 시간적으로 독립적인 각 패턴들은 적어도 초기 박자표와 빠르기 정보를 갖고있어야 한다. ※`이벤트가 (모두) 트랙 첫부분에 있어야 한단 말인지, 첫부분에 이벤트가 있어야 하(고 그 뒤에도 있어도 된)다는 말인지 모르겠다. 아무튼~~ 우리 한국말은 "이성적이고 똑부러지는"데 영어는~ "감정적이고 문맥에 의존"… 궁시렁 궁시렁.
`We may decide to define other format IDs to support other structures. A program encountering an unknown format ID may still read other MTrk chunks it finds from the file, as format 1 or 2, if its user can make sense of them and arrange them into some other structure if appropriate. Also, more parameters may be added to the MThd chunk in the future: it is important to read and honor the length, even if it is longer than 6.