MayaFlux 1.0.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 200 of file ModalNetwork.cpp.

201{
203 m_exciter_active = false;
204 return 0.0;
205 }
206
207 const size_t idx = m_exciter_node_buffer_pos < m_exciter_node_buffer.size()
209 : 0;
211 double sample = 0.0;
212
213 switch (m_exciter_type) {
215 sample = 1.0;
216 break;
217
219 sample = m_random_generator(-1.0, 1.0);
220 break;
221
223 double noise = m_random_generator(-1.0, 1.0);
224 sample = m_exciter_filter
225 ? m_exciter_filter->process_sample(noise)
226 : noise;
227 break;
228 }
229
233 break;
234
236 if (m_exciter_node)
237 sample = m_exciter_node_buffer[idx];
238 break;
239 }
240
241 return sample;
242}
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
std::vector< double > m_exciter_node_buffer

References CONTINUOUS, FILTERED_NOISE, IMPULSE, m_exciter_active, m_exciter_filter, m_exciter_node, m_exciter_node_buffer, m_exciter_node_buffer_pos, 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: