pyFDN.build_fdn#
- pyFDN.build_fdn(*, delays=None, N=None, rt=2.0, matrix='orthogonal', feedback=None, input_gain=None, output_gain=None, direct=0.0, trainable=None, fs=48000.0, nfft=16384, output='time', device=None, dtype=None, rng=None)[source]#
Build a trainable flamo
Shellfrom a config.- Parameters:
delays (np.ndarray, optional) – Explicit integer delay lengths in samples. If omitted,
Ncoprime delays are sampled (pyFDN.sample_delay_lengths()).N (int, optional) – Number of delay lines when
delaysis omitted.rt (float, (rt_dc, rt_nyquist), or None) – Reverberation time in seconds.
Nonebuilds a lossless FDN.matrix ({"orthogonal", "random"}) – Feedback-matrix parametrization.
feedback (np.ndarray, optional) – Initial
(N, N)feedback matrix; defaults to a random SO(N) matrix.input_gain (np.ndarray, optional) –
B((N, n_in)) andC((n_out, N)); default ones / sqrt(N).output_gain (np.ndarray, optional) –
B((N, n_in)) andC((n_out, N)); default ones / sqrt(N).direct (float or np.ndarray) – Direct path
D; a scalar fills(n_out, n_in).trainable (Trainable, optional) – Trainable parameter groups (default
Trainable).fs (see
trainable_from_build().)nfft (see
trainable_from_build().)output (see
trainable_from_build().)device (see
trainable_from_build().)dtype (see
trainable_from_build().)rng (np.random.Generator, int, or None) – Seed for the sampled delays / default feedback matrix.
- Return type:
flamo.processor.system.Shell