Sound Byte Libs 0.5.1-121-g3358a44
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
sbl::dsp::pm::ModalResonator< MaxModes > Class Template Reference

Detailed Description

template<uint8_t MaxModes = 8>
class sbl::dsp::pm::ModalResonator< MaxModes >

Definition at line 58 of file modal_resonator.hpp.

#include <modal_resonator.hpp>

Public Member Functions

 ModalResonator ()
 
void set_mode (uint8_t index, float hz, float q, float match, float weight=1.0f, float radiate=1.0f)
 Set one mode. Modes at or beyond count() are kept but silent.
 
void set_modes (const Mode *modes, uint8_t count)
 Install a whole set; count is clamped to the bank's size.
 
void set_count (uint8_t count)
 How many of the modes are live.
 
uint8_t count () const
 
const pm::MassSpringDamper & mode (uint8_t i) const
 
float weight (uint8_t i) const
 
float radiate (uint8_t i) const
 
float admittance () const
 
float history () const
 
float commit (float force)
 Apply this sample's force to every live mode; return the point velocity.
 
float radiated () const
 What the body sounds like this sample: each mode's velocity by its radiation weight.
 
float energy () const
 Stored energy across the live modes, for passivity tests.
 
void reset ()
 
diagram::Ports describe (diagram::Graph &g, uint8_t parent, const char *name="resonator") const
 One Load node per live mode, wired in parallel to a shared point. Never called from audio code (AP-037).
 

Static Public Attributes

static constexpr uint8_t MAX_MODES = MaxModes
 

Constructor & Destructor Documentation

◆ ModalResonator()

template<uint8_t MaxModes = 8>
sbl::dsp::pm::ModalResonator< MaxModes >::ModalResonator ( )
inline

Definition at line 66 of file modal_resonator.hpp.

Member Function Documentation

◆ set_mode()

template<uint8_t MaxModes = 8>
void sbl::dsp::pm::ModalResonator< MaxModes >::set_mode ( uint8_t  index,
float  hz,
float  q,
float  match,
float  weight = 1.0f,
float  radiate = 1.0f 
)
inline

◆ set_modes()

template<uint8_t MaxModes = 8>
void sbl::dsp::pm::ModalResonator< MaxModes >::set_modes ( const Mode *  modes,
uint8_t  count 
)
inline

◆ set_count()

template<uint8_t MaxModes = 8>
void sbl::dsp::pm::ModalResonator< MaxModes >::set_count ( uint8_t  count)
inline

How many of the modes are live.

Definition at line 96 of file modal_resonator.hpp.

References sbl::dsp::pm::ModalResonator< MaxModes >::count().

◆ count()

template<uint8_t MaxModes = 8>
uint8_t sbl::dsp::pm::ModalResonator< MaxModes >::count ( ) const
inline

◆ mode()

template<uint8_t MaxModes = 8>
const pm::MassSpringDamper & sbl::dsp::pm::ModalResonator< MaxModes >::mode ( uint8_t  i) const
inline

Definition at line 102 of file modal_resonator.hpp.

◆ weight()

template<uint8_t MaxModes = 8>
float sbl::dsp::pm::ModalResonator< MaxModes >::weight ( uint8_t  i) const
inline

◆ radiate()

template<uint8_t MaxModes = 8>
float sbl::dsp::pm::ModalResonator< MaxModes >::radiate ( uint8_t  i) const
inline

◆ admittance()

template<uint8_t MaxModes = 8>
float sbl::dsp::pm::ModalResonator< MaxModes >::admittance ( ) const
inline

Definition at line 108 of file modal_resonator.hpp.

◆ history()

template<uint8_t MaxModes = 8>
float sbl::dsp::pm::ModalResonator< MaxModes >::history ( ) const
inline

◆ commit()

template<uint8_t MaxModes = 8>
float sbl::dsp::pm::ModalResonator< MaxModes >::commit ( float  force)
inline

Apply this sample's force to every live mode; return the point velocity.

Definition at line 117 of file modal_resonator.hpp.

References sbl::dsp::pm::MassSpringDamper::commit().

◆ radiated()

template<uint8_t MaxModes = 8>
float sbl::dsp::pm::ModalResonator< MaxModes >::radiated ( ) const
inline

What the body sounds like this sample: each mode's velocity by its radiation weight.

Definition at line 130 of file modal_resonator.hpp.

◆ energy()

template<uint8_t MaxModes = 8>
float sbl::dsp::pm::ModalResonator< MaxModes >::energy ( ) const
inline

Stored energy across the live modes, for passivity tests.

Definition at line 133 of file modal_resonator.hpp.

References sbl::dsp::pm::ModalResonator< MaxModes >::energy().

Referenced by sbl::dsp::pm::ModalResonator< MaxModes >::energy().

◆ reset()

template<uint8_t MaxModes = 8>
void sbl::dsp::pm::ModalResonator< MaxModes >::reset ( )
inline

◆ describe()

template<uint8_t MaxModes = 8>
diagram::Ports sbl::dsp::pm::ModalResonator< MaxModes >::describe ( diagram::Graph &  g,
uint8_t  parent,
const char *  name = "resonator" 
) const
inline

Member Data Documentation

◆ MAX_MODES

template<uint8_t MaxModes = 8>
constexpr uint8_t sbl::dsp::pm::ModalResonator< MaxModes >::MAX_MODES = MaxModes
staticconstexpr
Note
All public methods are ISR-safe — bounded computation, no I/O.

Definition at line 64 of file modal_resonator.hpp.


The documentation for this class was generated from the following file: