Condividi tramite


Informazioni sulla tempistica

Le informazioni di temporizzazione per un evento MIDI vengono archiviate nel membro dwDeltaTime della struttura MIDIEVENT. L'ora viene data in tick, come definito nella specifica Standard MIDI Files 1.0. La lunghezza di un tick è definita dal formato temporale ed eventualmente dal tempo associato al flusso. Per altre informazioni sui flussi, vedere MIDI Streams.

Un tick viene espresso o come microsecondi per semiminima o come tick del tempo SMPTE (Society of Motion Picture and Television Engineers). Le applicazioni che inviano messaggi MIDI singolarmente o utilizzano messaggi MIDI non elaborati si avvalgono delle informazioni sul tempo e sul tempo della nota da un quarto per determinare la durata di un tick. Le applicazioni che pre-elaborano i messaggi MIDI possono archiviare il tempo trascorso come conteggio delle unità SMPTE utilizzate.

Il tempo della nota da un quarto è indicato con uno zero nel word alto (bit 15) della parola di divisione temporale. Il resto della parola contiene i ticchettii per semiminima. Un tempo associato a un flusso di dati MIDI viene mantenuto in unità (microsecondi per semiminima) coerenti con la specifica Standard MIDI Files 1.0. Ad esempio, una semiminima in tempo 4/4 che utilizza un tempo di 500.000 microsecondi per semiminima suona alla velocità di 120 battiti al minuto.

I formati di divisione temporale SMPTE specificano completamente la lunghezza di un tick senza la necessità di informazioni sul tempo. Utilizzando i formati di tempo SMPTE, le sequenze MIDI possono essere sincronizzate con altri eventi SMPTE, ad esempio video o audio con striping. L'ora SMPTE è indicata con un valore 1 nel bit di ordine elevato (bit 15) della parola di divisione temporale. Il resto del byte più significativo specifica il formato SMPTE in uso come valori negativi. I formati SMPTE supportati e i valori corrispondenti (tra parentesi) sono 24 (-24), 25 (-25), 30 (-30) e 30 drop (-29). Il byte basso della parola di divisione temporale specifica il numero di tick per fotogramma SMPTE.