Patches with FFT Operations

Hi All,

I’m interested in doing vocoding via the frequency domain. (If you’re interested, my goal is to implement in real time (on the Owl) my Python algorithms for descrambling helium speech. An example of my work is here: Happy Christmas - Helium Descrambling Trial - YouTube)

Because this processing is easiest in the frequency domain, I’m interested in using FFT/IFFT operations on the Owl. In order to hope to do this in real time, I know that I should use the ARM-specific DSP library calls for the FFT/IFFT operations. Are there any Owl patches that successfully operate in the frequency domain so that I have an example to follow?

Searching for FFT on this forum didn’t yield any useful guidance. Then, I did a search for “FFT” on the pingdynasty/OwlPatches GitHub repository, which yielded a patch called “AutotalentPatch”. While the code is available, the patch is not a patch available on he main Owl website. So, does this patch work? Is it a good example to model my own FFT/IFFT processing?

Any guidance on FFT/IFFT on Owl would be greatly appreciated.

Chip

Hello!

I think the Autotalent patch was never completed, not sure what the state of it is.

The good news is that we have an FFT library class which takes a lot of sweat out of working in the frequency domain. It uses the ARM-optimised CMSIS DSP library and is really efficient.

http://www.hoxtonowl.com/docs/classFastFourierTransform.html

The best way to use it is to ensure that your blocksize is the same as your FFT window size. You can’t set the blocksize from the Patch, but with OwlControl you can set it to any power of two up to 1024.

Keep us posted with your progress!