Как установить более одного инструмента от Python плюс Mingus?

В следующем примере A и B имеют инструменты setados, но как A, так и B используют только последний устанавливаемый объект, это как бы переписать.

from mingus.midi import fluidsynth as a
from mingus.midi import fluidsynth as b
from mingus.containers import Note

a.init('/usr/share/sounds/sf2/FluidR3_GM.sf2',"alsa")
a.set_instrument(0, 34, 0)
b.set_instrument(0, 35, 0)

a.play_Note(26, 0, 127)
a.sleep(0.5)
b.play_Note(26, 0, 127)
b.sleep(0.5)

Как я могу установить инструмент для A и B на другой инструмент в том же сценарии или каким-либо другим способом?

1 ответ

Решение

Прежде всего, если вы напишите:

from mingus.midi import fluidsynth as a
from mingus.midi import fluidsynth as b

затем a а также b как тот же идентичный объект. Итак, написание b.set_instrument(0, 35, 0) такой же как a.set_instrument(0, 35, 0), Насколько я понимаю fluidsynth Вы должны использовать два разных канала для каждого инструмента:

a.set_instrument(0, 34)
a.set_instrument(1, 35)

a.play_Note(26, 0, 127)
a.sleep(0.5)
a.play_Note(26, 1, 127)
a.sleep(0.5)
Другие вопросы по тегам