You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.2 KiB
77 lines
1.2 KiB
s.boot;
|
|
|
|
~dict = BmDspAlgs.getDict("synths/bass/saw_bass.scd");
|
|
~dict[\postAmp] = true;
|
|
~dict[\useEnv] = true;
|
|
|
|
~dict.makeSourceSynthDef().add();
|
|
|
|
~sawBass = ();
|
|
~sawBass[\name] = \saw;
|
|
|
|
Ndef(~sawBass[\name]).clear;
|
|
Ndef(~sawBass[\name]).ar(2);
|
|
Ndef(~sawBass[\name]).prime(~dict[\name]);
|
|
Ndef(~sawBass[\name]).play;
|
|
|
|
(
|
|
Tdef(\t, {
|
|
loop {
|
|
[40, 45, 47].do({|n|
|
|
Ndef(~sawBass[\name]).put(
|
|
n,
|
|
Ndef(~sawBass[\name]).source,
|
|
0,
|
|
[\freq, n.midicps, \gate, 1, \amp, 0.25, \release, 0.5, \attack, 0.01]
|
|
);
|
|
0.25.wait;
|
|
});
|
|
}
|
|
}).play;
|
|
)
|
|
|
|
(
|
|
Tdef(\t2, {
|
|
loop {
|
|
[55, 61].do({|n|
|
|
Ndef(~sawBass[\name]).put(
|
|
n,
|
|
Ndef(~sawBass[\name]).source,
|
|
0,
|
|
[\freq, n.midicps, \gate, 1, \amp, 0.25, \release, 0.1, \attack, 0.01]
|
|
);
|
|
(4/7).wait;
|
|
});
|
|
}
|
|
}).play;
|
|
)
|
|
|
|
(
|
|
Ndef(~sawBass[\name]).put( 159, \filter -> { arg in;
|
|
d = LPF.ar(in, 1100);
|
|
d
|
|
});
|
|
)
|
|
|
|
(
|
|
Ndef(~sawBass[\name]).put( 160, \filter -> { arg in;
|
|
var d = in;
|
|
var diffusion = \diffusion.kr(1);
|
|
var spacesize = \spacesize.kr(0.1);
|
|
8.do { |i|
|
|
d = AllpassC.ar(
|
|
d,
|
|
delaytime: LFNoise1.kr(0.01!2).range(0.01, spacesize),
|
|
decaytime: diffusion
|
|
)
|
|
};
|
|
|
|
d
|
|
});
|
|
)
|
|
|
|
Ndef(~sawBass[\name]).set(\diffusion, 0.03);
|
|
Ndef(~sawBass[\name]).set(\spacesize, 0.1);
|
|
|
|
Tdef(\t2).stop;
|
|
Tdef(\t).stop; |