我正在尝试使用不返回信封(即其中的段不返回 0)。我发现env
在以下代码中不能多次触发信封:
(
SynthDef(\stupidSynth,
{
|t_trig|
var env, envShape, audio, env2;
envShape = Env.new([0, 1], [0.5], \sine);
env = EnvGen.kr(envShape, t_trig);
env2 = EnvGen.kr(Env.perc, t_trig);
audio = SinOsc.ar(400 + (env * 100)) * env2 * 0.1;
Out.ar(0, audio);
}
).add;
)
(
p = Pmono(*[
\stupidSynth,
\t_trig, 1
]
).play;
)
我希望的是,每当重新触发合成器时,音调会越来越高。实际发生的是第一个音符播放音高包络,而每个后续音符都处于最终(即高)频率。env
显然没有被重新触发。
我不确定为什么会这样。信封不必在重新触发之前返回 0 - 完全有可能在完成之前重新触发信封。我的信封有些东西坏了。
我基本上是在寻找具有 的行为的东西Line
,但也能够被重新触发并具有可定制的曲线。
我正在尝试做的事情可能吗?