我有一些笔记,我想要的是用长笛乐器创建 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')
最佳答案
根据documentation ,唯一具有 storedInstrument
属性的类是 note.Unpitched
。
还有:
The
Unpitched
object does not currently do anything and should not be used.
无论如何,music21/midi/translate.py
中的 testMidiProgramChangeA
/B
函数展示了如何完成此操作:只需添加将仪器对象放入 Stream
中,放在应使用它的 Note
之前:
output_notes.append(instrument.Flute())
new_note = ...
output_notes.append(new_note)
...
关于python - 如何在Python中使用长笛乐器从音符制作MIDI文件(music21库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55170188/