parent
2143e8257a
commit
a1daedeab0
@ -1,130 +1,9 @@
|
||||
(
|
||||
var sin_dict = BmDspAlgs.getDict("synths/distorted_sin.scd");
|
||||
sin_dict.makeSourceNdef(\sin_bass);
|
||||
~dict = BmDspAlgs.getDict("spectral/fft_freeze.scd");
|
||||
~dict2 = BmDspAlgs.getDict("spectral/fft_freeze_follow.scd");
|
||||
~dict.makeBufferProcessingNdef(\freeze1);
|
||||
~dict.makeBufferProcessingNdef(\freeze2);
|
||||
~dict2.makeBufferProcessingNdef(\freeze3);
|
||||
|
||||
// TODO: use vars later
|
||||
~granular_sampler_dict = BmDspAlgs.getDict("samplers/granular_sampler.scd");
|
||||
~granular_sampler_dict[\postAmp] = true;
|
||||
~granular_sampler_dict.makeSourceSynthDef.add();
|
||||
|
||||
~layered_grain = ();
|
||||
~layered_grain[\name] = \layered_grain;
|
||||
~layered_grain[\slots] = (
|
||||
percussion: 1,
|
||||
percussion_2: 2,
|
||||
noises: 2,
|
||||
pad: 3,
|
||||
ambience: 4,
|
||||
ambience_2: 6,
|
||||
ambience2: 5
|
||||
);
|
||||
|
||||
Ndef(~layered_grain[\name]).clear;
|
||||
Ndef(~layered_grain[\name]).ar(2);
|
||||
Ndef(~layered_grain[\name]).prime(~granular_sampler_dict[\name]);
|
||||
|
||||
~melodic_grain = ();
|
||||
~melodic_grain[\name] = \melodic_grain;
|
||||
~melodic_grain[\slots] = (
|
||||
percussion: 1,
|
||||
noises: 2,
|
||||
pad: 3,
|
||||
ambience: 4,
|
||||
ambience2: 5
|
||||
);
|
||||
|
||||
Ndef(~melodic_grain[\name]).clear;
|
||||
Ndef(~melodic_grain[\name]).ar(2);
|
||||
Ndef(~melodic_grain[\name]).prime(~granular_sampler_dict[\name]);
|
||||
|
||||
// global fx chain
|
||||
Ndef(~layered_grain[\name]).put(148, \filter -> {
|
||||
| in |
|
||||
Compander.ar(
|
||||
in,
|
||||
in,
|
||||
\treshHold.kr(0.33),
|
||||
\slopeBelow.kr(1.5),
|
||||
\slopeAbove.kr(0.33),
|
||||
\clampTime.kr(0.15),
|
||||
\relaxTime.kr(0.6)
|
||||
);
|
||||
});
|
||||
|
||||
Ndef(~layered_grain[\name]).put(149, \filter -> {
|
||||
| in |
|
||||
XFade2.ar(in, Convolution2.ar(in, ~sun_imp), \impulseDryWet.kr(-0.75));
|
||||
});
|
||||
|
||||
Ndef(~layered_grain[\name]).put(150, \filter -> {
|
||||
| in |
|
||||
MiVerb.ar(in, \rTime.kr(0.2), \rDryWet.kr(0.1));
|
||||
});
|
||||
|
||||
Ndef(~melodic_grain[\name]).put(149, \filter -> {
|
||||
| in |
|
||||
var d = in;
|
||||
4.do({
|
||||
| i |
|
||||
var it = i + 1;
|
||||
d = d + AllpassL.ar(d, 0.5, 0.1 * it, it.reciprocal, it.reciprocal);
|
||||
});
|
||||
in + d;
|
||||
});
|
||||
|
||||
Ndef(~melodic_grain[\name]).set(\wet149, 0.33);
|
||||
|
||||
Ndef(~melodic_grain[\name]).put(150, \filter -> {
|
||||
| in |
|
||||
MiVerb.ar(in, \rTime.kr(0.2), \rDryWet.kr(0.1));
|
||||
});
|
||||
|
||||
|
||||
Spec.add(\treshHold, [0.0, 1.0, \lin]);
|
||||
Spec.add(\slopeBelow, [1.0, 2.0, \lin]);
|
||||
Spec.add(\slopeAbove, [0.0, 1.0, \lin]);
|
||||
Spec.add(\clampTime, [0.01, 2.0, \lin]);
|
||||
Spec.add(\relaxTime, [0.01, 2.0, \lin]);
|
||||
Spec.add(\impulseDryWet, [-1.0, 1.0, \lin]);
|
||||
Spec.add(\attack, [0.01, 2.0, \lin]);
|
||||
|
||||
Ndef(~layered_grain[\name]).play;
|
||||
Ndef(~melodic_grain[\name]).play;
|
||||
|
||||
//Control nodes
|
||||
Ndef(\main_pad_amp).clear;
|
||||
Ndef(\main_pad_amp).kr(1);
|
||||
Ndef(\main_pad_amp).put(0, {
|
||||
var e = Env([0.0, \from.kr(-20.dbamp), \to.kr(-6.dbamp)], [0.0, \time.kr(10)], \curve.kr(1));
|
||||
EnvGen.kr(e, \gate.tr(0));
|
||||
});
|
||||
Ndef(\main_pad_amp).play;
|
||||
|
||||
Ndef(\percussion_amp).clear;
|
||||
Ndef(\percussion_amp).kr(1);
|
||||
Ndef(\percussion_amp).put(0, {
|
||||
var e = Env([0.0, \from.kr(-20.dbamp), \to.kr(-6.dbamp)], [0.0, \time.kr(10)]);
|
||||
EnvGen.kr(e, \gate.tr(0));
|
||||
});
|
||||
Ndef(\percussion_amp).play;
|
||||
|
||||
Ndef(\pad1_pan_mod).clear;
|
||||
Ndef(\pad1_pan_mod).kr(1);
|
||||
Ndef(\pad1_pan_mod).put(0, {
|
||||
SinOsc.kr(\freq.kr(1), \phase.kr(0.0)).range(\from.kr(-0.25), \to.kr(0.0));
|
||||
});
|
||||
Ndef(\pad1_pan_mod).play;
|
||||
|
||||
Ndef(\pad1_pan_mod).copy(\pad2_pan_mod);
|
||||
Ndef(\pad2_pan_mod).set([\from, 0.0, \to, 0.25, \phase, 1.5]);
|
||||
Ndef(\pad2_pan_mod).play;
|
||||
|
||||
Ndef(\pad_dir_mod, {
|
||||
Pulse.kr(1).range(0.8, 1.0);
|
||||
});
|
||||
|
||||
Ndef(\pad_dir_mod).play;
|
||||
|
||||
Ndef(\main_pad_amp).copy(\envMod4);
|
||||
Ndef(\envMod4).play;
|
||||
"instrumets loaded".postln;
|
||||
)
|
||||
|
||||
Binary file not shown.
@ -1,35 +1,108 @@
|
||||
s.options.memSize = 2.pow(20);
|
||||
s.boot;
|
||||
|
||||
~samples = ~makeBuffers.("/home/dude/code/24_09_2026_gig", ());
|
||||
~sample = ~samples[\samples][0];
|
||||
~inBus = Bus.audio(s, 1);
|
||||
~out = { Out.ar(~inBus, SoundIn.ar(0)) }.play;
|
||||
(
|
||||
Ndef(\testSignal, {
|
||||
var sig, sig2;
|
||||
sig = BufRd.ar(2, ~sample, Phasor.ar(0, BufRateScale.kr(~sample), 0, BufFrames.kr(~sample)));
|
||||
Out.ar(~inBus, sig.sum);
|
||||
sig * \gain.kr(0.01);
|
||||
}).play;
|
||||
)
|
||||
|
||||
Ndef(\testSignal).ar(2);
|
||||
|
||||
Ndef.clear
|
||||
|
||||
Ndef(\freeze1).set(\in, ~inBus.index);
|
||||
Ndef(\freeze2).set(\in, ~inBus.index);
|
||||
Ndef(\freeze3).set(\in, ~inBus.index);
|
||||
|
||||
Ndef(\freeze3).set(\in, ~inBus);
|
||||
|
||||
Ndef(\freeze1).set(\amp, 1.7);
|
||||
Ndef(\freeze2).set(\amp, 2.6);
|
||||
Ndef(\freeze3).set(\amp, 10.05);
|
||||
|
||||
Ndef(\freeze1).set(\freezeGate, 1);
|
||||
Ndef(\freeze2).set(\freezeGate, 1);
|
||||
Ndef(\freeze3).set(\freezeGate, 1);
|
||||
|
||||
~freezeDict = BmDspAlgs.getDict("spectral/fft_freeze.scd");
|
||||
~freezeDict.makeBufferProcessingNdef(\freezeOnly);
|
||||
Ndef(\freezeOnly).set(\in, ~inBus.index);
|
||||
Ndef(\freezeOnly).reshaping = \elastic;
|
||||
Ndef(\freezeOnly).play;
|
||||
Ndef(\freeze3).set(\rel, 0.1);
|
||||
Ndef(\freeze3).set(\atk, 0.1);
|
||||
Ndef(\freeze3).set(\ampGate, 0.0001);
|
||||
|
||||
Ndef(\freeze1).set(\pan, 0);
|
||||
Ndef(\freeze3).set(\amp, 0.1);
|
||||
|
||||
Ndef(\freezeOnly).stop;
|
||||
Ndef(\freezeOnly).set(\freezeGate, 0);
|
||||
Ndef(\freezeOnly).set(\freezeGate, 1);
|
||||
Ndef(\freeze1).set(\amp, 0.7);
|
||||
|
||||
Ndef(\freezeOnly).put(90, \filter -> {|in|
|
||||
[in[0], in[1] + SinOsc.kr(0.1).range(0.9, 1.0)] * 0.5;
|
||||
Ndef(\freeze1).set(\wipe, 0.3);
|
||||
Ndef(\freeze1).set(\reshuffle, 0.1);
|
||||
Ndef(\freeze1).set(\binShift, 0.4);
|
||||
Ndef(\freeze1).set(\stretch, 0.1);
|
||||
|
||||
(
|
||||
Ndef(\freeze3).put(10, \filter -> {
|
||||
|in|
|
||||
var sig = 0;
|
||||
var shLocal = LocalIn.ar(2);
|
||||
var shPitched = PitchShift.ar(
|
||||
shLocal + (in * \shSend.kr(0.5)),
|
||||
\shWindow.kr(0.2),
|
||||
\shRatio.kr(4),
|
||||
0.01, 0.01
|
||||
);
|
||||
var shVerb = FreeVerb.ar(
|
||||
shPitched,
|
||||
\shVerbMix.kr(0.3),
|
||||
\shRoom.kr(0.85),
|
||||
\shDamp.kr(0.9)
|
||||
);
|
||||
|
||||
LocalOut.ar(shVerb * \shFb.kr(0.3));
|
||||
|
||||
sig = (shVerb * \shimmer.kr(0.3));
|
||||
sig;
|
||||
});
|
||||
)
|
||||
|
||||
Ndef(\freezeOnly).set(\phaseJitter, 10);
|
||||
(
|
||||
Ndef(\freeze1).put(10, \filter -> {
|
||||
|in|
|
||||
var sig = 0;
|
||||
var shPitched = PitchShift.ar(
|
||||
in,
|
||||
0.2,
|
||||
SinOsc.kr(0.1).range(2, 4),
|
||||
0.01,
|
||||
0.01
|
||||
) * 2.0;
|
||||
|
||||
var shPitched2 = PitchShift.ar(
|
||||
in,
|
||||
0.2,
|
||||
SinOsc.kr(0.05).range(4, 6),
|
||||
0.01, 0.01
|
||||
) * 2.0;
|
||||
|
||||
sig = Mix([in, shPitched, shPitched2]) * 0.9;
|
||||
sig;
|
||||
});
|
||||
)
|
||||
|
||||
Ndef(\freezeOnly).ar(2);
|
||||
(
|
||||
Ndef(\freeze1).stop;
|
||||
Ndef(\freeze2).stop;
|
||||
Ndef(\freeze3).stop;
|
||||
)
|
||||
|
||||
~out.free
|
||||
(
|
||||
Ndef(\freeze1).play;
|
||||
Ndef(\freeze2).play;
|
||||
Ndef(\freeze3).play;
|
||||
)
|
||||
|
||||
Ndef(\freezeOnly).set(\pan, 0);
|
||||
|
||||
~freezeDict.makeBufferProcessingNdef(\freezeOnly2);
|
||||
Ndef(\freezeOnly2).ar(2);
|
||||
Ndef(\freezeOnly2).set(\in, ~inBus.index);
|
||||
Ndef(\freezeOnly2).play;
|
||||
Ndef(\freezeOnly2).set(\freezeGate, 1);
|
||||
Ndef(\freezeOnly2).set(\amp, 0.2)
|
||||
Ndef(\testSignal).stop;
|
||||
Ndef(\testSignal).set(\gain, 1.0);
|
||||
Loading…
Reference in new issue