201 std::uint64_t
rng = 0x9E3779B97F4A7C15ull;
202 static constexpr std::uint64_t
kSeed = 0x9E3779B97F4A7C15ull;
207 std::uint64_t z = (
state += 0x9E3779B97F4A7C15ull);
208 z = (z ^ (z >> 30)) * 0xBF58476D1CE4E5B9ull;
209 z = (z ^ (z >> 27)) * 0x94D049BB133111EBull;
212 return (
static_cast<float>(z >> 40) * (1.0f / 8388608.0f)) - 1.0f;
414 return 1.0f - 4.0f * std::fabs(phase - 0.5f);
416 return 2.0f * phase - 1.0f;
418 return phase < 0.5f ? 1.0f : -1.0f;
421 constexpr float kTwoPi = 6.28318530717958647692f;
422 return std::sin(kTwoPi * phase);
592#include <pulp/host/detail/forge_lofi_catalog_descriptor.hpp>
Peak/RMS envelope follower with independent attack and release curves.
Mode
Definition svf.hpp:18
Deterministic TPDF dither and bounded error-feedback quantization.
Definition forge_analog_vcf_catalog.hpp:18
constexpr state::ParamID kFilterCvResonance
Definition forge_lofi_catalog.hpp:401
constexpr state::ParamID kBitcrushBitDepth
Definition forge_lofi_catalog.hpp:111
constexpr state::ParamID kCompThresholdDb
Definition forge_lofi_catalog.hpp:120
constexpr state::ParamID kPingPongTimeMs
Definition forge_lofi_catalog.hpp:114
float forge_lfo_osc(float phase, int shape) noexcept
Definition forge_lofi_catalog.hpp:411
constexpr state::ParamID kPhaserFeedback
Definition forge_lofi_catalog.hpp:521
constexpr const char * kPhaserTypeId
Definition forge_lofi_catalog.hpp:511
constexpr state::ParamID kCompRatio
Definition forge_lofi_catalog.hpp:121
float forge_white_next(std::uint64_t &state) noexcept
Definition forge_lofi_catalog.hpp:206
constexpr const char * kFilterHighpassTypeId
Definition forge_lofi_catalog.hpp:98
constexpr state::ParamID kGateAttackMs
Definition forge_lofi_catalog.hpp:126
CustomNodeType make_bitcrush_node(signal::DitherMode dither=signal::DitherMode::none, signal::NoiseShapingOrder shaping=signal::NoiseShapingOrder::none)
constexpr const char * kPingPongTypeId
Definition forge_lofi_catalog.hpp:88
constexpr state::ParamID kFilterCvBaseHz
Definition forge_lofi_catalog.hpp:399
constexpr state::ParamID kVcaGain
Definition forge_lofi_catalog.hpp:394
CustomNodeType make_filter_node(signal::Svf::Mode mode=signal::Svf::Mode::lowpass)
CustomNodeType make_env_follower_node()
constexpr state::ParamID kReverbDamping
Definition forge_lofi_catalog.hpp:118
constexpr state::ParamID kDelayCvBaseMs
Definition forge_lofi_catalog.hpp:402
constexpr state::ParamID kEnvReleaseMs
Definition forge_lofi_catalog.hpp:396
constexpr const char * kGateTypeId
Definition forge_lofi_catalog.hpp:91
constexpr state::ParamID kDryWetMix
Definition forge_lofi_catalog.hpp:109
constexpr const char * kWaveshaperTypeId
Definition forge_lofi_catalog.hpp:80
constexpr float kDelayMaxMs
Definition forge_lofi_catalog.hpp:131
constexpr const char * kWidthTypeId
Definition forge_lofi_catalog.hpp:510
CustomNodeType make_gate_node()
constexpr state::ParamID kEnvSensitivity
Definition forge_lofi_catalog.hpp:397
CustomNodeType make_ping_pong_node()
constexpr state::ParamID kLfoRateHz
Definition forge_lofi_catalog.hpp:391
constexpr state::ParamID kDelayFeedback
Definition forge_lofi_catalog.hpp:105
constexpr state::ParamID kAutoPanShape
Definition forge_lofi_catalog.hpp:517
constexpr const char * kBitcrushTpdfSecondTypeId
Definition forge_lofi_catalog.hpp:86
constexpr float kReverbWetNormalization
Definition forge_lofi_catalog.hpp:324
constexpr state::ParamID kAutoPanDepth
Definition forge_lofi_catalog.hpp:516
constexpr state::ParamID kGateThresholdDb
Definition forge_lofi_catalog.hpp:125
CustomNodeType make_trim_node()
LfoShape
Definition forge_lofi_catalog.hpp:408
@ square
Definition forge_lofi_catalog.hpp:408
@ sine
Definition forge_lofi_catalog.hpp:408
@ saw
Definition forge_lofi_catalog.hpp:408
@ triangle
Definition forge_lofi_catalog.hpp:408
constexpr const char * kBitcrushTpdfFirstTypeId
Definition forge_lofi_catalog.hpp:85
constexpr state::ParamID kPingPongFeedback
Definition forge_lofi_catalog.hpp:115
constexpr const char * kAutoPanTypeId
Definition forge_lofi_catalog.hpp:509
CustomNodeType make_reverb_node()
constexpr state::ParamID kEnvInvert
Definition forge_lofi_catalog.hpp:398
CustomNodeType make_delay_node()
CustomNodeType make_waveshaper_node()
constexpr state::ParamID kCompReleaseMs
Definition forge_lofi_catalog.hpp:123
constexpr state::ParamID kReverbDecay
Definition forge_lofi_catalog.hpp:117
constexpr state::ParamID kGateHoldMs
Definition forge_lofi_catalog.hpp:127
constexpr state::ParamID kFilterCvAmountOct
Definition forge_lofi_catalog.hpp:400
constexpr state::ParamID kPhaserStages
Definition forge_lofi_catalog.hpp:522
constexpr const char * kNoiseTypeId
Definition forge_lofi_catalog.hpp:82
constexpr state::ParamID kFilterResonance
Definition forge_lofi_catalog.hpp:107
constexpr const char * kBitcrushTpdfTypeId
Definition forge_lofi_catalog.hpp:84
constexpr state::ParamID kWaveshaperDrive
Definition forge_lofi_catalog.hpp:108
constexpr const char * kEnvFollowerTypeId
Definition forge_lofi_catalog.hpp:386
constexpr const char * kFilterCvTypeId
Definition forge_lofi_catalog.hpp:387
constexpr state::ParamID kPingPongWidth
Definition forge_lofi_catalog.hpp:116
constexpr const char * kCompressorTypeId
Definition forge_lofi_catalog.hpp:90
constexpr state::ParamID kAutoPanRateHz
Definition forge_lofi_catalog.hpp:515
constexpr const char * kBitcrushTypeId
Definition forge_lofi_catalog.hpp:83
CustomNodeType make_compressor_node()
CustomNodeType make_width_node()
CustomNodeType make_drywet_node()
constexpr state::ParamID kEnvAttackMs
Definition forge_lofi_catalog.hpp:395
constexpr const char * kFilterNotchTypeId
Definition forge_lofi_catalog.hpp:100
CustomNodeType make_lfo_node()
constexpr const char * kDelayCvTypeId
Definition forge_lofi_catalog.hpp:388
constexpr const char * kDelayTypeId
Definition forge_lofi_catalog.hpp:78
constexpr state::ParamID kReverbMix
Definition forge_lofi_catalog.hpp:119
constexpr const char * kTrimTypeId
Definition forge_lofi_catalog.hpp:87
constexpr state::ParamID kPhaserDepth
Definition forge_lofi_catalog.hpp:520
constexpr state::ParamID kCompBallistics
Definition forge_lofi_catalog.hpp:124
constexpr state::ParamID kTrimGainDb
Definition forge_lofi_catalog.hpp:113
CustomNodeType make_delay_cv_node()
constexpr const char * kFilterBandpassTypeId
Definition forge_lofi_catalog.hpp:99
constexpr state::ParamID kDelayTimeMs
Definition forge_lofi_catalog.hpp:104
constexpr state::ParamID kLfoDepth
Definition forge_lofi_catalog.hpp:392
constexpr state::ParamID kLfoShape
Definition forge_lofi_catalog.hpp:393
constexpr state::ParamID kDelayCvMix
Definition forge_lofi_catalog.hpp:405
constexpr const char * kDryWetTypeId
Definition forge_lofi_catalog.hpp:81
constexpr state::ParamID kDelayCvFeedback
Definition forge_lofi_catalog.hpp:404
constexpr state::ParamID kPhaserRateHz
Definition forge_lofi_catalog.hpp:519
CustomNodeType make_noise_node()
CustomNodeType make_auto_pan_node()
constexpr const char * kFilterTypeId
Definition forge_lofi_catalog.hpp:79
constexpr state::ParamID kWidthAmount
Definition forge_lofi_catalog.hpp:518
constexpr state::ParamID kBitcrushRateDiv
Definition forge_lofi_catalog.hpp:112
CustomNodeType make_vca_node()
CustomNodeType make_filter_cv_node()
constexpr state::ParamID kFilterCutoffHz
Definition forge_lofi_catalog.hpp:106
constexpr state::ParamID kGateReleaseMs
Definition forge_lofi_catalog.hpp:128
constexpr state::ParamID kNoiseLevel
Definition forge_lofi_catalog.hpp:110
constexpr const char * kVcaTypeId
Definition forge_lofi_catalog.hpp:385
constexpr state::ParamID kDelayCvDepthMs
Definition forge_lofi_catalog.hpp:403
CustomNodeType make_phaser_node()
constexpr const char * kReverbTypeId
Definition forge_lofi_catalog.hpp:89
constexpr state::ParamID kCompAttackMs
Definition forge_lofi_catalog.hpp:122
constexpr const char * kLfoTypeId
Definition forge_lofi_catalog.hpp:384
BallisticsFilterT< float > BallisticsFilter
Definition ballistics_filter.hpp:195
NoiseShapingOrder
Definition dither.hpp:21
@ none
Definition dither.hpp:22
SvfT< float > Svf
Definition svf.hpp:148
WaveShaperT< float > WaveShaper
Definition waveshaper.hpp:105
DryWetMixerT< float > DryWetMixer
Definition dry_wet_mixer.hpp:340
DitherQuantizerT< float > DitherQuantizer
Definition dither.hpp:236
DelayLineT< float > DelayLine
Definition delay_line.hpp:82
ReverbT< float > Reverb
Definition reverb.hpp:101
PhaserT< float > Phaser
Definition phaser.hpp:84
DitherMode
Definition dither.hpp:16
@ none
Definition dither.hpp:17
CompressorT< float > Compressor
Definition compressor.hpp:425
SequencerStateChannel is the audio-safe transport for a plugin's structured NON-parameter state: the ...
Definition audio_device_manager.hpp:48
uint32_t ParamID
Unique parameter identifier, stable across plugin versions.
Definition parameter.hpp:55
Definition custom_node_type.hpp:90
Definition forge_lofi_catalog.hpp:538
double sample_rate
Definition forge_lofi_catalog.hpp:539
float phase
Definition forge_lofi_catalog.hpp:540
Definition forge_lofi_catalog.hpp:228
float held
Definition forge_lofi_catalog.hpp:229
signal::DitherQuantizer quantizer
Definition forge_lofi_catalog.hpp:231
float phase
Definition forge_lofi_catalog.hpp:230
Definition forge_lofi_catalog.hpp:340
signal::Compressor comp
Definition forge_lofi_catalog.hpp:341
Definition forge_lofi_catalog.hpp:494
double sample_rate
Definition forge_lofi_catalog.hpp:496
signal::DelayLine line
Definition forge_lofi_catalog.hpp:495
int max_delay_samples
Definition forge_lofi_catalog.hpp:497
Definition forge_lofi_catalog.hpp:146
double sample_rate
Definition forge_lofi_catalog.hpp:148
int max_delay_samples
Definition forge_lofi_catalog.hpp:149
signal::DelayLine line
Definition forge_lofi_catalog.hpp:147
Definition forge_lofi_catalog.hpp:189
signal::DryWetMixer dwm
Definition forge_lofi_catalog.hpp:190
Definition forge_lofi_catalog.hpp:463
float last_release_ms
Definition forge_lofi_catalog.hpp:466
float last_attack_ms
Definition forge_lofi_catalog.hpp:465
signal::BallisticsFilter env
Definition forge_lofi_catalog.hpp:464
Definition forge_lofi_catalog.hpp:479
double sample_rate
Definition forge_lofi_catalog.hpp:481
signal::Svf svf
Definition forge_lofi_catalog.hpp:480
float last_resonance
Definition forge_lofi_catalog.hpp:482
Definition forge_lofi_catalog.hpp:171
double sample_rate
Definition forge_lofi_catalog.hpp:173
float resonance
Definition forge_lofi_catalog.hpp:174
signal::Svf svf
Definition forge_lofi_catalog.hpp:172
Definition forge_lofi_catalog.hpp:366
static constexpr float kRatio
Definition forge_lofi_catalog.hpp:370
float hold_remaining
Definition forge_lofi_catalog.hpp:369
float envelope_db
Definition forge_lofi_catalog.hpp:368
double sample_rate
Definition forge_lofi_catalog.hpp:367
static constexpr float kRangeDb
Definition forge_lofi_catalog.hpp:371
Definition forge_lofi_catalog.hpp:437
double sample_rate
Definition forge_lofi_catalog.hpp:438
float phase
Definition forge_lofi_catalog.hpp:439
Definition forge_lofi_catalog.hpp:200
std::uint64_t rng
Definition forge_lofi_catalog.hpp:201
static constexpr std::uint64_t kSeed
Definition forge_lofi_catalog.hpp:202
Definition forge_lofi_catalog.hpp:583
double sample_rate
Definition forge_lofi_catalog.hpp:585
signal::Phaser phaser
Definition forge_lofi_catalog.hpp:584
Definition forge_lofi_catalog.hpp:280
int max_delay_samples
Definition forge_lofi_catalog.hpp:284
signal::DelayLine line_l
Definition forge_lofi_catalog.hpp:281
double sample_rate
Definition forge_lofi_catalog.hpp:283
signal::DelayLine line_r
Definition forge_lofi_catalog.hpp:282
Definition forge_lofi_catalog.hpp:318
float last_decay
Definition forge_lofi_catalog.hpp:320
float last_damping
Definition forge_lofi_catalog.hpp:321
signal::Reverb reverb
Definition forge_lofi_catalog.hpp:319
Definition forge_lofi_catalog.hpp:250
float last_db
Definition forge_lofi_catalog.hpp:251
float gain
Definition forge_lofi_catalog.hpp:252
Definition forge_lofi_catalog.hpp:180
signal::WaveShaper ws
Definition forge_lofi_catalog.hpp:181
Definition forge_lofi_catalog.hpp:561