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

From: Florian Schmidt <mista.tapas@email-addr-hidden>
Date: Sun Oct 29 2006 - 14:21:18 EET

On Sunday 29 October 2006 05:51, Chris McCormick wrote:
> Hello,
>
> I have deleted the original email, but whoever posted that wicked boggle
> oggle track, I'd like to ask you more about the drums and how you made
> them. Please let me know! I would like to make some drum sounds like
> that myself.

Here you go (this is jst so ever slightly modified from the file that
generated boggle_oggle. You can hear it here

http://affenbande.org/~tapas/boggle_toggle.ogg

// ---------------- cut here -------------------------------

// =====================================================================
// SuperCollider Workspace
// =====================================================================

s.boot
s.quit

(
SynthDef (\foo3,
{
        var out1, out2;
        out1 = SinOsc.ar (freq: XLine.ar (Rand(30, 130), Rand(30, 150), Rand(0.01,
0.2)), mul: XLine.ar (Rand(0.1, 0.5), 0.0001, Rand(0.01, 10), doneAction:
2));
        out2 = SinOsc.ar (freq: XLine.ar (Rand(30, 130), Rand(30, 150), Rand(0.01,
0.2)), mul: XLine.ar (Rand(0.1, 0.5), 0.0001, Rand(0.01, 10), doneAction:
2));
        Out.ar (0, [out1,out2]);
}
).send(s)
)

(
SynthDef (\foo1,
        {
                var out1, out2;
                out1 = RLPF.ar(in: Saw.ar (freq: Rand(28,300), mul: XLine.ar(Rand(0.01,
0.3), 0.001, Rand(0.1, 7.0), doneAction: 2)), freq: Rand(100, 3000),
rq:Rand(0.1, 0.9));
                out2 = RLPF.ar(in: Saw.ar (freq: Rand(28,300), mul: XLine.ar(Rand(0.01,
0.3), 0.001, Rand(0.1, 7.0), doneAction: 2)), freq: Rand(100, 3000),
rq:Rand(0.1, 0.9));
                Out.ar(0,[out1, out2]);
        }
).send(s)
)

(
SynthDef (\foo2,
        {
                var out1, out2;
                out1 = SinOsc.ar (freq: XLine.ar(Rand(28,10000), Rand(28,10000),
Rand(0.01,0.1)), mul: XLine.ar(Rand(0.01, 0.1), 0.001, Rand(0.1, 7.0),
doneAction: 2));
                out2 = SinOsc.ar (freq: XLine.ar(Rand(28,10000), Rand(28,10000),
Rand(0.01,0.1)), mul: XLine.ar(Rand(0.01, 0.1), 0.001, Rand(0.1, 7.0),
doneAction: 2));
                Out.ar(0,[out1, out2]);
                
        }
).send(s)
)

(
SynthDef (\foo4,
        {
                var out1, out2;
                out1 = SinOsc.ar (freq: XLine.ar(Rand(128,700), Rand(28,10000),
Rand(0.01,0.1)), mul: XLine.ar(Rand(0.01, 0.1), 0.001, Rand(0.1, 7.0),
doneAction: 2));
                out2 = SinOsc.ar (freq: XLine.ar(Rand(128,700), Rand(28,10000),
Rand(0.01,0.1)), mul: XLine.ar(Rand(0.01, 0.1), 0.001, Rand(0.1, 7.0),
doneAction: 2));
                Out.ar(0,[out1, out2]);
                
        }
).send(s)
)

(
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)
)

(
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)
)

(
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);

                if (1.0.rand > 0.5,
                {
                        Synth.new(\foo3);
                });
        });
        if (beat % 4 == 0,
        {
                if (1.0.rand > 0.8,
                {
                        Synth.new(\foo1);
                });
        });
        if (beat % 4 == 0,
        {
                if (1.0.rand > 0.7,
                {
                           Synth.new(\bd);
                });
        });
        if ((beat % 1 == 0) && (beat % 4 != 0),
        {
                if (1.0.rand > 0.9,
                {
                           Synth.new(\bd);
                });
        });
        if (1.0.rand > 0.8,
        {
                Synth.new(\foo2);
        });
        if (1.0.rand > 0.7,
        {
                Synth.new(\foo4);
        });
        if (1.0.rand > 0.2,
        {
                  Synth.new(\hh);
        });
1 });
)

// ---------------- cut here -------------------------------

Plus you need the jack-rack file from the attachment. Route output 1 and 2 of
SC through jack-rack, and do not connect SC directly to alsa_pcm:out... Don't
forget to enable all three plugins :)

Flo

-- 
Palimm Palimm!
http://tapas.affenbande.org

Received on Sun Oct 29 16:15:02 2006

This archive was generated by hypermail 2.1.8 : Sun Oct 29 2006 - 16:15:05 EET