I observed that the data from vectral~ output is frequently connected to the fft~ real and imagery ouput as if it is used to scale the amplitude. But I am still confused about how vectral~ works. Since FFT deals with frequency domain, I feel confused about this bin-based envelop follower which seems to be something dealing with time-domain stuff. What exactly is the output of vectral~ ? The overall amplitude data for each consecutive FFT frame in time domain, the amplitude data for each frequency bin in a FFT frame, or something else ?
Normally if you used something like rampsmooth in pfft, rampsmooth would interpolate between the values of successive bin indexes.
i.e. the interpolation all happens within one frame.
With vectral, the interpolation occurs ACROSS separate frames. So for example if you were running a pfft with a FFT size of 8, you get 8 samples per frame. Each of these samples represents one eigth of the frequency spectrum, and are indexed from 0 to 7.
You dont want to be interpolating from index 1 to index 2 to index 3 etc.
You want to interpolate between index 1 of the first frame and index 1 of the second frame.
When vectral is wired to receive the index values from an fftin object, vectral knows which frequency band is which. This way, when it receives a value from index 1, it holds that value and waits until the next index 1 comes around and then performs its calculations.
Thank you very much. I understand it a little better now.
Tht patch posted above is also very interesting.
But the patch posted above uses vectral~ differently from what I saw in the following patch. The following patch is part of someone's piece which I am studying. When I take part of it out of the original patch to test it, it does not output any sound from pfft subpatch.
Could any one see what's wrong with it ?
I am thinking that the programmer uses "bin shift" (mentioned in MSP reference) to transform the sound. (I have no idea what bin shift is, but I know it does transform the sound.) But I don't know if the lookup table connected to the rightmost output works or not. Perhaps the lookup table is used to scale the FFT output. However, the patch does not output any sound from FFT. Any idea ?