我编写了一个 python 脚本来从一个 midi 文件中提取所有的音符、它们的偏移量和持续时间。我已经做到了这一点,但是我对四分音符(四分音符的持续时间)有疑问。我得到许多持续时间为 1/3 或其他一些三分之一的音符。然而,据我所知,没有一个音符有任何 1/3 的持续时间,因为它们都是四分音符、二分音符或十六分音符。这些持续时间来自哪里?
我尝试过使用具有不同时间签名的乐曲,但 4/4 乐曲、3/4 乐曲和 3/2 乐曲都为某些音符提供了 1/3 的四分之一长度。这是我的参考代码:
lis = []
s = converter.parse("music2/" + "bwv525-1.mid")
a = s.flat
for item in a.notes:
print(item.duration.type, item.duration.dots, item.quarterLength)
其中 bwv525-1.mid 是我正在阅读的文件