MayaFlux 0.3.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ generate_exciter_sample()

double MayaFlux::Nodes::Network::ModalNetwork::generate_exciter_sample ( )
private

Generate exciter signal for current sample.

Definition at line 166 of file ModalNetwork.cpp.

167{
169 m_exciter_active = false;
170 return 0.0;
171 }
172
174 double sample = 0.0;
175
176 switch (m_exciter_type) {
178 sample = 1.0;
179 break;
180
182 sample = m_random_generator(-1.0, 1.0);
183 break;
184
186 double noise = m_random_generator(-1.0, 1.0);
187 if (m_exciter_filter) {
188 sample = m_exciter_filter->process_sample(noise);
189 } else {
190 sample = noise;
191 }
192 break;
193 }
194
198 }
199 break;
200
202 if (m_exciter_node) {
203 sample = m_exciter_node->process_sample(0.0);
204 }
205 break;
206 }
207
208 return sample;
209}
std::shared_ptr< Filters::Filter > m_exciter_filter
@ IMPULSE
Single-sample Dirac impulse (default)
@ FILTERED_NOISE
Spectrally-shaped noise burst.
@ CONTINUOUS
External node as continuous exciter.
@ SAMPLE
User-provided excitation waveform.
Kinesis::Stochastic::Stochastic m_random_generator

References CONTINUOUS, FILTERED_NOISE, IMPULSE, m_exciter_active, m_exciter_filter, m_exciter_node, m_exciter_sample, m_exciter_sample_position, m_exciter_samples_remaining, m_exciter_type, m_random_generator, NOISE_BURST, and SAMPLE.

Referenced by process_batch().

+ Here is the caller graph for this function: