← Back

Module resampling

fn upsample(signal: &Signal, factor: usize) -> Signal

Source: resampling.joule:13

fn downsample(signal: &Signal, factor: usize) -> Signal

Source: resampling.joule:29

fn interpolate(signal: &Signal, factor: usize) -> Signal

Source: resampling.joule:41

fn decimate(signal: &Signal, factor: usize) -> Signal

Source: resampling.joule:65

fn resample(signal: &Signal, up_factor: usize, down_factor: usize) -> Signal

Source: resampling.joule:91

fn resample_to_rate(signal: &Signal, target_rate: f64) -> Signal

Source: resampling.joule:105

fn resample_linear(signal: &Signal, new_length: usize) -> Signal

Source: resampling.joule:127

fn resample_cubic(signal: &Signal, new_length: usize) -> Signal

Source: resampling.joule:155

fn resample_sinc(signal: &Signal, new_length: usize, kernel_size: usize) -> Signal

Source: resampling.joule:188

struct PolyphaseFilter

Source: resampling.joule:232

fn new(prototype: &[f64], num_phases: usize) -> Self

Source: resampling.joule:242

fn design(up_factor: usize, down_factor: usize, filter_len: usize) -> Self

Source: resampling.joule:259

fn interpolate(&self, signal: &Signal) -> Signal

Source: resampling.joule:274

fn time_stretch(signal: &Signal, stretch_factor: f64, frame_size: usize) -> Signal

Source: resampling.joule:301

fn pitch_shift(signal: &Signal, semitones: f64, frame_size: usize) -> Signal

Source: resampling.joule:367

fn sinc(x: f64) -> f64

Source: resampling.joule:382

fn lanczos_window(x: f64, a: f64) -> f64

Source: resampling.joule:390

fn rational_approximation(x: f64, max_denom: usize) -> (usize, usize)

Source: resampling.joule:398

fn gcd(a: usize, b: usize) -> usize

Source: resampling.joule:420

fn find_best_overlap(output: &[f64], out_pos: usize, frame: &[f64], search_range: usize) -> i32

Source: resampling.joule:424

fn test_upsample()

Source: resampling.joule:472

fn test_downsample()

Source: resampling.joule:484

fn test_resample_linear()

Source: resampling.joule:495

fn test_rational_approximation()

Source: resampling.joule:506