@@ -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
90109bass_gate = ef.gate_mono(-64., .005, 0., 1.);
91110bass_comp = co.compressor_mono(32., -34., 0., .4);
92- bass_makeup = *(5 .);
111+ bass_makeup = *(3 .);
93112bass = bass_gate : bass_comp : bass_makeup <: _,_;
94113
95114amp = *(3.0);
0 commit comments