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

Whole-input render options. More...

#include <offline_stretch.hpp>

Public Attributes

StretchCharacter character = StretchCharacter::clean
 Character mode (see StretchCharacter).
bool relocate_transients = false
 Graft verbatim transients onto the stretched output for punch (restores the attack peak the phase vocoder smears).
double time_ratio = 1.0
 output duration / input duration
double pitch_semitones = 0.0
 fractional allowed
OfflineFormantMode formant_mode = OfflineFormantMode::preserve_original
double formant_semitones = 0.0
 used only when formant_mode==shift_independently
bool repitch_linked = false
 true => pure resample (vinyl); pitch follows time_ratio, spectral path skipped
bool route_noise_stn = false
 route noise/residual through NoiseMorpher
StretchTransientMode transient_mode = StretchTransientMode::phase_reset
int quality = 2
 <=0 draft preview; >=1 full spectral render
double max_time_ratio = 4.0
 supported stretch span is [1/max, max]
double max_pitch_semitones = 24.0
int fft_size = 0
 0 = default (4096); else power-of-two ≥ 256
int analysis_hop = 0
 0 = default (512); must divide fft_size
float transient_sensitivity = 0.0f

Detailed Description

Whole-input render options.

Member Data Documentation

◆ analysis_hop

int pulp::signal::OfflineStretchOptions::analysis_hop = 0

0 = default (512); must divide fft_size

◆ character

StretchCharacter pulp::signal::OfflineStretchOptions::character = StretchCharacter::clean

Character mode (see StretchCharacter).

Default clean. varispeed ignores pitch_semitones (pitch is linked to time_ratio); the others honor it.

◆ fft_size

int pulp::signal::OfflineStretchOptions::fft_size = 0

0 = default (4096); else power-of-two ≥ 256

◆ formant_mode

OfflineFormantMode pulp::signal::OfflineStretchOptions::formant_mode = OfflineFormantMode::preserve_original

◆ formant_semitones

double pulp::signal::OfflineStretchOptions::formant_semitones = 0.0

used only when formant_mode==shift_independently

◆ max_pitch_semitones

double pulp::signal::OfflineStretchOptions::max_pitch_semitones = 24.0

◆ max_time_ratio

double pulp::signal::OfflineStretchOptions::max_time_ratio = 4.0

supported stretch span is [1/max, max]

◆ pitch_semitones

double pulp::signal::OfflineStretchOptions::pitch_semitones = 0.0

fractional allowed

◆ quality

int pulp::signal::OfflineStretchOptions::quality = 2

<=0 draft preview; >=1 full spectral render

◆ relocate_transients

bool pulp::signal::OfflineStretchOptions::relocate_transients = false

Graft verbatim transients onto the stretched output for punch (restores the attack peak the phase vocoder smears).

Active on the tempo-only spectral path (pitch==0, quality>=1); equivalent to transient_mode==verbatim_relocate.

◆ repitch_linked

bool pulp::signal::OfflineStretchOptions::repitch_linked = false

true => pure resample (vinyl); pitch follows time_ratio, spectral path skipped

◆ route_noise_stn

bool pulp::signal::OfflineStretchOptions::route_noise_stn = false

route noise/residual through NoiseMorpher

◆ time_ratio

double pulp::signal::OfflineStretchOptions::time_ratio = 1.0

output duration / input duration

◆ transient_mode

StretchTransientMode pulp::signal::OfflineStretchOptions::transient_mode = StretchTransientMode::phase_reset

◆ transient_sensitivity

float pulp::signal::OfflineStretchOptions::transient_sensitivity = 0.0f

The documentation for this struct was generated from the following file: