MayaFlux 0.4.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 178 of file ModalNetwork.cpp.

179{
181 m_exciter_active = false;
182 return 0.0;
183 }
184
185 const size_t idx = m_exciter_node_buffer_pos < m_exciter_node_buffer.size()
187 : 0;
189 double sample = 0.0;
190
191 switch (m_exciter_type) {
193 sample = 1.0;
194 break;
195
197 sample = m_random_generator(-1.0, 1.0);
198 break;
199
201 double noise = m_random_generator(-1.0, 1.0);
202 sample = m_exciter_filter
203 ? m_exciter_filter->process_sample(noise)
204 : noise;
205 break;
206 }
207
211 break;
212
214 if (m_exciter_node)
215 sample = m_exciter_node_buffer[idx];
216 break;
217 }
218
219 return sample;
220}
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: