Clicks with large FFT size


    Apr 22 2017 | 9:55 pm
    Hi,
    I am trying to do a patch that changes the phase equally of each frequancy and so far it seems to work, but when I try to use larger FFT sizes I get periodic clicks or amplitude modulation. Do anyone have an idea of why that is? My CPU load is below 8% so I am not sure why this is happening.

    • Apr 23 2017 | 12:16 am
      in the audio status window try altering your output vector to a larger size
    • Apr 23 2017 | 1:16 pm
      I have my vector size on 128, I do not think it can be higher.
    • Apr 23 2017 | 1:24 pm
      I changed my soundcard buffer settings and turned up my vector size and now the problem is gone! Thanks a lot! Is there a way of calculating what buffer size is needed for a given FFT size? This would be very good to know when trying to use FFT for realtime processing and effects. What exactly is it that I/O Vector Size and Signal Vector Size does and how do they relate to my soundcard settings?
    • Apr 23 2017 | 10:10 pm
      Is there a way of calculating what buffer size is needed for a given FFT size?
      no, I don't think they are related, except very indirectly
      What exactly is it that I/O Vector Size and Signal Vector Size does and how do they relate to my soundcard settings?
      I-O vector is the audio buffer in your sound card/interface, as far as I understand, and it has to be at least as large as your signal vector size. sig vector is internal to max-msp, and the larger it is the more efficient audio calculations can be (less cpu load), at the expense of latency. It doesn't seem to have any direct relation to fft size if you are doing fft (although I've never tested that), except generally in terms of cpu load, but it does determine minimum delay for tapin /tapout objects.
      my rule of thumb is have signal vector size as small as possible without using more than say half cpu, and I-O as small as possible without clicks, or twice the size of I-O size, whichever is the larger,
      but it all really depends on application and context. anything less than 128 is a bonus and usually not necessary
      you can review and change settings using the dspstate object