pyFDN.td.SDFD#

class pyFDN.td.SDFD(channels, d, active_channels)[source]#

Stateful, controllable Signal-Dependent Fractional Delay, y[n, c] = (1 - d) n[n-1, c] + d n[n, c] + d p[n-2, c] + (1 - d) p[n-1, c], applied to active_channels only; the rest pass through unchanged.

p = max(x, 0) and n = min(x, 0) are the positive and negative half-wave rectified branches of the input, each delayed by a different, d-dependent amount: the positive branch by roughly 1 + d samples, the negative one by roughly 1 - d. Recombining the two smears the signal’s zero crossings without reshaping the rest of the waveform, which reads as a soft, amplitude-dependent distortion rather than a hard clip.

__init__(channels, d, active_channels)[source]#

Methods

__init__(channels, d, active_channels)

filter(block)

Filter one block and advance internal state.

process(signal, *[, squeeze])

Filter a whole signal in one call, from the current state.

reset()

Clear internal state (no-op for stateless operators).

Attributes

in_channels

out_channels

filter(block)[source]#

Filter one block and advance internal state.

Return type:

ndarray

reset()[source]#

Clear internal state (no-op for stateless operators).

Return type:

None