Re: [linux-audio-user] Boggle oggle drum track

From: Chris McCormick <chris@email-addr-hidden>
Date: Mon Oct 30 2006 - 02:54:25 EET

Hey Florian,

Thanks so much for sharing this code. I am tempted to add Debian's
unstable repository and install supercollider, now. :) I really like
the sound of this track, especially the hh and bd components, and I am
keen to re-implement it in my environment of choice (Pd) so that I can
use it live with my electronic music duo (if that's ok with you). I was
wondering if you could talk me through some specific bits of the code,
or see if I have got them right below?

On Sun, Oct 29, 2006 at 01:21:18PM +0100, Florian Schmidt wrote:
> (
> SynthDef (\hh,
> {
> var out;
> out = WhiteNoise.ar (mul: XLine.ar (Rand(0.1, 0.2), 0.0001, Rand(0.03, 1),
> doneAction: 2));
> Out.ar (0, [out, out]);
> }
> ).send(s)
> )

So this guy creates white noise and then randomly ramps the volume of it
downwards making longer and shorter sounds each time? It seems like the
initial ramp height is set randomly, and so is the decay time?

> (
> SynthDef (\bd,
> {
> var out;
> out = SinOsc.ar(freq: XLine.ar(100,40,0.1), phase: 1.55, mul:
> XLine.ar(Rand(0.5,0.3), 0.01, Rand(0.1,1), doneAction: 2));
> Out.ar(0,[out, out]);
> }
> ).send(s)
> )

I am guessing this is a sine wave oscillator multiplied by a line (ramp)
which has random parameters? The initial volume and decay length is
set randomly? What is the significance of the phase 1.55? Is this just
starting the oscillator at a 'high' point in the wave form? That is a
cool trick.

> (
> s.freeAll;
> t = TempoClock.new;
> t.tempo = 7.9;
> t.schedAbs (t.beats.ceil,
> {
> arg beat, sec;
> // beat.postln;
> if (beat % 8 == 0,
> {
> Synth.new (\bd);
> });

Every eighth tick, play the bass drum.

> if (beat % 4 == 0,
> {
> if (1.0.rand > 0.7,
> {
> Synth.new(\bd);
> });
> });

Every four ticks, if the random value is above 0.7 play the bass drum.

> if ((beat % 1 == 0) && (beat % 4 != 0),
> {
> if (1.0.rand > 0.9,
> {
> Synth.new(\bd);
> });
> });

Every beat that isn't the fourth beat, play the bass drum if the random
value is above 0.9. (so very rarely)

> if (1.0.rand > 0.2,
> {
> Synth.new(\hh);
> });

Every beat, if the random value is above 0.2 play a hi hat.

Is that about it?

Best,

Chris.

-------------------
chris@email-addr-hidden
http://mccormick.cx
Received on Mon Oct 30 04:15:04 2006

This archive was generated by hypermail 2.1.8 : Mon Oct 30 2006 - 04:15:05 EET