Search code examples
user-interfacefftsupercollider

SuperCollider FreqScope: change the frequency resolution


For some reason setting a non-default value for the width argument of FreqScope only makes the window bigger, the width of the displayed frequencies remaining unchanged. Could someone help me out? I'm using SC 3.5.3 on Windows 7. Thanks in advance!

PS. Just updated to 3.6.1, the problem remains unsolved. Might be some issue with buffer size but since FreqScope.new allocates a buffer automatically I don't know how to change that...if that even is the problem.

(PPS this question is asked on behalf of someone else)


Solution

  • Yes, the constructor args are just about how to size the actual window, they're not about the frequency analysis. The FFT analysis is pretty much hardcoded as 2048 bins.

    If you look at the source code of PlusFreqScope there's a method called initFreqScope where it sets bufSize = 2048. You may be able to edit that and recompile, but you probably can't change it on the fly because the number is used in a lot of the class's "preparation" such as creating synths etc.