Separates attack and sustain by comparing exact-timing peak envelopes. More...
#include <transient_designer.hpp>
Public Member Functions | |
| void | prepare (SampleType sample_rate) |
| void | set_attack_db (SampleType db) noexcept |
| void | set_sustain_db (SampleType db) noexcept |
| void | set_fast_attack_ms (SampleType ms) |
| void | set_fast_release_ms (SampleType ms) |
| void | set_slow_attack_ms (SampleType ms) |
| void | set_slow_release_ms (SampleType ms) |
| SampleType | process (SampleType input) noexcept |
| void | process (const SampleType *input, SampleType *output, int num_samples) noexcept |
| void | reset () noexcept |
| SampleType | attack_db () const noexcept |
| SampleType | sustain_db () const noexcept |
| SampleType | fast_attack_ms () const noexcept |
| SampleType | fast_release_ms () const noexcept |
| SampleType | slow_attack_ms () const noexcept |
| SampleType | slow_release_ms () const noexcept |
| SampleType | contrast () const noexcept |
| SampleType | gain_db () const noexcept |
Static Public Member Functions | |
| static constexpr int | latency_samples () noexcept |
Static Public Attributes | |
| static constexpr SampleType | kMinShapeDb = SampleType{-24} |
| static constexpr SampleType | kMaxShapeDb = SampleType{24} |
Separates attack and sustain by comparing exact-timing peak envelopes.
A positive fast-minus-slow contrast identifies an onset. A negative contrast identifies the body after a level falls. attack_db and sustain_db scale those two regions independently; positive values enhance and negative values attenuate. Both controls at zero are exactly transparent.
This is a zero-lookahead, zero-latency primitive. It owns fixed scalar state and process(), block processing, reset(), and accessors allocate no memory. Call prepare() and the setters from control code, not concurrently with the audio callback.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinestaticconstexprnoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
staticconstexpr |
|
staticconstexpr |