pub struct VoiceFilter {
pub mode: FilterMode,
pub cutoff_hz: u32,
pub resonance: u16,
pub keytrack: u16,
pub envelope: Envelope,
pub envelope_cents: i16,
}Expand description
A per-note trapezoidal state-variable filter. Output is not limited: resonance can exceed full scale. Applied before the amplitude envelope, so tails are bounded.
Fields§
§mode: FilterMode§cutoff_hz: u32Base cutoff, 1..=96000 Hz. Modulated cutoff clamps to 1..=0.45*sample_rate Hz.
resonance: u16Q multiplied by 100, 50..=1000 (Q 0.5..=10).
keytrack: u16Cutoff tracking relative to C4: 0..=200 percent; 100 follows note pitch.
envelope: EnvelopeIndependent cutoff ADSR (same units/bounds as the amplitude envelope).
envelope_cents: i16Peak envelope offset, -9600..=9600 cents.
Trait Implementations§
Source§impl Clone for VoiceFilter
impl Clone for VoiceFilter
Source§fn clone(&self) -> VoiceFilter
fn clone(&self) -> VoiceFilter
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for VoiceFilter
Source§impl Debug for VoiceFilter
impl Debug for VoiceFilter
Source§impl Default for VoiceFilter
impl Default for VoiceFilter
impl Eq for VoiceFilter
Source§impl Hash for VoiceFilter
impl Hash for VoiceFilter
Source§impl PartialEq for VoiceFilter
impl PartialEq for VoiceFilter
impl StructuralPartialEq for VoiceFilter
Auto Trait Implementations§
impl Freeze for VoiceFilter
impl RefUnwindSafe for VoiceFilter
impl Send for VoiceFilter
impl Sync for VoiceFilter
impl Unpin for VoiceFilter
impl UnsafeUnpin for VoiceFilter
impl UnwindSafe for VoiceFilter
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