[chuck-users] one of the two sX.freq() in a same while doesn't seem to get changed

2g electriclightheads at gmail.com
Fri Aug 10 05:29:51 EDT 2007


today i learned about
.5::second => dur T;
T - (now % T) => now;
and wanted to modify my isthisokay.ck to
something more overtone sequencer oriented

but nothing seemed to be working properly
so comment outed a lot
and went into the debug mode

with the followings being chucked
i can see things like

s1 changed 34.747145
s2 changed 95.554650
s1 changed 56.208618
s2 changed 140.521544
s1 changed 32.703196
s2 changed 89.933788
s1 changed 45.988869
s2 changed 160.961041
---

get displayed
but the sound itself doesn't seem to be doing this
one of the two sinewave ... maybe s1.freq() seems to be
playing the same long tone (freq never changing)
and i don't seem to hear the rhythm pattern it should have created
if am not wrong
i think there is three sinewaves coming out

isthisokay.ck:

.5::second => dur T;
T - (now % T) => now;
SinOsc s1 => Gain g1 => dac;
SinOsc s2 => g1;
SinOsc s3 => PRCRev g3 => dac.left;
SinOsc s4 => PRCRev g4 => dac.right;
.25 => g1.gain;
.25 => g3.gain;
.25 => g4.gain;
27.5 * Math.pow(2.0,(3.0/12.0)) => float oilroot;
2 * oilroot => s2.freq;

fun void ri()
{
while(true)
        {
        300::ms => now;
        s2.freq() * Std.rand2(16, 32) / 16.0 => s3.freq;
        }
}

fun void ga()
{
while(true)
        {
        330::ms => now;
        s2.freq() * Std.rand2(16, 32) / 16.0 => s4.freq;
        }
}

//spork ~ ri();
//spork ~ ga();

while( true ) {
        Std.rand2(32, 64) * oilroot / 32.0 => s1.freq;
        <<<"s1 changed", s1.freq()>>>;
        //1000::ms => now;
        7::T => now;
        s1.freq() * Std.rand2(8, 16) / 4.0 => s2.freq;
        <<<"s2 changed", s2.freq()>>>;
        //250::ms => now;
        1::T => now;
}

-- 
2g
http://micro.ispretty.com


More information about the chuck-users mailing list