pyFDN.td.RingModulator#
- class pyFDN.td.RingModulator(channels, mod_freq, mod_amp, fs, active_channels)[source]#
Stateful, controllable ring modulator,
y[n, c] = mod_amp * x[n, c] * sin(2 * pi * mod_freq * n / fs), applied toactive_channelsonly; the rest pass through unchanged.Multiplying by a sine shifts the spectrum of the active channels by
+-mod_freqrather than adding harmonics on top of it, so the effect reads as tremolo at lowmod_freqand as an inharmonic, bell-like retuning oncemod_freqenters the audible range. A unit-amplitude sine carries only half the power of the signal it multiplies, somod_amp = sqrt(2)keeps the operator energy-preserving. The modulation phase runs continuously acrossfilter()calls, tracked bysample_index.Methods
__init__(channels, mod_freq, mod_amp, fs, ...)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_channelsout_channels