Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add faster and more accurate WindowedSinc interpolators. #375

Merged
merged 16 commits into from
Sep 13, 2024

Conversation

psobot
Copy link
Member

@psobot psobot commented Sep 11, 2024

Fixes #142.

Fixes the aliasing problem, while also speeding up resampling operations by between 2x and ~20x depending on the sample rates involved. Faster than the lovely resampy library in many cases, with similar quality, while still using constant memory.

These three graphs do the talking:

pedalboard_up_sampling_frequency_response_comparison_44100_32000
pedalboard_down_sampling_frequency_response_comparison_44100_32000
resample_speed_test

TODO:

  • Set the new default to WindowedSinc32
  • Update documentation with these graphs and recommendations
  • Clean up some of the new SIMD code (commented-out experiments)
  • Add graphing code from the above graphs

@psobot psobot added bug Something isn't working enhancement New feature or request labels Sep 11, 2024
@psobot psobot marked this pull request as ready for review September 12, 2024 18:46
@psobot psobot merged commit 3a323bf into master Sep 13, 2024
34 checks passed
@psobot psobot deleted the psobot/simd-resampling branch September 13, 2024 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

WindowedSinc resampling introduces distortion
1 participant