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