我可以设置这样的比例:
~pp = Scale.phrygian(\pythagorean);
然后我可以创建一个Pbind
像这样播放音阶的:
(
Pbind(
*[
instrument: \default,
scale: ~pp,
degree: Pseq([0, 1, 2, 3, 4, 5, 6, 7], inf),
amp: 0.5,
dur: 0.5
]
).play;
)
但Synth.new
似乎根本没有得到它(只会导致沉默):
b = Synth.new(\default, [\scale: ~pp, \degree: 3, \amp, 0.5]);
有趣的是,如果我删除scale
参数:
b = Synth.new(\default, [\degree: 3, \amp, 0.5]);
然后我收到一张便条,但始终是同一张便条。它不响应degree
参数。
最终,我希望能够从外部 OSC 设备(我的手机!)触发笔记。这意味着连接OSCFunc
以侦听某些触发器,并在这些 OSC 事件发生时从音阶播放音符。我以为我可以使用Synth.new
insideOSCFunc
来实际弹奏音符,但它似乎不知道音阶,所以我有点卡住了。
任何人都可以就如何实现这一目标提供任何建议吗?