Frage

Ich möchte wissen, wie man MIDI -Zecken in tatsächliche Wiedergabe von Sekunden umwandelt.

Wenn beispielsweise der MIDI PPQ (Impulse pro Viertel Note) 1120 ist, wie würde ich ihn in die Wiedergabe von Real World Seconds umwandeln?

War es hilfreich?

Lösung

Die Formel ist 60000 / (BPM * PPQ) (Millisekunden).

Wobei BPM das Tempo der Strecke ist (Schläge pro Minute).

(dh eine 120 BPM -Strecke hätte eine Midi -Zeit von (60000 / (120 * 192)) oder 2,604 ms für 1 Tick.

Wenn Sie den BPM nicht kennen, müssen Sie das zuerst bestimmen. Die MIDI -Zeiten sind vollständig vom Track -Tempo abhängig.

Andere Tipps

Sie benötigen zwei Informationen:

  • Ppq (Impulse pro Viertel Anmerkung), die einmal im Kopf einer MIDI -Datei definiert sind.
  • Tempo (in Mikrosekunden pro Viertel Anmerkung), was durch definiert ist durch "Tempo" -Meta -Events "festlegen" und kann sich während des Musikstücks verändern.

Zecken können wie folgt in die Wiedergabe von Sekunden konvertiert werden:

ticks_per_quarter = <PPQ from the header>
µs_per_quarter = <Tempo in latest Set Tempo event>
µs_per_tick = µs_per_quarter / ticks_per_quarter
seconds_per_tick = µs_per_tick / 1.000.000
seconds = ticks * seconds_per_tick

Beachten Sie, dass PPQ auch als "Division" oder "Ticks pro Quartal Note" bezeichnet wird dokumentieren oben verknüpft.

Beachten Sie, dass das Tempo üblicherweise in BPM (eine Frequenz) dargestellt wird, aber RAW MIDI repräsentiert es in µs pro Quartal (eine Periode).

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