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

Thoughts on use of a Sliding Window DFT implementation #82

Open
scblakely opened this issue Mar 28, 2023 · 0 comments
Open

Thoughts on use of a Sliding Window DFT implementation #82

scblakely opened this issue Mar 28, 2023 · 0 comments

Comments

@scblakely
Copy link

I have implemented rubberband (v3) as a Max/MSP external, and I think it works really well. As with any realtime use of the phase vocoder, latency is an issue.

I recently discovered the Sliding Window DFT, which generates the DFT sample by sample (basically, a hop size of 1).
This has the advantage of distributing the CPU needed to generate the DFT and iDFT over more time as samples arrive, rather than running the full FFT when sufficient samples have accumulated. The Sliding Window DFT can also reduce startup latency (papers I have read suggest useful DFT output is available after about 1/3 of the DFT size has been sampled).

Running the phase vocoder to shift the pitch at every sample would probably be excessive without parallel processing (although it might obviate the need for some of the phase coherence calculations), but it should be possible to generate output from the iDFT at shorter intervals, depending on CPU.

I guess my question is whether this would be a reasonable direction to investigate?

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant