pub struct Vco { /* private fields */ }Expand description
Voltage-Controlled Oscillator (VCO)
A multi-waveform oscillator with V/Oct pitch input, FM, pulse width control, and hard sync. Outputs sine, triangle, saw, and square waveforms.
The saw and square outputs are bandlimited with PolyBLEP and the triangle with PolyBLAMP to suppress aliasing; the sine is inherently bandlimited.
§FM inputs
- Port 1
fm(exponential): a raw ±5V CvBipolar signal is treated as ±5 octaves (freq = base * 2^fm), i.e. full-scale ±5V spans ×32 / ÷32. Attenuate it for musical depths. - Port 4
fm_lin(linear, through-zero): adds to the frequency directly, scaled so ±5V is ±100% of the base frequency (freq += (fm_lin / 5) * base). This enables through-zero linear FM and its classic symmetric sidebands; the frequency may pass through and below zero, running the phase backwards.
Implementations§
Trait Implementations§
Source§impl GraphModule for Vco
impl GraphModule for Vco
Source§fn tick(&mut self, inputs: &PortValues, outputs: &mut PortValues)
fn tick(&mut self, inputs: &PortValues, outputs: &mut PortValues)
Process one sample given port values
Source§fn set_sample_rate(&mut self, sample_rate: f64)
fn set_sample_rate(&mut self, sample_rate: f64)
Set sample rate
Source§fn process_block(
&mut self,
inputs: &BlockPortValues,
outputs: &mut BlockPortValues,
frames: usize,
)
fn process_block( &mut self, inputs: &BlockPortValues, outputs: &mut BlockPortValues, frames: usize, )
Process a block of samples (optional optimization). Read more
Source§fn breaks_feedback_cycle(&self) -> bool
fn breaks_feedback_cycle(&self) -> bool
Whether this module breaks a feedback cycle in the patch graph. Read more
Source§fn serialize_state(&self) -> Option<Value>
fn serialize_state(&self) -> Option<Value>
Available on crate feature
alloc only.Serialize module state (alloc feature only)
Source§fn deserialize_state(&mut self, _state: &Value) -> Result<(), String>
fn deserialize_state(&mut self, _state: &Value) -> Result<(), String>
Available on crate feature
alloc only.Deserialize module state (alloc feature only)
Source§fn introspect(&self) -> Option<&dyn ModuleIntrospection>
fn introspect(&self) -> Option<&dyn ModuleIntrospection>
Available on crate feature
alloc only.Downcast this module to its
ModuleIntrospection view, if it exposes one. Read moreSource§fn introspect_mut(&mut self) -> Option<&mut dyn ModuleIntrospection>
fn introspect_mut(&mut self) -> Option<&mut dyn ModuleIntrospection>
Available on crate feature
alloc only.Mutable companion to
introspect, used to set internal parameters.Source§impl ModuleIntrospection for Vco
Available on crate feature alloc only.
impl ModuleIntrospection for Vco
Available on crate feature
alloc only.Auto Trait Implementations§
impl Freeze for Vco
impl RefUnwindSafe for Vco
impl Send for Vco
impl Sync for Vco
impl Unpin for Vco
impl UnsafeUnpin for Vco
impl UnwindSafe for Vco
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more