File: stutterfx.scd

package info (click to toggle)
python-renardo-lib 0.9.12-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,220 kB
  • sloc: python: 10,999; sh: 34; makefile: 7
file content (11 lines) | stat: -rw-r--r-- 606 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
SynthDef.new(\stutterfx, {
	|bus, t_reset, stut, stutrate, stutlen|
	var osc,dry,reset,wet;
	osc = In.ar(bus, 2);
	~stutter = { |snd, reset, stutlen, maxdelay = 1| var phase, fragment, del; phase = Sweep.ar(reset); fragment = { |ph| (ph - Delay1.ar(ph)) < 0 + Impulse.ar(0) }.value(phase / stutlen % 1); del = Latch.ar(phase, fragment) + ((stutlen - Sweep.ar(fragment)) * (stutrate - 1)); DelayC.ar(snd, maxdelay, del); };
	dry = osc;
	reset = Onsets.kr(FFT(LocalBuf(1024), osc), t_reset);
	wet = ~stutter.(osc, reset, stutlen);
	osc = SelectX.ar(stut, [dry, wet], wrap:1);
	ReplaceOut.ar(bus, osc)
}).add;