有没有办法在python中确定.mid文件的持续时间,无论是通过检查标题还是使用现有的库?
答案 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之类的内容来确定最后一个音符。