如何使用Python中的Flute乐器从音符制作MIDI文件(music21库)

时间:2019-03-14 19:01:10

标签: python midi music21

我有一些笔记,我想要用Flute乐器创建MIDI文件。但是发生的是输出MIDI文件播放的是钢琴,而不是长笛。我尝试了其他乐器,但钢琴总是一样。发生了什么事?

(...)
new_note = note.Note(pattern)
new_note.offset = offset
new_note.storedInstrument = instrument.Piano()
output_notes.append(new_note)
(...)
midi_stream = stream.Stream(output_notes)
midi_stream.write('midi', fp='output.midi')

1 个答案:

答案 0 :(得分:1)

根据documentation,唯一具有storedInstrument属性的类是note.Unpitched

并且:

  

Unpitched对象当前不做任何事情,不应使用。

无论如何,testMidiProgramChangeA中的B / music21/midi/translate.py函数展示了如何实现:只需将仪器对象添加到Stream的{​​{1}之前},应该使用它:

Note