1class:: GlitchBRF
2summary:: backward compatibility
3related:: Classes/BRF
4categories:: UGens>Filters>Linear, UGens>Filters>GlitchUGens
5
6
7Description::
8
9October 2012 BRF was changed to use double-precision floats (git commit: 72412f63affa94f69e2ea7539e21831a1d0d3e01). GlitchBRF can be used as drop-in replacements to get the old behavior back. Good for very noise and glitchy sounds where the filter [nearly] blows up.
10
11
12classmethods::
13
14method::ar, kr
15
16argument::in
17The input signal.
18
19argument::freq
20Cutoff frequency in Hertz.
21
22argument::rq
23The reciprocal of Q (bandwidth / cutoffFreq).
24
25argument::mul
26Output will be multiplied by this value.
27
28argument::add
29This value will be added to the output.
30
31
32Examples::
33
34code::
35//code that utilizes the glitch.
36(
37s.waitForBoot{
38	SynthDef(\birdy, {|out= 0, amp= 0.1, freq= 1000, atk= 0.01, rel= 0.05, cur= -4, gate= 1|
39		var env= EnvGen.kr(Env.asr(atk, 1, rel, cur), gate, doneAction:2);
40		var src= SinOsc.ar(0.11, GlitchBRF.ar(SinOsc.ar(SinOsc.ar(0.12).exprange(1, freq), 2pi), 1/SinOsc.ar(0.13).range(1, #[99, 100])));
41		Out.ar(out, Limiter.ar(LeakDC.ar(src*amp)));
42	}).add;
43	s.sync;
44	Synth(\birdy, [\amp, 0.15]);
45};
46)
47::
48