Как установить ticks_per_beat под MIDO для нового файла MIDI?
Чтение ticks_per_beat
под MIDO можно сделать через mid.ticks_per_beat
, Однако, если я хочу сохранить значение ticks_per_beat
(например, 120 или 480) в новый файл MIDI, как это можно сделать? (PS Я могу установить "время подпись" или "темп" следующим образом. Но, мне кажется, что нет никакой связи между этими значениями и ticks_per_beat
.)
track.append(MetaMessage('time_signature', numerator=4, denominator=4, clocks_per_click=24, notated_32nd_notes_per_beat=8, time=0))
track.append(MetaMessage('set_tempo', tempo=100000, time=0))
1 ответ
Решение
Значение тиков на такт не сохраняется вместе с MIDI-сообщением; это поле в заголовке файла MIDI.
MidiFile
Конструктор имеет множество недокументированных параметров:
class MidiFile(object):
def __init__(self, filename=None, file=None,
type=1, ticks_per_beat=DEFAULT_TICKS_PER_BEAT,
charset='latin1',
debug=False,
clip=False
):