Hi there !
The only information about the framp~ object I found was in the help screen saying
framp~ - output a ramp for each block
Now I got curious for what this might be needed (I am thinking about how to implement zero padding)
.. after looking at the code this seems to rather be FRequencyAMPlitude .. which means a phase vocoder analysis ... right ?
Which in turn throws up the question how to do the vocoder synthesis e.g framp -> fft converter.
Would be nice for high quality fft filters.
Guenter
Guenter's right... I completely forgot I ever wrote that (I ended up finding a cleaner way to do phase vocoder proper but framp~ might still be very useful for something else...)
The input should be an UNWINDOWED fft; the outputs give the frequencies (in Hz.) and the linear amplitudes measured for each channel of the FFT.
To resynthesize, I think you multiply the frequency by the hop size in seconds to get phase change; then update teh phase of the output by rotating by the phase change (complex-multiply by exp(i * phasechange))... but I don't think I ever tested this idea out...
cheers Miller
On Wed, Jun 06, 2001 at 06:50:41PM +0200, guenter geiger wrote:
Hi there !
The only information about the framp~ object I found was in the help screen saying
framp~ - output a ramp for each block
Now I got curious for what this might be needed (I am thinking about how to implement zero padding)
.. after looking at the code this seems to rather be FRequencyAMPlitude .. which means a phase vocoder analysis ... right ?
Which in turn throws up the question how to do the vocoder synthesis e.g framp -> fft converter.
Would be nice for high quality fft filters.
Guenter
On Wed, 6 Jun 2001, Miller Puckette wrote:
To resynthesize, I think you multiply the frequency by the hop size in seconds to get phase change; then update teh phase of the output by rotating by the phase change (complex-multiply by exp(i * phasechange))... but I don't think I ever tested this idea out...
.. all coded in "C", right ? I couldn't find a way to do arbitrary changes to the phasevocoder which is in the example patches, because the frequency-amplitude representation is optimized away from the algorithm.
So I might give this one a try.
Then the next step would be to come up with a system that allows for arbitrary changes on this frequency-amplitude representation, which is, except for filtering, hard to implement without without externals.
Guenter
Hmm, I think you can do it all in a patch with no "c" code, although to do anything involving switching channels around you probably have to code in C.
Miller On Wed, Jun 06, 2001 at 08:58:02PM +0200, guenter geiger wrote:
On Wed, 6 Jun 2001, Miller Puckette wrote:
To resynthesize, I think you multiply the frequency by the hop size in seconds to get phase change; then update teh phase of the output by rotating by the phase change (complex-multiply by exp(i * phasechange))... but I don't think I ever tested this idea out...
.. all coded in "C", right ? I couldn't find a way to do arbitrary changes to the phasevocoder which is in the example patches, because the frequency-amplitude representation is optimized away from the algorithm.
So I might give this one a try.
Then the next step would be to come up with a system that allows for arbitrary changes on this frequency-amplitude representation, which is, except for filtering, hard to implement without without externals.
Guenter