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

◆ WaveguideNetwork()

MayaFlux::Nodes::Network::WaveguideNetwork::WaveguideNetwork ( WaveguideType  type,
double  fundamental_freq,
double  sample_rate = 48000.0 
)

Create waveguide network with specified type and frequency.

Parameters
typePhysical structure to model
fundamental_freqSounding fundamental in Hz. A TUBE is a closed-open bore, so each rail is a quarter of the period long
sample_rateSample rate in Hz

Definition at line 66 of file WaveguideNetwork.cpp.

70 : m_type(type)
71 , m_fundamental(fundamental_freq)
72{
73 m_sample_rate = static_cast<uint32_t>(sample_rate);
76
78
79 const auto prop_mode = (m_type == WaveguideType::TUBE)
81 : WaveguideSegment::PropagationMode::UNIDIRECTIONAL;
82
83 m_segments.emplace_back(m_delay_length_integer + 2, prop_mode);
85 m_segments[0].reflection_open = -1.0;
86 }
87
89}
vk::PhysicalDeviceType type
Definition VKDevice.cpp:126
virtual void set_topology(Topology topology)
Set the network's topology.
void set_output_mode(OutputMode mode)
Set the network's output routing mode.
@ TUBE
Cylindrical bore (future: clarinet, flute)
std::vector< WaveguideSegment > m_segments
@ RING
Circular: last node connects to first.
@ AUDIO_SINK
Aggregated audio samples sent to output.

References MayaFlux::Nodes::Network::AUDIO_SINK, MayaFlux::Nodes::Network::WaveguideNetwork::WaveguideSegment::BIDIRECTIONAL, compute_delay_length(), create_default_loop_filter(), m_delay_length_integer, MayaFlux::Nodes::Network::NodeNetwork::m_sample_rate, m_segments, m_type, MayaFlux::Nodes::Network::RING, MayaFlux::Nodes::Network::NodeNetwork::set_output_mode(), MayaFlux::Nodes::Network::NodeNetwork::set_topology(), TUBE, and MayaFlux::Nodes::Network::WaveguideNetwork::WaveguideSegment::UNIDIRECTIONAL.

+ Here is the call graph for this function: