신시사이저 타이밍
신시사이저는 다음과 같은 두 가지 시간 시스템에서 작동합니다.
참조 시간
샘플 시간
참조 시간은 메시지 시퀀스를 재생할 절대 시간(master 클록 단위)입니다. 사용자 모드 구현에서는 MIDI 메시지가 신시사이저에 공급될 때 IDirectMusicSynth::P layBuffer 메서드에 전달됩니다. 신시사이저, 웨이브 싱크 및 DirectMusic의 나머지 부분 모두 동일한 master 클록에서 작동해야 합니다. 이 클록은 IDirectMusicSynth::SetMasterClock 메서드의 구현과 IDirectMusicSynthSink::SetMasterClock의 웨이브 싱크에 의해 신디사이저에 연결됩니다.
샘플 시간은 신시사이저의 출력 버퍼에 대한 오프셋을 측정하는 데 사용됩니다. 이 버퍼는 웨이브 샘플로 채워지므로 샘플링 시간은 샘플링 속도를 기준으로 합니다. 예를 들어 샘플링 속도가 22.1kHz인 경우 각 1초는 22,100개의 샘플 또는 44,200바이트(16비트 모노 형식의 경우)와 같습니다.
웨이브 샘플 버퍼의 재생은 master 클록과 다른 타이밍 결정에 의해 제어될 가능성이 높기 때문에 참조 시간과 샘플 시간이 떨어져 있는 경향이 있습니다. 웨이브 싱크는 위상 잠금 루프를 구현하여 단계별로 유지합니다. 이 클록 동기화는 클록 동기화에 설명되어 있습니다.
이 섹션에는 다음도 포함됩니다.