Music21:在写入的 MIDI 文件末尾去除空数据
Music21: Strip empty data at end of written midi file
我正在使用 music21 编写一个简单的 midi 文件:
import music21
stream = music21.stream.Stream()
n = music21.note.Note(60)
n.duration.type = 'half'
stream.insert(0, n)
stream.write('midi', 'out.midi')
这会演奏半个小节的中音 c。但是,对于该度量的其余部分,生成的文件包含空 space:
有没有办法删除尾随的“whitespace”?
PyPI (7.1.0) 的当前版本似乎总是在末尾添加四分之一音符。这可以通过设置 music21.defaults.ticksAtStart
来更改,尽管它的名称。单位是由 music21.defaults.ticksPerQuarter
定义的 MIDI 节拍。两者的默认值都是1024.
请注意,有些 MIDI 播放器会在文件结束时停止合成,因此如果没有填充,声音会在最后一个音符释放时停止而不是消失。
此外,无论您做什么,有些玩家都可能会填充到测量边界。除了插入休止符外,无法在 MIDI 中对拾取小节进行编码。
我正在使用 music21 编写一个简单的 midi 文件:
import music21
stream = music21.stream.Stream()
n = music21.note.Note(60)
n.duration.type = 'half'
stream.insert(0, n)
stream.write('midi', 'out.midi')
这会演奏半个小节的中音 c。但是,对于该度量的其余部分,生成的文件包含空 space:
有没有办法删除尾随的“whitespace”?
PyPI (7.1.0) 的当前版本似乎总是在末尾添加四分之一音符。这可以通过设置 music21.defaults.ticksAtStart
来更改,尽管它的名称。单位是由 music21.defaults.ticksPerQuarter
定义的 MIDI 节拍。两者的默认值都是1024.
请注意,有些 MIDI 播放器会在文件结束时停止合成,因此如果没有填充,声音会在最后一个音符释放时停止而不是消失。
此外,无论您做什么,有些玩家都可能会填充到测量边界。除了插入休止符外,无法在 MIDI 中对拾取小节进行编码。