title: How to implement an Equalizer
body: <p>I know there are a lot of questions about equalizers in so, but I didn't get what I was looking. What I want to do is an equalizer for modifying audio samples in such a way like:</p>
  
  <pre><code>equalizer.eqAudio(audiosamples, band, gain)
  </code></pre>
  
  <p>I'm not sure if that is the exact interface that I want because I know little about DSP in terms of implementing them (I used filters, limiters, compressors but not made them). </p>
  
  <p>So Googling about this I read that I must do a FFT to the samples so I get the data per frequency ranges instead of amplitude, process it the way I want and then make the inverse of the FFT so I get the result in audio samples again. I looked for an implementation of this FFT and found JTransform for Java. This library has an implementation of a FFT related algorithm called Discrete Cosine Transform (DCT). </p>
  
  <p>My questions are :</p>
  
  <ul>
  <li>Well, Am I in the right way?</li>
  <li>Since FFT gives me data about frequency, I should pass to the FFT algorithm a chunk of samples. How big this chunk must be?</li>
  <li>Is there a good book about DSP programming that explains equalizers ?</li>
  </ul>
  
  <p>Thanks!</p>