Details of the audio analyzer

This is about the analyzer thing both in the projucer (I came here through chataigne) as well as in the tutorials: my intention is to alter the x-scale to be logarithmic (as it is the case on all software and equipment). I have the formulas laid out and am now trying to implement this, and of course I have some little questions.

  • can someone explain the input and output formats, i.e. with the ‘standard’ settings fftOrder = 11, fftSize = 1 << fftOrder, is it possible to determine which index belongs to which frequency?
  • where are min and max frequency determined?
  • essentially I need to skew the line skewedProportionX = 1.0f - std::exp (std::log (1.0f - (float) i / (float) scopeSize) * 0.2f); I guess, and i am struggling whether I should do the skewing before the signal is sent to the dsp, or after this when it’s being displayed…

If someone chimes in: THANKS in advance.


binFrequency = binIndex * (sampleRate / fftSize);

Ah, thanks. So the full fftSize refers to the sampleRate (which would explain that only the lower half of the reply would have sensible results, see Shannon)?