Forums > MaxMSP

fft limitations in msp: what!!??

July 8, 2008 | 1:04 pm

Hello,

I’ve been trying to workout a way to make a spectral warper (as in
GRM tools) in max. I came across this thread today and it seems that
a pure msp-based patch that manipulates frequency content of
individual fft bins is not possible.

http://www.synthesisters.com/hypermail/max-msp/Dec06/56003.html

Is csound~, FTM or some other externals the only way here? Is fft
still so limited in max 5 (I am just in the process of purchasing max
5), or is there some magical way to transform magnitude/phase fft
data to amplitude/frequency in max?

I know that for instance Bidule and Csound work on this basis, where
the user has access to amplitude and frequency of fft signals. It is
particularly good in csound where you can put the data in tables and
then easily manipulate each frequency index separately before it is
automatically converted to the correct format for ifft resynthesis.

Any pointers are more than welcome. I have been postponing learning
fft processing with pure msp for quite some time and now I’m very
surprised at how limited it seems. Please give me hope!!!

Many Thanks
Peiman


July 8, 2008 | 1:12 pm

On 8 juil. 08, at 15:05, peiman khosravi wrote:

> Any pointers are more than welcome. I have been postponing learning
> fft processing with pure msp for quite some time and now I’m very
> surprised at how limited it seems. Please give me hope!!!

with [cartopol~] you get the energy and amplitude for each frequency
bin. What else do you need?

ej


July 8, 2008 | 1:37 pm

On Jul 8, 2008, at 9:05 AM, peiman khosravi wrote:

> Is csound~, FTM or some other externals the only way here? Is fft
> still so limited in max 5 (I am just in the process of purchasing
> max 5), or is there some magical way to transform magnitude/phase
> fft data to amplitude/frequency in max

John Gibson has written a set of interesting spectral manipulators
for RTcmix, they work well in rtcmix~:

CONVOLVE1 — FFT convolution
PVOC — phase vocoder
SPECTACLE — FFT-based delay
SPECTACLE2 — FFT-based delay (more real-time control)
SPECTEQ — FFT-based EQ
SPECTEQ2 — FFT-based EQ (more real-time control)
TVSPECTACLE — FFT-based delay with time-varying properties
VOCODE — phase vocoder
VOCODE2 — phase vocoder
VOCODESYNTH — phase vocoder w/ oscillator-bank resynthesis

brad

http://music.columbia.edu/~brad


July 8, 2008 | 1:38 pm

Thanks for your reply. I am looking for a way to manipulate the
frequency data of each bin (e.g. scale) individually using a table.
So like the fft filter that comes with the max examples but instead
of messing with the amplitude I want to play around with the
frequency data. I understand (that’s not to say I know how to do it
yet!) that one could mess around with bin indexes but that’s not the
same as being able to manipulate frequency data (not as intuitive).
Also this only allows integer bin-shifts. I need a table-driven
gizmo~-like operation that operates on each individual bin.

So in short I’m looking to have access to amplitude and frequency as
opposed to energy and amplitude or phase and magnitude. This would be
much more intuitive to work with. Apologies if I’m sounding like a
newbie! Please feel free to enlighten me, I’m very new to fft
operations in msp.

Thanks very much
Peiman

On 8 Jul 2008, at 14:12, Emmanuel Jourdan wrote:

> On 8 juil. 08, at 15:05, peiman khosravi wrote:
>
>> Any pointers are more than welcome. I have been postponing
>> learning fft processing with pure msp for quite some time and now
>> I’m very surprised at how limited it seems. Please give me hope!!!
>
> with [cartopol~] you get the energy and amplitude for each
> frequency bin. What else do you need?
>
> ej
>


July 8, 2008 | 1:48 pm

Thanks,

Sounds great. I’ll have a go today :-)

Best
Peiman

On 8 Jul 2008, at 14:37, Brad Garton wrote:

> On Jul 8, 2008, at 9:05 AM, peiman khosravi wrote:
>
>> Is csound~, FTM or some other externals the only way here? Is fft
>> still so limited in max 5 (I am just in the process of purchasing
>> max 5), or is there some magical way to transform magnitude/phase
>> fft data to amplitude/frequency in max
>
> John Gibson has written a set of interesting spectral manipulators
> for RTcmix, they work well in rtcmix~:
>
> CONVOLVE1 — FFT convolution
> PVOC — phase vocoder
> SPECTACLE — FFT-based delay
> SPECTACLE2 — FFT-based delay (more real-time control)
> SPECTEQ — FFT-based EQ
> SPECTEQ2 — FFT-based EQ (more real-time control)
> TVSPECTACLE — FFT-based delay with time-varying properties
> VOCODE — phase vocoder
> VOCODE2 — phase vocoder
> VOCODESYNTH — phase vocoder w/ oscillator-bank resynthesis
>
> brad
> http://music.columbia.edu/~brad
>


July 8, 2008 | 4:17 pm

Hey Brad, is there any word on when RTcmix will be real-time?


July 9, 2008 | 11:16 am

> Thanks for your reply. I am looking for a way to manipulate the
> frequency data of each bin (e.g. scale) individually using a table.

I find a jitter matrix very convenient to manipulate amplitude/phase
difference information. I would encourage to you use a jitter matrix instead
of a table.
I posted several examples on my share page. They are based on the
amplitude/phase difference information. Example 4-explore-the-sonogram shows
conversion to frequency information.

http://www.cycling74.com/twiki/bin/view/Share/Jean-francoisCharles

J-F.


July 9, 2008 | 12:03 pm


Viewing 8 posts - 1 through 8 (of 8 total)