繁体   English   中英

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

[英]How to split midi file based on notes pitch using python?

如何使用 python 根据音高拆分 midi 文件? 我试过 music21 图书馆,但我真的不知道它是如何工作的......

试试这个代码:

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”更改为您文件的任何名称并尝试一下。 如果您有任何问题,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM