kira icon indicating copy to clipboard operation
kira copied to clipboard

Phase vocoder (for changing pitch without changing speed)

Open jpedrick opened this issue 1 year ago • 11 comments

I'd like to be able to:

  1. Change the pitch of a sample without speeding it up or slowing it down. It seems the tool for this is a phase vocoder, which involves taking a short window fft, shifting the frequencies and then inverse fft. From the existing filters it's not clear to me how to do this. For my use case, I don't mind preprocessing an audio resource(doesn't have to be realtime) to get the desired pitch change.
  2. Compress or extend a sample without changing the frequency.

There's at least one Rust library that can do this: https://github.com/ajyoon/rocoder, though it claims it may not be quite correct.

Mostly, I'm hoping to open a discussion about how frequency domain filters could be best implemented in Kira.

jpedrick avatar Apr 30 '24 22:04 jpedrick