Thanks, that's a great idea.

Am 05/12/13 22:50, schrieb Steve Morris:
You can combine ugen outputs in multiple complex ways. For example here is how to multiply the output of two SinOsc's. I'm typing away from my chuck station so please forgive typos.

Gain mult => dac; // The 'mult' ugen will be used as a multiplier.

// The ugen op() method tells the ugen how to combine inputs. 3 means multiply.
// By default ugens add inputs.
mult.op(3);

// Chuck both SinOscs  to mult.
SinOsc osc1 => mult;
SinOsc osc2 => mult;

Now the output of the mult will be the product of the two SinOsc ugens which should allow a basic vibrato.

-steve aka zencuke


On Thu, Dec 5, 2013 at 5:54 AM, Manuel Bärenz <manuel@enigmage.de> wrote:
Awesome, thanks a lot! Is this sine.sync documented somewhere? Is it possible to modulate sine.gain as well that way?

Am 05/12/13 01:12, schrieb Moisés Gabriel Cachay Tello:
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 <manuel@enigmage.de>
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
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users



--
-Moisés


_______________________________________________
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




_______________________________________________
chuck-users mailing list
chuck-users@lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users