[chuck] Langage syntax

Philip Davidson philipd at alumni.princeton.edu
Tue Oct 5 12:02:53 EDT 2004

```The current behavior of phase driven sync
uses the audio input signal as the value
used for the oscillator function, assuming that
our waveform is defined from 0.0 to 1.0,
It performs a lookup on the incoming value,
so in this case the frequency of the triosc has
no effect

There isn't yet a way to do exactly what you
have described. It is possible to use the '.phase'
argument to immediately set the phase to
a particular value.

triosc t => dac;
60.0 => t.freq;

while ( true )
{
0 => t.phase;
0.01::second => now;
}

This, however, doesn't follow a waveform.

I will keep your suggestion in mind, and hopefully
add this to a revision of the oscillator code.

Thank you for your interest in ChucK !

On Oct 5, 2004, at 10:48 AM, Laurent Ostiz wrote:

> Hi !
>
> It is so interesting to be at the beginning of a new audio tool such
> Chuck that, perhaps, we are a bit impatient.
> So, here is an example :
> ------------------------------
> phasor p => triosc t => dac ;
> 100.0 => p.freq ;
> 60.0 => t.freq ;
> 2 => t.sync ;
>
> while (true)
>         {
>                 1::ms => now ;
>         }
> -------------------------------
>
> In a precedent mail, Philip answer me that the sync parameter set to 2
> mean phase driven osc. With this code,
> I thus hope to have a kind of hardsync : when phasor goes to zero, it
> reset phase so triosc restart (hardly) a new cycle. This work
> perfectly in Csound for example.
> But here, what I obtain is a perfect triangle waveform of 100 Hz.
> Without t.sync set, I have a triangle waveform of 60 Hz.
>
> Here we are with a concrete example.
>
> So, what did I do not understand in the => meaning or sync phase
> driven osc concept in Chuck ?
>