MIDI 中的时间签名元消息
Time Signature Meta Message in MIDI
我正在 Python 中使用 mido 库开发一个 MIDI 项目。我在手册中看到一个带有值的拍号元消息:notated_32nd_notes_per_beat,默认值为 8。
<meta message time_signature numerator=4 denominator=4 clocks_per_click=24 notated_32nd_notes_per_beat=8 time=0>
这是有道理的。但是,我可以这样定义它吗:
<meta message time_signature numerator=4 denominator=4 clocks_per_click=24 notated_32nd_notes_per_beat=32 time=0>
这会增加在 score/typesetting 软件中显示时的显示分辨率吗?请问这个有什么用?
文件 header 指定了每拍的节拍数,速度信息指定了一个拍的长度,以微秒为单位。需要这些值才能正确播放文件。
拍号消息的最后一个字段指定 MIDI 文件中的音符值如何与乐谱中的音符相关。它不影响发送事件的时间(因此纯播放程序将忽略此消息),但影响音符的显示方式。
例如,如果 header 表示每拍有 100 个节拍,拍号默认为每拍 8 个 32th 个音符,则note-on/note-off 距离为 100 个刻度的对显示为四分音符。如果将拍号更改为每拍 32 个 32th 个音符,则 100 个节拍的长度对应于一个完整的音符。
我正在 Python 中使用 mido 库开发一个 MIDI 项目。我在手册中看到一个带有值的拍号元消息:notated_32nd_notes_per_beat,默认值为 8。
<meta message time_signature numerator=4 denominator=4 clocks_per_click=24 notated_32nd_notes_per_beat=8 time=0>
这是有道理的。但是,我可以这样定义它吗:
<meta message time_signature numerator=4 denominator=4 clocks_per_click=24 notated_32nd_notes_per_beat=32 time=0>
这会增加在 score/typesetting 软件中显示时的显示分辨率吗?请问这个有什么用?
文件 header 指定了每拍的节拍数,速度信息指定了一个拍的长度,以微秒为单位。需要这些值才能正确播放文件。
拍号消息的最后一个字段指定 MIDI 文件中的音符值如何与乐谱中的音符相关。它不影响发送事件的时间(因此纯播放程序将忽略此消息),但影响音符的显示方式。
例如,如果 header 表示每拍有 100 个节拍,拍号默认为每拍 8 个 32th 个音符,则note-on/note-off 距离为 100 个刻度的对显示为四分音符。如果将拍号更改为每拍 32 个 32th 个音符,则 100 个节拍的长度对应于一个完整的音符。