You can always try to modulate the Oscilator: SinOsc vibrato => SinOsc sine => dac; // This will tell sine to take the vibrato input as a modulator of // it's frequency. 2 => sine.sync;
5 => vibrato.freq; 10 => vibrato.gain; 5::second => now; 2013/12/4 Manuel Bärenz <[email protected]> > Hi guys, > > I'm giving a presentation on ChucK tomorrow and I wanted to show off > some of the basic features in a live coding session. I found that > creating a vibrato (modulating the frequency) is far too hard. The > example I'm looking at is > http://chuck.cs.princeton.edu/doc/examples/basic/whirl.ck. In an > infinite loop, you have this code: > > 30 + ( Math.sin(t) + 1.0 ) * 10000.0 => s.sfreq; > t + .004 => t; > > Here, t is a float and s is a SinOsc. Now, what I would have expected is > the following, more intuitive setup outside the loop: > > 30 + SinOsc freq_mod => s.freq; > 1 => freq_mod.freq; > > I know that the first line with the "30 + SinOsc" is probably nonsense > in itself, but I could work around that (by using a step UGen for > example). My actual problem is that you can't chuck a SinOsc into s.freq. > Consider this line: > > SinOsc freq_mod => s.freq; > > I get an error like this: > arguments type(s) do not match: > ... for function 'SinOsc.freq(...)' ... > ...(please check the argument types) > > Is this something that the language is simply not capable of or am I > doing something wrong? > > Best, Manuel > _______________________________________________ > chuck-users mailing list > [email protected] > https://lists.cs.princeton.edu/mailman/listinfo/chuck-users > -- -Moisés
_______________________________________________ chuck-users mailing list [email protected] https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
