The ResampleStream class of the Arduino Audio Tools project provides some flexible resampling functionality both on the input and the output side. To calculate the values it just uses a simple but efficient linear interpolation.
I finally managed to provide an extended ResampleStreamT resampling class that uses some alternative interpolation method implementations:
Here is an overview with the advantages and disadvantages:| Method | Quality | CPU Cost | Artifacts | Interpolates Sample Points |
|---|---|---|---|---|
| Linear | Low | Very Low | High | Yes |
| B-Spline (Cubic) | Moderate | Medium | Low | No |
| Lagrange (Order 3) | High (order-dependent) | High | Moderate (oscillation) | Yes |
| Cubic Hermite | High | Medium | Low | Yes |
| Parabolic (Quadratic) | Moderate | Low | Moderate | Yes |
Further information can be found in the Resampling Wiki!
0 Comments