A FOF-like resonant filter UGen. Its impulse response is like that of a sine
wave with a Decay2 envelope over it. It is possible to control the attack and
decay times.
Formlet is equivalent to:
Ringz(in, freq, decay) - Ringz(in, freq, attack)
The great advantage to this filter over FOF (Fonction d'onde formantique) is
that there is no limit to the number of overlapping grains since the grain is
just the impulse response of the filter.
Note: Ringz and derived UGens Klank and Formlet produce output RMS
depending on the server's sampling rate. This is to achieve the same amplitude
for single-sample impulse inputs.
Examples
// modulated formant frequency
play {
val in = Blip.ar(SinOsc.kr(5,0).mulAdd(20, 300), 1000) * 0.1
Formlet.ar(in, XLine.kr(1500, 700, 8), 0.005, 0.04)
}
// mouse control of frequency and decay time
play {
val in = Blip.ar(SinOsc.kr(5,0).mulAdd(20, 300), 1000) * 0.1val freq = MouseY.kr(700, 2000, 1)
val decay = MouseX.kr(0.01, 0.2, 1)
Formlet.ar(in, freq, attack = 0.005, decay = decay)
}
A FOF-like resonant filter UGen. Its impulse response is like that of a sine wave with a
Decay2
envelope over it. It is possible to control the attack and decay times.Formlet
is equivalent to:The great advantage to this filter over FOF (Fonction d'onde formantique) is that there is no limit to the number of overlapping grains since the grain is just the impulse response of the filter.
Note:
Ringz
and derived UGensKlank
andFormlet
produce output RMS depending on the server's sampling rate. This is to achieve the same amplitude for single-sample impulse inputs.Examples
RHPF
RLPF
Resonz
Ringz