jonashaag / audio-resampling-in-python

Comparison of Python audio resampling implementations
42 stars 8 forks source link

torchaudio resampling bug in notebook and updates #6

Open carolineechen opened 3 years ago

carolineechen commented 3 years ago

Hi @jonashaag, thanks for compiling and updating this notebook on resampling libraries! However, I noticed there was a small bug in the new torchaudio examples, and also wanted to update you on some new resampling capabilities from our latest release.

I noticed that there was a bug in the notebook with the torchaudio_new_resample arguments that led to it producing strange plots for both the upsample and downsample examples. Removing [None] and [0] from torchaudio_new_resample(torch.from_numpy(sig[None]), P, Q).numpy()[0] should resolve this issue, and both resampling methods in torchaudio should produce the same results.

In the latest torchaudio release (v0.9.0), we made several improvements to resampling. We improved the speed performance of transforms.Resample, deprecated kaldi.resample_waveform in favor of functional.resample, added kaiser window support, among others. If you're interested, you can track the updates here, and we have also created a tutorial demonstrating the properties of our improved resampling function.

What are your thoughts on the following?

Let me know if you would like to work on this, or if you'd like me to send in a PR, I'd be happy to do so as well!

cc @mthrok

jonashaag commented 3 years ago

Thanks for reporting this! I’m happy to merge the changes but I don’t have the bandwidth to work on it myself so a PR would be very welcome.

My suggestion would be to plot the new default settings and if you want one additional higher quality setting. The notebook is already very crowded so I’m against adding more even more examples.

Also I guess it makes sense to add a hint that older PyTorch versions will perform significantly worse.

If you have the bandwidth I’m also happy to merge any other changes to improve the code, eg. splitting the code into separate scripts that generate plots, making a proper benchmark script, GPU benchmarks, etc.

carolineechen commented 2 years ago

Hi @jonashaag, just wanted to follow up on this -- I have created a PR (https://github.com/jonashaag/audio-resampling-in-python/pull/7) to resolve this. Let me know if you have any comments!