1

我有一些笔记,我想要的是用长笛乐器创建 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')
4

1 回答 1

1

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

和:

Unpitched对象当前不执行任何操作,不应使用。

无论如何,testMidiProgramChangeA/B中的函数music21/midi/translate.py显示了如何做到这一点:只需将仪器对象添加到应该使用它Stream的 s 之前:Note

output_notes.append(instrument.Flute())
new_note = ...
output_notes.append(new_note)
...
于 2019-03-15T07:34:53.540 回答