there may be a default parameter, right? And that seems to be 0. If I
have sync at "0", I hear no sound.
I think "sync" is a poor keyword for this method. It has nothing to do
with hard sync. Instead, it determines what to do with a UGen connected
to its input.
This:
SinOsc a => SinOsc b => dac;
0 => b.sync; // the default
results in no audio because ChucK is attempting to use the output of
SinOsc a (which is of course a stream between -1 and 1) and using those
values as the frequency parameter for SinOsc b. In other words, SinOsc b
is playing at a frequency between -1 and 1.
Here's a demonstration of how sync 0 can work:
Phasor p => SinOsc b => dac;
1 => p.freq;
1000 => p.gain;
0.25 => b.gain;
4::second => now;
Anyway, it doesn't seem like the sync parameter is able to do hard
sync. It seemed that the "0" value would do that, but, as I said, I
hear nothing.
I think you're right; to do hard sync you have to manually check the
Phasor and reset the oscillator phase. BTW, according to the source
code, the .phase method ranges from [0-1).
Phasor p => blackhole;
SinOsc s => dac;
0.2 => s.gain;
440 => s.freq;
1 => p.freq;
spork~ hardsync();
while (true)
{
second => now;
p.freq() + 1 => p.freq;
}
fun void hardsync()
{
float prev;
while (true)
{
p.last() => float last;
if (last < prev) 0 => s.phase;
last => prev;
samp => now;
}
}
If phase input is linear in chuck, then the code from SuperCollider
would be equivalent, but it is not. And even if it wasn't linear, I
tried it with radian values and did not get the same results.
I suspect it is not really doing phase modulation because it doesn't
matter if I change the carrier frequency, and that is weird.
well, I guess I'm repeating myself, sorry, just anxious in the hope of
clarification.
thanks
_______________________________________________
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