kira
kira copied to clipboard
Phase vocoder (for changing pitch without changing speed)
I'd like to be able to:
- 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. - 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.