1

在下面的例子中,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 的工具设置为另一个仪器?

4

1 回答 1

1

首先,如果你写:

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

然后ab作为同一个相同的对象。所以写法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)
于 2014-02-12T19:20:01.047 回答