Partilhar via


Informação sobre agendamento

As informações de temporização para um evento MIDI são armazenadas no campo dwDeltaTime da estrutura MIDIEVENT . O tempo é dado em ticks, conforme definido na especificação Standard MIDI Files 1.0. O comprimento de um tick é definido pelo formato de tempo e, possivelmente, pelo tempo associado ao fluxo. Para obter mais informações sobre fluxos, consulte MIDI Streams.

Um tick é expresso como microssegundos por nota trimestral ou como ticks de tempo SMPTE (Society of Motion Picture and Television Engineers). Os aplicativos que enviam mensagens MIDI individualmente ou usam mensagens MIDI não processadas usam informações de tempo e tempo de nota trimestral para determinar a duração de um tick. Os aplicativos que pré-processam mensagens MIDI podem armazenar o tempo decorrido como uma contagem das unidades SMPTE que estão sendo usadas.

A hora da nota trimestral é indicada com um zero no bit de palavra alta (bit 15) da palavra de divisão de tempo. O restante da palavra contém os ticks por nota trimestral. Um tempo associado a um fluxo de dados MIDI é mantido em unidades (microssegundos por nota trimestral) consistente com a especificação Standard MIDI Files 1.0. Por exemplo, uma nota trimestral em 4/4 de tempo que usa um tempo de 500.000 microssegundos por nota trimestral é reproduzida à taxa de 120 batidas por minuto.

Os formatos de divisão de tempo SMPTE especificam completamente o comprimento de um tick sem a necessidade de informações de tempo. Ao usar formatos de tempo SMPTE, as sequências MIDI podem ser sincronizadas com outros eventos SMPTE, como vídeo ou áudio listrado. A hora SMPTE é indicada com um 1 no bit de ordem alta (bit 15) da palavra de divisão de tempo. O restante do byte mais significativo especifica o formato SMPTE em uso como valores negativos. Os formatos SMPTE suportados e seus valores correspondentes (entre parênteses) são 24 (-24), 25 (-25), 30 (-30) e 30 drop (-29). O byte inferior da palavra de divisão de tempo especifica o número de ticks por frame SMPTE.