可以通过ticks_per_beat在MIDO下读取mid.ticks_per_beat。但是,如果我想将ticks_per_beat的值(例如120或480)保存到新的MIDI文件中,该怎么做? (请注意,我可以如下设置“时间签名”或“速度”。但是,在我看来,这些值与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))

最佳答案

每节拍的滴答声值不会与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
                 ):

关于python - 如何将MIDO下的ticks_per_beat设置为新的MIDI文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45895492/

10-12 13:31