Skip to content

Commit bbb427b

Browse files
committed
more
1 parent 00ec920 commit bbb427b

File tree

1 file changed

+28
-9
lines changed

1 file changed

+28
-9
lines changed

dev/src/dsp-definitions/49-alchemist-prototype-3.ts

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,18 @@ layerValue(l,i,t,x) = return with {
6767
// B
6868
// A C
6969
// D
70+
//
71+
// * detune
72+
// * side * trem
73+
// * width
74+
75+
sidechain_param = hslider("sidechain[OWL:A]", 0., 0., 1., .001) : reject_noise(0.05, 1.0) : si.smoo;
76+
detune_param = hslider("detune[OWL:B]", 0., 0., 1., .001) : reject_noise(0.05, 1.0) : si.smoo;
77+
trem_param = hslider("trem[OWL:C]", 0., 0., 1., .001) : reject_noise(0.05, 1.0) : si.smoo;
78+
width_param = hslider("width[OWL:D]", 0., 0., 1., .001) : reject_noise(0.05, 1.0) : si.smoo;
7079
71-
detune_param = hslider("detune[OWL:A]", 0., 0., .2, .001) : si.smoo;
72-
wet_param = hslider("wet[OWL:B]", 0., 0., 1., .01) : si.smoo;
80+
detune_on = button("detune_on[OWL:B1]") : ba.toggle;
81+
trem_on = button("trem_on[OWL:B2]") : ba.toggle;
7382
7483
// TODO trem
7584
// TODO autopan / width options
@@ -78,18 +87,28 @@ wet_param = hslider("wet[OWL:B]", 0., 0., 1., .01) : si.smoo;
7887
// TODO modulate pitch shift?
7988
// TODO adjust relative pitch shift?
8089
81-
// foo_button = button("foo[OWL:B1]");
82-
// bar_button = button("bar[OWL:B2]");
83-
8490
// fx
91+
wet_amount_detune = ba.if(detune_param < 2/3, ba.if(detune_param < 1/3, .1, .3), .5);
92+
wet_amount = ba.if(detune_on, wet_amount_detune, 1.);
93+
detune_amount = detune_param : *(3.) : %(1.) : *(.2);
94+
95+
gtr_detune_l = ef.transpose(ma.SR * .003, ma.SR * .003 * .9, -detune_amount);
96+
gtr_detune_r = ef.transpose(ma.SR * .0041, ma.SR * .0041 * .9, -detune_amount * .5);
97+
gtr_detune_lr = gtr_detune_l,gtr_detune_r;
98+
gtr_detune = ba.bypass2(detune_on : ==(0), gtr_detune_lr);
99+
100+
trem_depth = ba.if(trem_param < 2/3, ba.if(trem_param < 1/3, .3, .6), 1.);
101+
trem_speed = trem_param : *(3.) : %(1.) : lerp(-2., 4.) : pow(2.);
102+
103+
gtr_trem_gain = lerp(1. - trem_depth, 1. + trem_depth, os.osc(trem_speed) * .5 + .5);
104+
gtr_trem_l = *(gtr_trem_gain);
105+
gtr_trem = ba.bypass1(trem_on : ==(0), gtr_trem_l);
85106
86-
fx = ef.transpose(ma.SR * .003, ma.SR * .003 * .9, -detune_param);
87-
fx2 = ef.transpose(ma.SR * .0041, ma.SR * .0041 * .9, -detune_param * .5);
88-
gtr = *(wet_param) <: fx,fx2 : _,_;
107+
gtr = *(wet_amount) : gtr_trem <: gtr_detune : _,_;
89108
90109
bass_gate = ef.gate_mono(-64., .005, 0., 1.);
91110
bass_comp = co.compressor_mono(32., -34., 0., .4);
92-
bass_makeup = *(5.);
111+
bass_makeup = *(3.);
93112
bass = bass_gate : bass_comp : bass_makeup <: _,_;
94113
95114
amp = *(3.0);

0 commit comments

Comments
 (0)