3 #ifndef SPECTMORPH_LIVEDECODER_HH 4 #define SPECTMORPH_LIVEDECODER_HH 7 #include "smsinedecoder.hh" 8 #include "smnoisedecoder.hh" 9 #include "smlivedecodersource.hh" 10 #include "smpolyphaseinter.hh" 11 #include "smalignedarray.hh" 23 std::vector<PartialState> pstate[2], *last_pstate;
25 struct PortamentoState {
26 std::vector<float> buffer;
43 bool debug_fft_perf_enabled;
44 bool original_samples_enabled;
47 size_t frame_size, frame_step;
48 size_t zero_values_at_start_scaled;
49 size_t loop_start_scaled;
50 size_t loop_end_scaled;
53 float current_mix_freq;
60 double original_sample_pos;
61 double original_samples_norm_factor;
69 std::vector<float> unison_phases[2];
70 std::vector<float> unison_freq_factor;
72 Random unison_phase_random_gen;
77 float vibrato_frequency;
82 Audio::LoopType get_loop_type();
84 void process_internal (
size_t n_values,
86 float portamento_stretch);
88 void portamento_grow (
double end_pos,
float portamento_stretch);
89 void portamento_shrink();
91 void process_portamento (
size_t n_values,
94 void process_vibrato (
size_t n_values,
102 void enable_noise (
bool ne);
103 void enable_sines (
bool se);
104 void enable_debug_fft_perf (
bool dfp);
105 void enable_original_samples (
bool eos);
106 void enable_loop (
bool eloop);
107 void set_noise_seed (
int seed);
108 void set_unison_voices (
int voices,
float detune);
109 void set_vibrato (
bool enable_vibrato,
float depth,
float frequency,
float attack);
111 void precompute_tables (
float mix_freq);
112 void retrigger (
int channel,
float freq,
int midi_velocity,
float mix_freq);
113 void process (
size_t n_values,
114 const float *freq_in,
117 static size_t compute_loop_frame_index (
size_t index,
Audio *audio);
Definition: smpolyphaseinter.hh:12
Audio sample containing many blocks.
Definition: smaudio.hh:81
Definition: smwavset.hh:28
Definition: smlivedecodersource.hh:10
Definition: smrandom.hh:14
Definition: smifftsynth.hh:15
Definition: smalignedarray.cc:7
Definition: smlivedecoder.hh:16
Decoder for the noise component (stochastic component) of the signal.
Definition: smnoisedecoder.hh:16