Mike McConney
Member
I'm not exactly sure at the moment how this would be done, are you looking to slow down the tempo of a piece of music while keeping the same pitch like the Amazing Slow Downer? In the future, probably best to start another thread for this.
Duff,
I appreciate the quick response. I am really interested in real time stretching of voice as opposed to music (but very similar), such changing the rate an audio book on app plays it does not change the pitch only the play back speed, but I am interested in achieving this in real-time. Probably like the amazing slow downer (not sure if that program uses time-domain or frequency domain processing) but again I want it work in real time and I am not interested in huge stretching. With extreme stretching over a long time, there is an additional issue of the data in fourier space building up, so only so much real-time stretching is reasonable. Speeding up the timing in real-time causes it own set of issues. In the past I did this with a Rpi running Csound and was able to achieve minutes of audio stretched by 10's of percent. In this case I really just want to get a second (maybe a few words) of audio stretched at a time and so I thought the teensy 4.0 may suffice.
This is usually achieved by taking the FFT and then before the IFFT is performed the framing can be shifted with time. There are many papers that present different ways to achieve this that are similar, such as the following paper.
https://pdfs.semanticscholar.org/0e4c/1fae5056859a18211510a6d579989d29951e.pdf
In terms of the appropriateness of this subject in this thread, I must say I am scratching my head as to why you feel this way. I am interested in real-time vocal processing via a phase vocoder, which are vocoders that enable frequency domain processing of both playback speed and pitch independently and so I feel like it fits perfectly. If you disagree though, I can start a new thread. Anyhow, I appreciate all the work you did, I think you did a lot of the heavy lifting and so hopefully I can figure it out in the next few weeks between kids/work to finish up the time part of the phase vocoder. Thanks again.