Frage

Eine recht einfache Frage für die ich eine Vermutung, aber ich kann keine definitive Antwort überall finden.

Der Hintergrund: Ich habe eine Multi-Track-MIDI-Datei mit TEMPO Kontrollen in der ersten Spur. Ich brauche die ABSOLUTE_TICK Zählung in anderen Tracks zu „Seconds“ (Sekundenbruchteilen von Anfang an der MIDI-Datei-Offset) zu übersetzen.

Ich habe die Formel ABSOLUTE_TICK zu Sekunden auf der PulsePerQuarterNote (PPQN) für die Datei mit dem Tempo (MS pro Viertelnote) auf der Basis zu beziehen.

Die Frage ist: tun TEMPO Änderungen in der ersten Spur (Spur 0) an alle anderen Spuren gelten

?

Wenn ja, dann, während ich andere Spuren bin Parsen (z Spur 4, die in NOTE_ON und NOTE_OFF Nachrichten Ich bin interessiert hat) Ich brauche einen Finger zu halten, um die TEMPO Änderungen in Spur 0 parallel zeigen. Ist das richtig?

Danke,

Mark

War es hilfreich?

Lösung

Kurz gesagt, ja. Die erste Spur enthält die Timing-Informationen, die für die gesamte Anordnung angewandt werden, so wenden Sie diese Nachrichten für jede der Spuren mit dem gleichen absoluten Zeit. Da alle Ereignisse einer in Zecken Offset verwenden, müssen Sie zuerst die Tempowechsel Nachrichten extrahieren, wandeln sie in der absoluten Zeit, und dann, wie Sie in den anderen Spuren lesen gelten Sie diese Nachrichten auf der Grundlage dieser Zeitleiste.

Aus MIDI Fanatiker technischen Gehirnwäschezentrum :

  

In einem Format 0 Datei werden die Tempoänderungen im ganzen einer MTrk verstreut. Im Format 1 sollte die erste MTrk besteht aus nur dem Tempo (und Taktart) Ereignisse, so dass es durch eine Vorrichtung, die zur Erzeugung eines „Tempo Map“ gelesen werden kann. Am besten ist es nicht MIDI-Events in diesem MTrk zu platzieren. Im Format 2, das jeweils MTrk sollte mit mindestens einem Anfangstempo (und Taktart) Ereignisse.

beginnen

Wie gesagt, einige Sequenzern diese Regel brechen und MIDI-Events in der ersten Spur setzen info neben Timing, da der Standard in dieser Hinsicht nicht so spezifisch ist. Ihr Programm sollte mit beiden Fällen beschäftigen, da es wahrscheinlich ist, MIDI-Dateien in der freien Natur zu begegnen, die auf diese Weise formatiert sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top