Question

Je veux savoir comment convertir les tiques MIDI en secondes de lecture réelles.

Par exemple, si le MIDI PPQ (impulsions par trimestre note) est 1120, comment le convertirais-je en secondes de lecture du monde réel?

Était-ce utile?

La solution

La formule est 60000 / (BPM * PPQ) (millisecondes).

Où BPM est le tempo de la piste (bat par minute).

(c'est-à-dire qu'une piste de 120 bpm aurait un temps midi de (60000 / (120 * 192)) ou 2,604 ms pour 1 tick.

Si vous ne connaissez pas le BPM, vous devrez d'abord le déterminer. Les temps MIDI dépendent entièrement du tempo de la piste.

Autres conseils

Vous avez besoin de deux informations:

  • Ppq (impulsions par trimestre note), qui est définie dans l'en-tête d'un fichier MIDI, une fois.
  • Tempo (en microsecondes par trimestre), qui est défini par "Set Tempo" Meta Events et peut changer pendant la pièce musicale.

Les tiques peuvent être converties en secondes de lecture comme suit:

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

Notez que PPQ est également appelé "Division" ou "tiques par trimestre note" dans le document lié ci-dessus.

Notez que le tempo est généralement représenté en BPM (une fréquence) mais le MIDI brut le représente en µs par trimestre (une période).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top