Commit f8186afe authored by bjoern kessler's avatar bjoern kessler

If you play very carefully with the knowbs, you can get a basedrum out of the...

If you play very carefully with the knowbs, you can get a basedrum out of the 03.decomplexed-network.dsp
parent 413295b9
......@@ -46,3 +46,5 @@ process =
chair.dc_offset :
chair.udn(delay, decay, _ * psi);
prociss =
chair.dc_offset : chair.allp(_, delay, decay, psi);
......@@ -3,22 +3,10 @@ chair = library("chair.lib");
import("stdfaust.lib");
declare options "[midi:on]";
g(x) =
(x, _, x, _, x, _, x,_) : (*,*,*,*);
ctl0 = hslider("delay[midi:ctrl 11]",0.5,0.0000001,1,0.0000001) : si.smoo;
ctl1 = hslider("decay[midi:ctrl 12]",0.5,0,1,0.001) : si.smoo;
ctl2 = hslider("psi[midi:ctrl 13]",0.5,0.0001,1,0.00001) : si.smoo;
mx(psi,damp) =
(cos(psi),_, sin(psi) * (-1),_, sin(psi),_, cos(psi),_) : (*,*,*,*) : g(damp);
allp(dc) =
(_<:(_,_)) :
(((_,chair.x,_) : (+,+) : (_,_) <: mx((ctl2 * ma.PI),(1-(ctl1/10))) : (+,+)) ~
(de.delay(ma.SR/5, dc * 5 * ma.SR/1000), de.delay(ma.SR/5, dc * 5 * ma.SR/1000))) :
//(fi.allpassn(5, (-0.1,0.1,-0.1,0.1,-0.11)), fi.allpassn(5, (0.1,-0.1,0.1,-0.1,0.1))) :
+ ;
process =
chair.dc_offset : allp;
// allp(decay, gfactor, deltime)
chair.dc_offset : (_* ctl0, _) : chair.allp(ctl1, ctl2);
......@@ -23,10 +23,19 @@ mx(psi,damp) =
(cos(psi),_, sin(psi) * (-1),_, sin(psi),_, cos(psi),_) : (*,*,*,*) : g(damp);
udn(deltime, decay, gfactor) =
// Two inputs, one for each of the delaylines.
((_,x,_) : (+,+) : (_,_) <: mx((gfactor * ma.PI),(1-(decay/10))) : (+,+)) ~
(de.delay(ma.SR/5, deltime*5*ma.SR/1000),de.delay(ma.SR/5, 5*ma.SR/1000)) : + ;
(de.delay(ma.SR/5, deltime * 5 * ma.SR/1000),de.delay(ma.SR/5, deltime * 5 * ma.SR/1000)) : + ;
allp =
allp(decay, gfactor, deltime) =
// Here, the input will go to both delaylines.
(_<:(_,_)) :
(((_,x,_) : (+,+) : (_,_) <: mx((gfactor * ma.PI),(1-(decay/10))) : (+,+)) ~
(de.delay(ma.SR/5, deltime * 5 * ma.SR/1000), de.delay(ma.SR/5, deltime * 5 * ma.SR/1000))) :
//(fi.allpassn(5, (-0.1,0.1,-0.1,0.1,-0.11)), fi.allpassn(5, (0.1,-0.1,0.1,-0.1,0.1))) :
+ ;
allp0 =
(_,_,_) :
((_<:(_,_)),_,_) :
(((- (0.25)) : ((* (2 * ma.PI)) : cos)),((* (2 * ma.PI)) : cos),_,_) :
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment