MIDI 文件中的 "duration" 和 "offset" 有什么区别?
What is difference between "duration" and "offset" in MIDI files?
我正在使用 "music21" 库来处理 MIDI 文件。不幸的是,对于那些不太了解音乐是如何创作的人来说,所提供的文档并不是那么清楚。 "duration" 和 "offset" 有什么区别?据我了解,第一个 note/chord 的偏移量为 0.0,我们假设它的持续时间为 1.0。然后,以下 note/chord 的偏移量为 1.0,持续时间为 0.5。然后,偏移量 1.5 和持续时间 2 等等。但有时它具有相同的值。我很困惑。代码:
s2 = instrument.partitionByInstrument(midi)
duration = s2._elemets[0]._elements[9].duration
"<music21.duration.Duration 12.0>"
offset = s2._elemets[0]._elements[9].offset
"12.0"
偏移量是(大致)从片段开始的时间长度。持续时间是音符保持的时间。如果乐曲中没有休止符(静音)并且没有两个音符同时发声的情况,则音符的偏移量只会是之前持续时间的总和。
我正在使用 "music21" 库来处理 MIDI 文件。不幸的是,对于那些不太了解音乐是如何创作的人来说,所提供的文档并不是那么清楚。 "duration" 和 "offset" 有什么区别?据我了解,第一个 note/chord 的偏移量为 0.0,我们假设它的持续时间为 1.0。然后,以下 note/chord 的偏移量为 1.0,持续时间为 0.5。然后,偏移量 1.5 和持续时间 2 等等。但有时它具有相同的值。我很困惑。代码:
s2 = instrument.partitionByInstrument(midi)
duration = s2._elemets[0]._elements[9].duration
"<music21.duration.Duration 12.0>"
offset = s2._elemets[0]._elements[9].offset
"12.0"
偏移量是(大致)从片段开始的时间长度。持续时间是音符保持的时间。如果乐曲中没有休止符(静音)并且没有两个音符同时发声的情况,则音符的偏移量只会是之前持续时间的总和。