You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.6 KiB
Plaintext

(
Ndef(\algo22bass, {
var freq = \freq.kr(55);
var amp = \amp.kr(0.5);
var gate = \gate.kr(1);
var pan = \pan.kr(0);
var lfo, fb, op1, op2, op3, op4, op5, op6;
var env1, env2, env3, env4, env5, env6;
var sig;
lfo = LFSaw.kr(8).range(0.1, 1.5);
// Feedback loop
fb = LocalIn.ar(1);
// Operator 6
env6 = EnvGen.kr(Env.new([0, 1, 1, 1, 0], [0.01, 0.1, 0.1, 0.1], \lin, 3), gate);
op6 = SinOsc.ar((freq * 8) + (fb * 7), 0, env6 * lfo * 0.6);
LocalOut.ar(op6);
// Operator 5
env5 = EnvGen.kr(Env.new([0, 1, 1, 1, 0], [0.01, 0.2, 0.2, 0.2], \lin, 3), gate);
op5 = SinOsc.ar((freq * 0.5) + (op6 * 200), 0, env5);
// Operator 4
env4 = EnvGen.kr(Env.new([0, 1, 1, 1, 0], [0.01, 0.3, 0.3, 0.3], \lin, 3), gate);
op4 = SinOsc.ar((freq * 1.0) + (op5 * 200), 0, env4);
// Operator 1
env1 = EnvGen.kr(Env.new([\op1_env1_atk.kr(0);, 1, 1, 1, 0], [0.01, 0.2, 0.4, 0.2], \lin, 3), gate, doneAction:2);
op1 = SinOsc.ar(freq * 3.0, 0, env1 * 0.6);
// Operator 2
env2 = EnvGen.kr(Env.new([0, 1, 1, 1, 0], [0.01, 0.2, 0.2, 0.2], \lin, 3), gate);
op2 = SinOsc.ar(freq * 5.91, 0, env2 * 0.4);
// Operator 3
env3 = EnvGen.kr(Env.new([0, 1, 1, 1, 0], [0.01, 0.3, 0.2, 0.2], \lin, 3), gate);
op3 = SinOsc.ar(freq * 2.0, 0, env3 * 0.5);
sig = (op1 + op2 + op3 + op4) * amp;
sig = RLPF.ar(sig, 1200, 0.4);
sig = sig.tanh * 1.5;
sig = CombL.ar(sig, 0.3, 0.15, 1.5, mul: 0.7);
Pan2.ar(sig, pan)
});
)
(
Ndef(\algo22bass).addSpec(
\freq,
\amp,
\op1_env1_atk, [0.0, 0.01],
).edit;
)