pyFDN.MatchEchoDensity#

class pyFDN.MatchEchoDensity(target, *, win_duration=0.02, hop=None, kappa=(100.0, 100000.0))[source]#

Mean squared error of the differentiable echo density profile.

Scores how fast the response builds up to a diffuse, Gaussian-like tail – the one property of a reverberator that neither a spectrogram nor an energy decay sees. See EchoDensityProfile.

Contributed by Riccardo Giampiccolo.

Parameters:
  • target (Any) – Reference IR, shape (n_samples,), (n_samples, n_out) or (n_samples, n_out, n_in). Zero-padded or truncated to the model’s nfft.

  • win_duration (float) – Analysis window in seconds.

  • hop (int | None) – Samples between profile points; defaults to a quarter window. 1 is the textbook profile, at a memory cost of nfft * window per channel.

  • kappa (float | tuple[float, float]) – Sigmoid slope, or its linear ramp from start to end of the response.

__init__(target, *, win_duration=0.02, hop=None, kappa=(100.0, 100000.0))[source]#

Methods

__init__(target, *[, win_duration, hop, kappa])

check(model)

Preflight against the model it will train, before the first step.

terms()

Flatten into (weight, loss) leaves.

Attributes

name

Short label, used as the key in pyFDN.TrainLog.loss_log.