Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::UnisonSpec Struct Reference

Control-side configuration for a fixed unison layout. More...

#include <unison.hpp>

Public Attributes

std::size_t voice_count = 1
double detune_cents = 0.0
double stereo_spread = 0.0
double phase_randomization = 0.0
double drift_cents = 0.0
std::uint64_t drift_period_frames = 2048
UnisonGainLaw gain_law = UnisonGainLaw::PeakSafe

Detailed Description

Control-side configuration for a fixed unison layout.

Detune and drift are non-negative cents. Stereo spread and phase randomization are normalized magnitudes in [0, 1]. A nonzero drift amount requires a nonzero period in absolute audio frames. configure() rejects invalid or non-finite input without changing the active layout.

Member Data Documentation

◆ detune_cents

double pulp::signal::UnisonSpec::detune_cents = 0.0

◆ drift_cents

double pulp::signal::UnisonSpec::drift_cents = 0.0

◆ drift_period_frames

std::uint64_t pulp::signal::UnisonSpec::drift_period_frames = 2048

◆ gain_law

UnisonGainLaw pulp::signal::UnisonSpec::gain_law = UnisonGainLaw::PeakSafe

◆ phase_randomization

double pulp::signal::UnisonSpec::phase_randomization = 0.0

◆ stereo_spread

double pulp::signal::UnisonSpec::stereo_spread = 0.0

◆ voice_count

std::size_t pulp::signal::UnisonSpec::voice_count = 1

The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/signal/include/pulp/signal/unison.hpp