Conversione dei tick MIDI in secondi di riproduzione effettivi
-
19-09-2019 - |
Domanda
Voglio sapere come convertire i tick MIDI in secondi di riproduzione effettivi.
Ad esempio, se il MIDI PPQ (impulsi per nota da un quarto) è 1120, come posso convertirlo in secondi di riproduzione reali?
Soluzione
La formula è 60000 / (BPM * PPQ)
(millisecondi).
Dove BPM è il tempo della traccia (battiti al minuto).
(cioè.una traccia da 120 BPM avrebbe un tempo MIDI di (60000 / (120 * 192))
o 2.604 ms per 1 tick.
Se non conosci il BPM, dovrai prima determinarlo.I tempi MIDI dipendono interamente dal tempo della traccia.
Altri suggerimenti
Hai bisogno di due pezzi di informazioni:
- PPQ (impulsi per nota), che è definita nell'intestazione di un file midi, una volta.
- Tempo (in microsecondi per nota), che è definito da "Imposta ritmo" meta eventi e possono cambiare nel corso del brano musicale.
Le zecche possono essere convertiti per la riproduzione secondi come segue:
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
Si noti che PPQ è anche chiamato "divisione" o "zecche per quarto di nota" nel documento legato sopra.
Si noti che Tempo è comunemente rappresentato in BPM (frequenza) ma cruda MIDI rappresenta in microsecondo per trimestre (periodo).