Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::chardelay::TapeLossShapes Struct Reference

Fit both dimensionless shapes. More...

#include <tape_loss.hpp>

Public Member Functions

void fit ()
 Re-derive the shapes from the physics.
TapeLossIirParams parameters_for (const TapeLossGeometry &geometry) const noexcept
 Corners in hertz for a given geometry.

Static Public Member Functions

static TapeLossShapes tabulated () noexcept
 The shipped values.

Public Attributes

SpacingShape spacing
ThicknessShape thickness

Detailed Description

Fit both dimensionless shapes.

Allocating and iterative; control thread only, and only once per instance — after this, every speed and every age is a scalar multiply.

Member Function Documentation

◆ fit()

void pulp::signal::chardelay::TapeLossShapes::fit ( )
inline

Re-derive the shapes from the physics.

Expensive (a multi-start simplex search); this is the offline derivation behind the shipped table, kept so the table can be regenerated and so the acceptance suite can prove the shipped values reproduce it.

◆ parameters_for()

TapeLossIirParams pulp::signal::chardelay::TapeLossShapes::parameters_for ( const TapeLossGeometry & geometry) const
inlinenoexcept

Corners in hertz for a given geometry.

The spacing shape's normalized variable is f·d/v, so its corners become hertz when multiplied by v/d; the thickness shape's is f·δ/v, so by v/δ. Both are exact.

◆ tabulated()

TapeLossShapes pulp::signal::chardelay::TapeLossShapes::tabulated ( )
inlinestaticnoexcept

The shipped values.

Member Data Documentation

◆ spacing

SpacingShape pulp::signal::chardelay::TapeLossShapes::spacing

◆ thickness

ThicknessShape pulp::signal::chardelay::TapeLossShapes::thickness

The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/signal/include/pulp/signal/character_delay/tape_loss.hpp