我写了一个python脚本来从midi文件中提取所有音符,它们的偏移量和持续时间。我已经实现了,但是四分之一长度(四分音符中的持续时间)存在问题。我收到许多持续时间为1/3或其他三分之一的音符。但是,据我所知,所有音符的持续时间都不是1/3,因为它们都是四分音符,半音符或十六分音符。这些持续时间从哪里来?
我尝试使用具有不同时间签名的作品,但是4 / 4、3 / 4和3/2都为某些音符提供了1/4的长度。这是我的代码供参考:
float
其中bwv525-1.mid是我正在读取的文件
答案 0 :(得分:2)
我很了解这首歌和这种编码:它的大多数音符被编码为1/3长度的八分音符和1/6长度的十六分音符,以给它们一些分隔。
MIDI文件通常编码性能而不是分数。