158inline constexpr const char*
kBellTypeId =
"synthesis.additive_bell";
235inline constexpr const char*
kTypeId =
"synthesis.vocoder";
330inline constexpr const char*
kShortTypeId =
"synthesis.cyclic_stretch_short";
331inline constexpr const char*
kLongTypeId =
"synthesis.cyclic_stretch_long";
348inline constexpr const char*
kTypeId =
"synthesis.granular_live";
The sinusoidal bank: a tone built by summing sinusoids, one phase accumulator per partial,...
static constexpr int kMaxPartialsDefault
Definition additive_bank.hpp:378
Fixed-cycle splice time-stretch — the S-series sampler algorithm whose ARTEFACTS ARE THE PRODUCT.
A granular synthesis engine: a seeded grain scheduler driving a fixed pool of windowed,...
std::uint32_t PortIndex
Definition graph_types.hpp:8
Definition forge_synthesis_catalog.hpp:147
CustomNodeType make_additive_bank_node(Voice voice=Voice::organ, int max_partials=kNodeMaxPartials)
voice picks the registered type id and the partial table; max_partials is the allocation ceiling.
constexpr int kNodeMaxPartials
Partial ceiling this node instantiates.
Definition forge_synthesis_catalog.hpp:195
constexpr state::ParamID kDetuneCents
Definition forge_synthesis_catalog.hpp:171
constexpr state::ParamID kEnvelopeMode
Definition forge_synthesis_catalog.hpp:167
constexpr const char * kBellTypeId
Definition forge_synthesis_catalog.hpp:158
Voice
The two registered voices.
Definition forge_synthesis_catalog.hpp:152
@ organ
Harmonic, sustained. inharmonicity applies.
Definition forge_synthesis_catalog.hpp:153
@ bell
Modal, per-partial decays. No inharmonicity parameter.
Definition forge_synthesis_catalog.hpp:154
constexpr state::ParamID kSpectralTilt
Definition forge_synthesis_catalog.hpp:165
constexpr float kGateOff
Definition forge_synthesis_catalog.hpp:203
constexpr state::ParamID kInharmonicity
Definition forge_synthesis_catalog.hpp:164
ForgeNodeDescriptor descriptor()
constexpr state::ParamID kAttackMs
Definition forge_synthesis_catalog.hpp:169
constexpr state::ParamID kMasterGainDb
Definition forge_synthesis_catalog.hpp:166
constexpr float kGateOn
Gate thresholds on the CV input, with hysteresis so a noisy or slewed gate cannot retrigger on every ...
Definition forge_synthesis_catalog.hpp:202
constexpr state::ParamID kRetrigPhase
Definition forge_synthesis_catalog.hpp:168
constexpr state::ParamID kFundamentalHz
Definition forge_synthesis_catalog.hpp:162
constexpr const char * kOrganTypeId
Definition forge_synthesis_catalog.hpp:157
constexpr state::ParamID kPartialCount
Definition forge_synthesis_catalog.hpp:163
float additive_bank_worst_case_gain()
Worst-case linear gain for the Forge registry (series law 8).
constexpr state::ParamID kReleaseMs
Definition forge_synthesis_catalog.hpp:170
Definition forge_synthesis_catalog.hpp:328
signal::CyclicStretch Engine
Definition forge_synthesis_catalog.hpp:337
Regime
Definition forge_synthesis_catalog.hpp:329
@ long_frame
Definition forge_synthesis_catalog.hpp:329
@ short_frame
Definition forge_synthesis_catalog.hpp:329
constexpr state::ParamID kMixPct
Definition forge_synthesis_catalog.hpp:335
CustomNodeType make_cyclic_stretch_node(Regime regime=Regime::short_frame)
constexpr state::ParamID kStretch
Definition forge_synthesis_catalog.hpp:332
constexpr state::ParamID kCrossfadeShape
Definition forge_synthesis_catalog.hpp:334
constexpr const char * kShortTypeId
Definition forge_synthesis_catalog.hpp:330
float cyclic_stretch_worst_case_gain()
constexpr state::ParamID kCaptureMs
Definition forge_synthesis_catalog.hpp:333
constexpr const char * kLongTypeId
Definition forge_synthesis_catalog.hpp:331
constexpr state::ParamID kOutputDb
Definition forge_synthesis_catalog.hpp:336
ForgeNodeDescriptor descriptor()
Definition forge_synthesis_catalog.hpp:347
constexpr state::ParamID kPitchSpraySt
Definition forge_synthesis_catalog.hpp:354
constexpr state::ParamID kPanSpray
Definition forge_synthesis_catalog.hpp:355
constexpr state::ParamID kGrainMs
Definition forge_synthesis_catalog.hpp:350
constexpr state::ParamID kJitter
Definition forge_synthesis_catalog.hpp:356
constexpr state::ParamID kPitchSt
Definition forge_synthesis_catalog.hpp:353
ForgeNodeDescriptor descriptor()
signal::GranularEngine Engine
Definition forge_synthesis_catalog.hpp:359
CustomNodeType make_granular_node()
constexpr state::ParamID kLevelDb
Definition forge_synthesis_catalog.hpp:357
float granular_worst_case_gain()
constexpr state::ParamID kDensityHz
Definition forge_synthesis_catalog.hpp:349
constexpr const char * kTypeId
Definition forge_synthesis_catalog.hpp:348
constexpr state::ParamID kMix
Definition forge_synthesis_catalog.hpp:358
constexpr state::ParamID kPositionSprayMs
Definition forge_synthesis_catalog.hpp:352
constexpr state::ParamID kPosition
Definition forge_synthesis_catalog.hpp:351
Definition forge_synthesis_catalog.hpp:233
constexpr state::ParamID kFreqHiHz
Definition forge_synthesis_catalog.hpp:245
constexpr PortIndex kCarrierPort
Definition forge_synthesis_catalog.hpp:241
constexpr state::ParamID kBandCount
Definition forge_synthesis_catalog.hpp:243
constexpr state::ParamID kInternalPw
Definition forge_synthesis_catalog.hpp:248
constexpr state::ParamID kFreqLoHz
Definition forge_synthesis_catalog.hpp:244
constexpr state::ParamID kDryWet
Definition forge_synthesis_catalog.hpp:258
constexpr PortIndex kModulatorPort
Input port roles.
Definition forge_synthesis_catalog.hpp:240
constexpr state::ParamID kNoiseMix
Definition forge_synthesis_catalog.hpp:250
signal::Vocoder Voc
Definition forge_synthesis_catalog.hpp:260
constexpr state::ParamID kCarrierPitchHz
Definition forge_synthesis_catalog.hpp:249
constexpr state::ParamID kOutputTrimDb
Definition forge_synthesis_catalog.hpp:257
constexpr state::ParamID kCarrierSource
Definition forge_synthesis_catalog.hpp:246
constexpr state::ParamID kReleaseMs
Definition forge_synthesis_catalog.hpp:252
CustomNodeType make_vocoder_node()
Two inputs, one output.
constexpr state::ParamID kInternalWave
Definition forge_synthesis_catalog.hpp:247
constexpr state::ParamID kFormantFreeze
Definition forge_synthesis_catalog.hpp:256
constexpr const char * kTypeId
Definition forge_synthesis_catalog.hpp:235
constexpr state::ParamID kUnvoicedSens
Definition forge_synthesis_catalog.hpp:253
ForgeNodeDescriptor descriptor()
constexpr state::ParamID kAttackMs
Definition forge_synthesis_catalog.hpp:251
constexpr state::ParamID kFormantShiftSt
Definition forge_synthesis_catalog.hpp:255
constexpr state::ParamID kSibilanceMix
Definition forge_synthesis_catalog.hpp:254
float vocoder_worst_case_gain(double sample_rate=48000.0)
Worst-case linear gain for the Forge registry (series law 8).
float vocoder_all_sample_rates_worst_case_gain()
Sample-rate-independent ceiling for registries whose metadata cannot vary with the host rate.
Definition forge_synthesis_catalog.hpp:144
CyclicStretchT< float > CyclicStretch
Definition cyclic_stretch.hpp:853
VocoderT< float > Vocoder
Definition vocoder.hpp:839
GranularEngineT< float > GranularEngine
Definition granular.hpp:933
AdditiveBankT< float > AdditiveBank
Definition additive_bank.hpp:1050
uint32_t ParamID
Unique parameter identifier, stable across plugin versions.
Definition parameter.hpp:55
Definition custom_node_type.hpp:90
Definition forge_param_descriptor.hpp:127
Definition forge_synthesis_catalog.hpp:205
signal::AdditiveBank bank
Definition forge_synthesis_catalog.hpp:206
bool gate_high
Latched gate state, so retrigger() fires on the EDGE rather than for every sample the gate is high — ...
Definition forge_synthesis_catalog.hpp:210
Definition forge_synthesis_catalog.hpp:338
Engine engine
Definition forge_synthesis_catalog.hpp:339
Definition forge_synthesis_catalog.hpp:360
Engine engine
Definition forge_synthesis_catalog.hpp:361
Definition forge_synthesis_catalog.hpp:262
float release_ms
Definition forge_synthesis_catalog.hpp:271
signal::Vocoder vocoder
Definition forge_synthesis_catalog.hpp:263
float freq_lo
Definition forge_synthesis_catalog.hpp:268
float freq_hi
Definition forge_synthesis_catalog.hpp:269
float band_count
Last-applied values of the four expensive setters.
Definition forge_synthesis_catalog.hpp:267
float attack_ms
Definition forge_synthesis_catalog.hpp:270
The classic channel vocoder — Dudley's analysis-synthesis speech remaker.