I’m playing with tapped delay lines. I had an idea to use a control signal as the input to the delay and use the output taps to select frequencies for a DynKlank. I’m doing this as a learning exercise.
I expected to get a regular series of delayed rings modulated with the mouse. What I get is a single series of delayed rings followed by regular faint thunks modulated with the mouse.
What am I missing here? This is a learning exercise, I’m interested in where I went wrong.
Thanks
a = FloatArray.fill(44100, 100 );
b = Buffer.loadCollection( s,a );
(
SynthDef(\test, { |out, buffer|
var freq, src, tapPhase, tap1, tap2, tap3, tap4, tap5, o1,o2,o3;
k = 100 + MouseX.kr(500,2000);
v = k*3/7;
tapPhase = DelTapWr.kr(buffer, k );
#tap1, tap2, tap3, tap4, tap5 = DelTapRd.kr(buffer, tapPhase,
[0.1, 0.2, 0.3, 0.4, 0.5, 0.6]*0.15, // tap times
1, // no interp
[1.0, 1.0, 1.0, 1.0, 1.0, 1.0] // muls for each tap
);
o3 = [ k, tap1, tap2, tap3, tap4, tap5 ];
o1 = Harmonics.new(6).ramp(1,3/7);
o2 = Array.fill( 6,{ arg i; o3[i]*o1[i]; });
src = DynKlank.ar(`[ o2 , 0.01, {rrand(1, 3)}!6], Impulse.ar(0.5, 0, 0.1));
Out.ar( out, src!2 );
}).add ;
)
x = Synth(\test, [\buffer, b]);