如何使用 Python 中的长笛乐器从音符制作 MIDI 文件(music21 库)
Posted
技术标签:
【中文标题】如何使用 Python 中的长笛乐器从音符制作 MIDI 文件(music21 库)【英文标题】:How to make MIDI file from notes with Flute instrument in Python (music21 library) 【发布时间】:2019-03-14 19:01:09 【问题描述】:我有一些笔记,我想要的是用长笛乐器创建 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】:根据documentation,具有storedInstrument
属性的唯一类是note.Unpitched
。
还有:
Unpitched
对象目前没有做任何事情,不应使用。
无论如何,music21/midi/translate.py
中的testMidiProgramChangeA
/B
函数显示了如何完成此操作:只需将仪器对象添加到应该使用它的Note
s 之前的Stream
中:
output_notes.append(instrument.Flute())
new_note = ...
output_notes.append(new_note)
...
【讨论】:
以上是关于如何使用 Python 中的长笛乐器从音符制作 MIDI 文件(music21 库)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 unix 中将 midi 音符输出到 midi 乐器?
Java MIDI - ControllerEventListener(如何更改乐器)