Преобразование MIDI клещей в фактические секунды воспроизведения
-
19-09-2019 - |
Вопрос
Я хочу знать, как преобразовать тика MIDI в фактические секунды воспроизведения.
Например, если MIDI PPQ (импульсы в квартал) составляет 1120, как бы я преобразовал его в секунды для воспроизведения в реальном мире?
Решение
Формула есть 60000 / (BPM * PPQ)
(миллисекунды).
Где BPM - темп трассы (удары в минуту).
(т.е. на треке 120 ударов в минуту будет проведено время (60000 / (120 * 192))
или 2,604 мс для 1 тика.
Если вы не знаете BPM, вам сначала придется определить это. Миди времена полностью зависят от темпа трека.
Другие советы
Вам нужны две части информации:
- Ппк (импульсы в четверть примечания), которая определена в заголовке MIDI -файла, один раз.
- Темп (в микросекундах в четверть примечание), которая определяется «Установить темп» мета -события и может измениться во время музыкального произведения.
Клеки могут быть преобразованы в воспроизведение секунд следующим образом:
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
Обратите внимание, что PPQ также называется «подразделение» или «тика» в четверть примечания »в документ Связано выше.
Обратите внимание, что темп обычно представлен в BPM (частота), но RAW MIDI представляет его в µS в квартал (период).