No matching definitions.

signal/delay

src/signal/delay.tur
defn

delay-n

(delay-n [n :int])

delay the input by `n` whole samples.

((delay-n 441) (sine 440.0 0.0))
defn

comb-ff-n

(comb-ff-n [n :int gain :float])

feedforward comb filter, delay in samples.

ndelay in samples
gainamount of the delayed input added back
defn

comb-n

(comb-n [n :int feedback :float])

feedback comb filter, delay in samples.

ndelay in samples
feedbackecho decay factor, |feedback| < 1
defn

allpass-n

(allpass-n [n :int gain :float])

Schroeder allpass filter, delay in samples.

ndelay in samples
gainallpass coefficient, |gain| < 1
defn

delay

(delay [sample-rate :float seconds :float])

delay the input by `seconds`, at `sample-rate` Hz.

((delay 44100.0 0.25) (sine 440.0 0.0))
defn

comb-ff

(comb-ff [sample-rate :float seconds :float gain :float])

feedforward comb filter, delay in seconds.

defn

comb

(comb [sample-rate :float seconds :float feedback :float])

feedback comb filter, delay in seconds.

((comb 44100.0 0.0297 0.805) input)   ;; a classic Schroeder reverb comb
defn

allpass

(allpass [sample-rate :float seconds :float gain :float])

Schroeder allpass filter, delay in seconds.

Internal definitions
__delay_clamp-- clamp a delay length to the supported range.
__delay_to_int-- truncate a (non-negative, bounded) double to int.
__delay_seconds_to_samples-- round seconds * sample-rate to whole samples.
__delay_alloc-- allocate a zeroed ring-buffer cell of `n` samples.
__delay_step-- plain delay: emit the sample written `len` steps ago.
__delay_comb_ff_step-- feedforward comb: y = x + g * x[n-D].
__delay_comb_fb_step-- feedback comb: y = x + g * y[n-D].
__delay_allpass_step-- Schroeder allpass.