pub struct InterpolationParameters {
    pub sinc_len: usize,
    pub f_cutoff: f32,
    pub oversampling_factor: usize,
    pub interpolation: InterpolationType,
    pub window: WindowFunction,
}
Expand description

A struct holding the parameters for interpolation.

Fields

sinc_len: usize

Length of the windowed sinc interpolation filter. Higher values can allow a higher cut-off frequency leading to less high frequency roll-off at the expense of higher cpu usage. 256 is a good starting point. The value will be rounded up to the nearest multiple of 8.

f_cutoff: f32

Relative cutoff frequency of the sinc interpolation filter (relative to the lowest one of fs_in/2 or fs_out/2). Start at 0.95, and increase if needed.

oversampling_factor: usize

The number of intermediate points to use for interpolation. Higher values use more memory for storing the sinc filters. Only the points actually needed are calculated during processing so a larger number does not directly lead to higher cpu usage. But keeping it down helps in keeping the sincs in the cpu cache. Start at 128.

interpolation: InterpolationType

Interpolation type, see InterpolationType

window: WindowFunction

Window function to use.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.