Hi
In ChucK you don't have .kr or .ar signal divided, the kr signals are
defined in the code with control structures related to the time
structure. And the programming paradigm is a bit different.
SinOsc mod => blackhole;
SinOsc car => dac;
440 => float bfreq;
20 => mod.freq;
300 => mod.gain;
// the connection between ugens is inside the loop
while( true ) {
bfreq + mod.last() => car.freq;
64::samp => now; // kr
}
In the docs are a lot of examples. sync is other option, see
/examples/basic/fm*.ck
best
Lucas
2009/7/20, Andrew Turley
Yeah, it is a little different. You can always spork another shred that modulates a parameter, but it gets a little verbose.
andy
2009/7/19 Greg Sabo
: Hello, I've been interested in trying ChucK for several years now but I've just recently started playing with it in earnest. I like what I see so far :) I have one thing that's bothering me - coming from SuperCollider, I'm used to being able to put UGens in pretty much any argument, like this: {a = SinOsc.kr(freq: 20, mul: 300); SinOsc.ar(freq: a, mul: 0.8)}.play If I wanted basic FM. So intuitively, trying out ChucK for the first time, I tried to do: SinOsc mod => SinOsc car.freq => dac; Which didn't work. After a bit of reading, I understand that UGens have "inputs" in ChucK, by default set to modify the frequency, and if you want to modulate a different parameter, you change that object's sync attribute. That seems kind of weird/unintuitive to me, is there something that I'm missing that went into making the syntax like this? Besides that, I find ChucK really fun to play with, and I look forward to making some zany sounds with it :) -Greg Sabo _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users