Partager via


Minutage du synthétiseur

Le synthétiseur fonctionne avec deux systèmes de temps différents :

  • Heure de référence

  • Période d'échantillonnage

L’heure de référence est l’heure absolue (en unités master-clock) à laquelle une séquence de messages doit être lue. Dans les implémentations en mode utilisateur, il est transmis à la méthode IDirectMusicSynth::PlayBuffer lorsque les messages MIDI sont transmis au synthétiseur. Le synthétiseur, le récepteur d’ondes et le reste de DirectMusic doivent tous fonctionner sous la même horloge maître, qui est attachée au synthétiseur par votre implémentation de la méthode IDirectMusicSynth ::SetMasterClock et au récepteur d’ondes par IDirectMusicSynthSink ::SetMasterClock.

Le temps d'échantillonnage est utilisé pour mesurer les décalages dans le tampon de sortie du synthétiseur. Cette mémoire tampon est remplie d’échantillons d’ondes, de sorte que le temps d’échantillonnage est relatif au taux d’échantillonnage. Par exemple, à un taux d’échantillonnage de 22,1 kHz, chaque seconde de temps équivaut à 22 100 échantillons ou 44 200 octets (dans le cas d’un format mono 16 bits).

Étant donné que la lecture de la mémoire tampon de l’échantillon sonore est susceptible d’être contrôlée par un oscillateur de synchronisation différent de l’horloge principale, le temps de référence et le temps d'échantillonnage ont tendance à s’écarter. L'absorbeur d'ondes les synchronise en implémentant une boucle à verrouillage de phase. Cette synchronisation d’horloge est décrite dans Synchronisation des horloges.

Cette section inclut également les éléments suivants :

Latence du synthétiseur

Time-Stamped événements