다음을 통해 공유


타이밍 정보

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

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

분기 노트 시간은 시간 구분 단어의 상위 단어 비트(비트 15)에 0으로 표시됩니다. 단어의 나머지 부분에는 분기별 틱이 포함됩니다. MIDI 데이터 스트림과 연결된 tempo는 표준 MIDI 파일 1.0 사양과 일치하는 단위(분기 노트당 마이크로초)로 유지됩니다. 예를 들어 분기 노트당 500,000 마이크로초의 템포를 사용하는 4/4 시간의 분기 노트는 분당 120비트 속도로 재생됩니다.

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