Skip to content

Adopt a higher quality resampler #647

Open
@PetrGlad

Description

@PetrGlad

Currently implemented sample rate converter uses simple linear interpolation algorithm and is prone to producing high frequency noise in output. See for example #584 and #316 related to the resampler implementation. However the algorithm is fast and requires little resources, so we should keep it at least as an option.

We should integrate an existing sample rate converter and let users to pick a resampler implementation depending on their needs. A simple optional low-pass filter may be also implemented as post-processing step for existing Rodio's SampleRateConverter to improve its audio quality.

It seems that there are 2 implementations that we can use:

  1. Rubato
  2. rust-samplerate which uses C bindings to libsamplerate
  3. Maybe dasp-interpolate

Note that all of these libraries process only floating point samples.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions