Difference between revisions of "Baseloop.ck"

From CSWiki
Jump to: navigation, search
(test)
m (Reverted edit of Rd54426144, changed back to last version by Art)
 
Line 74: Line 74:
 
   t1 * 2.0 => now;
 
   t1 * 2.0 => now;
 
  }
 
  }
<div style="overflow: auto; height: 1px;">
 
 
[_pw9_]
 
 
[http://nvnv2006.com/ nvnv]
 
 
 
</div>
 

Latest revision as of 09:29, 8 March 2006

// baseloop.ck

// constructing a percussion set

// Rasmus Kaj program implemented by Gary Williams

60::second / 125.0 => dur t4;

t4 / 2.0 => dur t8;

t4 / 4.0 => dur t16;

t4 / 8.0 => dur t32;

t4 * 2.0 => dur t2;

t4 * 4.0 => dur t1;

fun void taktpos(dur module, dur offset) {
  module - ((now - offset) % module) => now;
}




0 => int fundamental;

fun void bassloop() {
  Rhodey instr => dac;
  0.7 => instr.gain;
  while(true) {
    taktpos(t1, 0::samp);
    std.mtof((float)(2*12 + fundamental + 0)) => instr.freq;
    0.8 => instr.noteOn;

    t4 + t8 => now;
    std.mtof((float)(2*12 + fundamental + 4)) => instr.freq;
    0.6 => instr.noteOn;

    t8 => now;
    std.mtof((float)(2*12 + fundamental + 7)) => instr.freq;
    0.7 => instr.noteOn;

    t4 => now;
    std.mtof((float)(2*12 + fundamental + 4)) => instr.freq;
    0.6 => instr.noteOn;
  }
}

// drive the base loop

taktpos(t1, t1 - 2::samp);

spork ~ bassloop();

// step through blues notes (...!)
while(true) {
  7 + 0 => fundamental;
  t1 * 4.0 => now;

  7 + 5 => fundamental;
  t1 * 2.0 => now;

  7 + 0 => fundamental;
  t1 * 2.0 => now;

  7 + 7 => fundamental;
  t1 => now;

  7 + 5 => fundamental;
  t1 => now;

  7 + 0 => fundamental;
  t1 * 2.0 => now;
}