Enum Interpolation
pub enum Interpolation {
Linear,
Allpass,
Cubic,
}Expand description
Interpolation mode for delay line read pointer.
Different delay types require different interpolation characteristics:
- Linear: simple, low CPU, slight HF loss — suitable for digital delays
- Allpass: sub-sample accuracy without HF loss — best for tape/analog feel
- Cubic: smooth with low aliasing — good general purpose
Variants§
Linear
Linear interpolation: y = y0*(1-f) + y1*f
Simple and cheap. Causes slight HF roll-off at short delays.
Allpass
First-order allpass interpolation for sub-sample accuracy. Preserves magnitude response while providing smooth fractional delay. Best for modulated delays (tape echo, chorus) — no zipper noise.
Cubic
Cubic Hermite interpolation: 4-point, smooth transitions. Good frequency response, moderate CPU cost.
Trait Implementations§
§impl Clone for Interpolation
impl Clone for Interpolation
§fn clone(&self) -> Interpolation
fn clone(&self) -> Interpolation
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 Interpolation
§impl Debug for Interpolation
impl Debug for Interpolation
impl Eq for Interpolation
§impl PartialEq for Interpolation
impl PartialEq for Interpolation
impl StructuralPartialEq for Interpolation
Auto Trait Implementations§
impl Freeze for Interpolation
impl RefUnwindSafe for Interpolation
impl Send for Interpolation
impl Sync for Interpolation
impl Unpin for Interpolation
impl UnsafeUnpin for Interpolation
impl UnwindSafe for Interpolation
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.