So you could write this:

  TubeBell b => dac;
  ---
  while(40::ms => now) {
      1 => b.noteOn;
      1600::ms => now;
      1 => b.noteOff;
  }
  ---
  do {
      Std.mtof(Std.rand2(0, 3) + 60) => b.freq;
  } while(1640::ms => now);

and have it work like this:

  TubeBell b => dac;

  fun void part1() {
      while(40::ms => now) {
          1 => b.noteOn;
          1600::ms => now;
          1 => b.noteOff;
      }
  }

  fun void part2() {
      do {
          Std.mtof(Std.rand2(0, 3) + 60) => b.freq;
      } while(1640::ms => now);
  }

  spork ~ part1();
  spork ~ part2();
  day => now;

--
Tom Lieber
http://AllTom.com/
http://infinite-sketchpad.com/