Setting a frequency in a concrete synth, what goes wrong?

As an example the following synth changes frequency upon calling x.set(\freq1,880),

(
x = SynthDef("test", { arg freq1 = 440, out = 0;
	var son = SinOsc.ar(freq1, 0, 0.1);
    Out.ar(out, son);
}).play;
)

but the following synth doesn’t

(
x = SynthDef("test", { arg freq1 = 440, out = 0;
    var son = SinOsc.ar(Vibrato.ar(DC.ar(freq1),1,0.02), 0, 0.1);
    Out.ar(out, son);
}).play;
)

Changing the frequency in the code indeed results in a sound change too.
Why is this not changing, when simple frequency is changed to a vibrato and how can I make it react to .set?

The help file for DC states:

in: constant value to output, cannot be modulated, set at initialisation time

So maybe omit the DC.ar and do Vibrato.ar(freq1, 1, 0.02) instead?

1 Like

On the other hand the Vibrato docs state,

//vibrato at 1 Hz, note the use of DC.ar UGen; a constant of 400.0 doesn't work
{SinOsc.ar(Vibrato.ar(DC.ar(400.0),1,0.02) )}.play

So I guess, the question is, is there a modulatable alternative to DC that works with audio rate Vibrato?
For now I have switched to control rate vibrato and it doesnt seem to matter for my use case.

1 Like

K2A.ar – probably should change the help file.

Audio rate is unlikely to be a massive improvement over kr here.

hjh

2 Likes