Formlet

object Formlet extends ProductReader[Formlet]

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.1
 val freq  = MouseY.kr(700, 2000, 1)
 val decay = MouseX.kr(0.01, 0.2, 1)
 Formlet.ar(in, freq, attack = 0.005, decay = decay)
}
See also
Companion
class
trait Product
trait Mirror
trait ProductReader[Formlet]
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def ar(in: GE, freq: GE, attack: GE, decay: GE): Formlet
Value Params
attack

the 60 dB attack time in seconds

decay

the 60 dB decay time in seconds

freq

resonant frequency in Hertz

in

input signal to be filtered

def kr(in: GE, freq: GE, attack: GE, decay: GE): Formlet
Value Params
attack

the 60 dB attack time in seconds

decay

the 60 dB decay time in seconds

freq

resonant frequency in Hertz

in

input signal to be filtered

def read(in: RefMapIn, key: String, arity: Int): Formlet