Compartir a través de


Tiempo del sintetizador

El sintetizador funciona con dos sistemas diferentes de tiempo:

  • Hora de referencia

  • Hora de ejemplo

La hora de referencia es la hora absoluta (en unidades de reloj maestro) en la que se reproducirá una secuencia de mensajes. En implementaciones en modo de usuario, se pasa al método IDirectMusicSynth::P layBuffer cuando los mensajes MIDI se alimentan al sintetizador. El sintetizador, el receptor de onda y el resto de DirectMusic deben funcionar bajo el mismo reloj maestro, que está conectado al sintetizador por su implementación del método IDirectMusicSynth::SetMasterClock y al receptor de onda por IDirectMusicSynthSink::SetMasterClock.

El tiempo de ejemplo se usa para medir los desplazamientos en el búfer de salida del sintetizador. Este búfer se rellena con muestras de onda, por lo que el tiempo de muestra es relativo a la frecuencia de muestreo. Por ejemplo, a una velocidad de muestreo de 22,1 kHz, cada segundo de tiempo equivale a 22 100 muestras o 44 200 bytes (en el caso de un formato mono de 16 bits).

Dado que es probable que la reproducción del búfer de muestra de onda se controle mediante un cristal de tiempo diferente al reloj maestro, la hora de referencia y la hora de muestra tienden a desfase. El receptor de onda los mantiene paso a paso mediante la implementación de un bucle bloqueado por fases. Esta sincronización de reloj se describe en Sincronización de reloj.

Esta sección también incluye:

Latencia del sintetizador

Eventos con marca de tiempo