다음을 통해 공유


신시사이저 타이밍

신시사이저는 다음과 같은 두 가지 시간 시스템에서 작동합니다.

  • 참조 시간

  • 샘플 시간

참조 시간은 메시지 시퀀스를 재생할 절대 시간(마스터 클록 단위)입니다. 사용자 모드 구현에서는 MIDI 메시지가 신시사이저에 공급될 때 IDirectMusicSynth::P layBuffer 메서드에 전달됩니다. 신시사이저, 웨이브 싱크 및 DirectMusic의 다른 구성 요소들도 모두 동일한 마스터 클록에서 작동해야 합니다. 이 마스터 클록은 IDirectMusicSynth::SetMasterClock 메서드의 구현으로 신시사이저에 연결되고, IDirectMusicSynthSink::SetMasterClock을 통해 웨이브 싱크에 연결됩니다.

샘플 시간은 신시사이저의 출력 버퍼에 대한 오프셋을 측정하는 데 사용됩니다. 이 버퍼는 웨이브 샘플로 채워지므로 샘플 시간은 샘플링 속도에 상대적입니다. 예를 들어 샘플링 속도가 22.1kHz인 경우 각 시간은 22,100개의 샘플 또는 44,200바이트(16비트 모노 형식의 경우)와 같습니다.

웨이브 샘플 버퍼의 재생은 마스터 클록과 다른 타이밍 크리스탈에 의해 제어될 가능성이 높기 때문에 참조 시간과 샘플 시간이 떨어지게 되는 경향이 있습니다. 웨이브 싱크는 위상 고정 루프를 구현하여 그들을 동기화 상태로 유지합니다. 이 클록 동기화는 클록 동기화에 설명되어 있습니다.

이 섹션에는 다음이 포함됩니다.

신시사이저 대기 시간

Time-Stamped 이벤트