pyFDN.td.PitchShift#

class pyFDN.td.PitchShift(channels, max_delay_samps, window_size, transpose_cents, fs, active_channels, min_delay_samps=3)[source]#

Stateful, controllable dual-read-head pitch shifter.

Writes into one circular buffer per channel and reads it back with two read heads spaced half a window apart, each sliding at a rate set by transpose_cents and crossfaded with a complementary sine window so the head that is about to wrap is always faded out. Only active_channels are shifted; the rest pass through unchanged.

__init__(channels, max_delay_samps, window_size, transpose_cents, fs, active_channels, min_delay_samps=3)[source]#

Methods

__init__(channels, max_delay_samps, ...[, ...])

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).

set_transpose_cents(cents)

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

set_transpose_cents(cents)[source]#
Return type:

None