Namespaces | |
| namespace | chorus |
| namespace | phaser |
| namespace | vibrato |
Functions | |
| float | ssb_frequency_shifter_worst_case_gain () |
| Worst-case linear gain for the Forge registry (series law 8). | |
| signal::FrequencyShiftMode | mode_from_param (float value) |
| Decodes the stepped mode param. | |
| CustomNodeType | make_frequency_shifter_node () |
| The Bode/Moog single-sideband frequency shifter as a lowerable custom node. | |
Variables | |
| constexpr const char * | kSsbFrequencyShifterTypeId = "modulation.frequency_shifter_ssb" |
| constexpr state::ParamID | kShiftHz = 1 |
| constexpr state::ParamID | kFeedback = 2 |
| constexpr state::ParamID | kFeedbackDelayMs = 3 |
| constexpr state::ParamID | kMix = 4 |
| constexpr state::ParamID | kShiftMode = 5 |
| constexpr state::ParamID | kStereoSpread = 6 |
| constexpr float | kModeUp = 0.0f |
| The mode param's stepped encoding. | |
| constexpr float | kModeDown = 1.0f |
| constexpr float | kModeDualMono = 2.0f |
| constexpr float | kModeStereoSplit = 3.0f |
| CustomNodeType pulp::host::modulation::make_frequency_shifter_node | ( | ) |
The Bode/Moog single-sideband frequency shifter as a lowerable custom node.
|
inline |
Decodes the stepped mode param.
Rounds rather than truncates, so a host that ramps to a stepped value lands on the nearest step instead of the one below it for the whole ramp.
| float pulp::host::modulation::ssb_frequency_shifter_worst_case_gain | ( | ) |
Worst-case linear gain for the Forge registry (series law 8).
The topology HAS a feedback loop, so unlike the feedforward compressor there is a bound to argue rather than a ceiling to read off. The argument is in the DSP header: every element in the loop is allpass, a convex interpolation, or the combine (whose retained-sideband gain is at most 1), leaving the DC blocker's 2/(1 + p) as the only element above unity. The module budgets kGshiftBudget for it, so per-pass loop gain is at most kMaxFeedback · kGshiftBudget and the steady-state envelope is 1/(1 − that). Both factors and the resulting peak are measured by the DSP suite; this function only restates the arithmetic they confirm.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
The mode param's stepped encoding.
Ordered so 0 is the default and the two mono-equivalent modes sit next to each other.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |