为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用python根据音符音高分割midi文件?

如何使用python根据音符音高分割midi文件?

陪伴而非守候 2023-08-22 15:57:51
如何使用 python 根据音高分割 MIDI 文件?我尝试了 music21 库,但我真的不知道它是如何工作的......
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

试试这个代码:


import pretty_midi

import copy


pitch_cutoff = 65


mid = pretty_midi.PrettyMIDI('my_file.mid')

low_notes = copy.deepcopy(mid)

high_notes = copy.deepcopy(mid)


for instrument in low_notes.instruments:

    for note in instrument.notes:

        if note.pitch > pitch_cutoff:

            note.velocity = 0


for instrument in high_notes.instruments:

    for note in instrument.notes:

        if note.pitch < pitch_cutoff:

            note.velocity = 0


low_notes.write("low_notes.mid")

high_notes.write("high_notes.mid")

它使用该pretty_midi模块将 MIDI 文件拆分为两个不同的文件。名为“high_notes.mid”的文件将仅在您设置变量的内容上方包含注释pitch_cutoff,而“low_notes.mid”仅在其下方包含注释。只需将“my_file.mid”更改为您的文件名并尝试一下即可。如果您有任何疑问,请告诉我。


查看完整回答
反对 回复 2023-08-22
  • 1 回答
  • 0 关注
  • 1553 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信