File: wind2.ck

package info (click to toggle)
chuck 1.5.5.5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 41,056 kB
  • sloc: cpp: 123,473; ansic: 35,893; javascript: 2,111; yacc: 609; makefile: 457; python: 174; perl: 86
file content (37 lines) | stat: -rw-r--r-- 715 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// noise generator, biquad filter, dac (audio output) 
Noise n => BiQuad f => dac;
// set biquad pole radius
.99 => f.prad;
// set biquad gain
.05 => f.gain;
// set equal zeros 
1 => f.eqzs;
// our float
0.0 => float t;

// concurrent control
fun void wind_gain( )
{
    0.0 => float g; 

    // time loop to ramp up the gain / oscillate
    while( true )
    {
        Std.fabs( Math.sin( g ) ) => n.gain;
        g + .001 => g;
        10::ms => now;
    }
}

// run wind_gain on anothre shred
spork ~ wind_gain();

// infinite time-loop
while( true )
{
    // sweep the filter resonant frequency
    100.0 + Std.fabs(Math.sin(t)) * 15000.0 => f.pfreq;
    t + .01 => t;
    // advance time
    100::ms => now;
}