首页 > 解决方案 > 超级对撞机中的迭代

问题描述

我需要使用 .do 的迭代语法帮助;

我有这个功能:

(
{var freq;
    freq = [[660, 880], [440, 660], [1320, 880],[220,660]].choose;
    SinOsc.ar(freq, 0, 0.1);
}.play;
)

我尝试对其进行迭代,因此在每次迭代中,我将获得不同的频率数组,并且还会听到输出。

我尝试这样的事情没有成功:

(
10.do({arg i;
    [[660, 880], [440, 660], [1320, 880],[220,660]].choose;
    {SinOsc.ar(i,0,0.1);        
    }.play;
};
) 
)

感谢您的任何帮助!

标签: supercollider

解决方案


(
10.do({
    var hz;
    hz = [[660, 880], [440, 660], [1320, 880],[220,660]].choose;
    {
        SinOsc.ar(hz, 0, 0.05)
    }.play;
});
)

推荐阅读