如何在MIDO下将ticks_per_beat设置为新的MIDI文件?

时间:2017-08-26 12:42:21

标签: python midi mido

在MIDO下阅读ticks_per_beat可以通过mid.ticks_per_beat完成。但是,如果我想将ticks_per_beat(例如,120或480)的值保存到新的MIDI文件中,该怎么做呢? (p.s.我可以设置“时间签名”或“节奏”如下。但是,在我看来,这些值与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 个答案:

答案 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
                 ):