如何在python中确定.mid文件的持续时间?

时间:2014-01-27 01:11:09

标签: python audio midi

有没有办法在python中确定.mid文件的持续时间,无论是通过检查标题还是使用现有的库?

3 个答案:

答案 0 :(得分:1)

我验证了Mido库在几个棘手的Type 0和Type 1文件上运行良好。 http://mido.readthedocs.org/en/latest/midi_files.html

from mido import MidiFile
mid = MidiFile('testfile.mid')
print(mid.length)

答案 1 :(得分:0)

看看python-midi。我不认为它有一个特定的方法会立即告诉你持续时间是什么,但你应该能够根据节拍数和节奏来计算它。这是一个粗略的例子,但是您必须稍微使用库来查看它给出的对象是什么样的。

import midi
pattern = midi.read_midifile("mymidi.mid")
highest_tick = 0
for track in pattern:
    for tick in track:
        if tick['position'] > highest_tick:
            highest_tick = tick['position']

# duration = some math of tick * tempo

答案 2 :(得分:0)

您可以尝试使用aubio.org之类的内容来确定最后一个音符。

相关:How to calculate the time-length of a midi-file