シンセサイザーは、時間の 2 つの異なるシステムで動作します。
参照時間
サンプル時間
参照時間は、一連のメッセージを再生する絶対時間 (マスター クロック 単位) です。 ユーザーモードの実装では、MIDI メッセージがシンセサイザーに供給されるときに 、IDirectMusicSynth::P layBuffer メソッドに渡されます。 シンセサイザー、ウェーブ シンク、および DirectMusic の残りの部分はすべて、 IDirectMusicSynth::SetMasterClock メソッドの実装によってシンセサイザーに接続され、 IDirectMusicSynthSink::SetMasterClock によってウェーブ シンクに接続されている同じマスター クロックの下で動作する必要があります。
サンプル時間は、シンセサイザーの出力バッファへのオフセットを測定するために使用されます。 このバッファーにはウェーブ サンプルが格納されているため、サンプル時間はサンプリング レートに対して相対的です。 たとえば、サンプリング レートが 22.1 kHz の場合、各秒は 22,100 サンプルまたは 44,200 バイト (16 ビット モノラル形式の場合) に相当します。
波形サンプルバッファの再生はマスタークロックとは異なるタイミング結晶によって制御される可能性が高いため、基準時間とサンプル時間は離れてドリフトする傾向がある。 ウェーブシンクは、フェーズロックループを実装することで、同期を維持します。 このクロック同期については、「 クロック同期」を参照してください。
このセクションには、次も含まれます。