我正在尝试使用总线将振幅映射到合成器,以便根据来自外部源的半随机输入平滑正弦波(移除高频),但是当我运行此代码时,没有声音。
s.boot;
(
SynthDef( \cello, {|rate = 440, amp = 0.2|
var signal;
signal = SinOsc.ar(rate, 0, amp);
Out.ar([0,1], signal)}
).add;)
h = Synth( \cello, [ \rate, 440, \amp, 0 ] );
c = Bus.control(s, 2);
c.scope;
Task({
var counter, pyAmp, newAmp, oldAmp = 0;
counter = 0;
{counter < 1}.while ({
pyAmp = 3.0.rand;
(pyAmp).postln;
d = { XLine.ar(oldAmp, pyAmp, 0.1) }.play(outbus: c);
("and").postln;
(oldAmp).postln;
oldAmp = pyAmp;
h.map(\amp, d);
0.1.wait;
})
}).play;
)
答案 0 :(得分:2)
你至少有几个问题。
第三(但没有害处)没有必要以音频速率运行这些XLine合成器,你也可以使用XLine.kr而不是XLine.ar