다음을 통해 공유


타이밍 정보

MIDI 이벤트에 대한 타이밍 정보는 MIDIEVENT 구조의 dwDeltaTime 멤버에 저장됩니다. 시간은 표준 MIDI 파일 1.0 사양에 정의된 대로 틱으로 제공됩니다. 틱의 길이는 시간 형식과 스트림에 관련된 템포에 의해 정의됩니다. 스트림에 대한 자세한 내용은 MIDI 스트림참조하세요.

틱은 분기 노트당 마이크로초 또는 SMPTE(영화 및 텔레비전 엔지니어 협회) 시간의 틱으로 표현됩니다. MIDI 메시지를 개별적으로 보내거나 처리되지 않은 MIDI 메시지를 사용하는 애플리케이션은 4분의 1 박자 시간과 템포 정보를 사용하여 틱의 지속 시간을 결정합니다. MIDI 메시지를 전처리하는 애플리케이션은 경과된 시간을 사용 중인 SMPTE 단위의 수로 저장할 수 있습니다.

분기 노트 시간은 시간 구분 단어의 상위 단어 비트(비트 15)에 0으로 표시됩니다. 단어의 나머지 부분에는 4분의 1 음표당 틱 수가 포함됩니다. MIDI 데이터 스트림과 연관된 템포는 Standard MIDI Files 1.0 규격과 일치하는 단위(각 박에 대한 마이크로초)로 유지됩니다. 예를 들어, 4/4 박자의 4분음표가 4분음표당 500,000 마이크로초의 템포를 사용할 경우, 분당 120박자의 속도로 재생됩니다.

SMPTE 시간 나누기 형식은 템포 정보 없이 틱의 길이를 완전히 지정합니다. SMPTE 시간 형식을 사용하면 MIDI 시퀀스를 비디오 또는 스트라이프 오디오와 같은 다른 SMPTE 이벤트와 동기화할 수 있습니다. SMPTE 시간은 시간 구분 단어의 상위 비트(비트 15)에서 1로 표시됩니다. 가장 중요한 나머지 바이트는 음수 값으로 사용할 SMPTE 형식을 지정합니다. 지원되는 SMPTE 형식 및 해당 값(괄호)은 24(-24), 25(-25), 30(-30), 30 drop(-29)입니다. 시간 나누기 단어의 낮은 바이트는 SMPTE 프레임당 틱 수를 지정합니다.