Как сделать MIDI-файл из нот с помощью инструмента Flute в Python (библиотека music21) - PullRequest
1 голос
/ 14 марта 2019

У меня есть несколько заметок, и я хочу создать MIDI-файл с помощью инструмента Flute.Но что происходит, так это то, что выходной MIDI-файл воспроизводит Piano, а не Flute.Я пробовал другие инструменты, но это всегда одно и то же, Фортепиано.Что происходит?

(...)
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 Ответ

1 голос
/ 15 марта 2019

Согласно документации , единственным классом со свойством storedInstrument является note.Unpitched.

И:

Объект Unpitchedв настоящее время ничего не делает и не должен использоваться.

В любом случае функции testMidiProgramChangeA / B в music21/midi/translate.py показывают, как это сделать: просто добавьте объект инструмента вStream до Note s, которые должны его использовать:

output_notes.append(instrument.Flute())
new_note = ...
output_notes.append(new_note)
...
...