QRange Features

lkjb QRange is an IIR linear phase EQ with the following features:

  • 12 bands (sortable by frequency).
  • Each band can be used as peak, shelf and cut filter.
  • Cut filters are available with 12, 24 and 48 dB/oct steepness.
  • Stereo/Left/Right/Mid/Side routing per band.
  • Global gain for loudness adjustments.
  • Resizable user interface.
  • Linear phase processing without pre-ringing*

The analyser can be set to analyse pre-EQ and post-EQ signal applying the same routings that are available per band. It is possible to adjust the analyser minimum/maximum magnitude by dragging the scale on the right (visible only if the analyser is active).

A menu which is available via the gearwheel provides:

  • Adjusting Analyser Range.
  • Adjusting frequency display magnitude.
  • Adjusting the plugin latency.
  • Setting a default EQ state and/or user interface size for new instances.

QRange uses IPlug-Youlean as plugin framework. From JUCE juce_core and juce_audio_basics modules are used.


  • 1.0.0: First release.

QRange Details

I have also written something about general IIR linear phase and QRange’s properties in this blog entry.

The plugin works by block-wise processing an IIR filter forwards and backwards. This results in a symmetric impulse response and thus linear phase operation but also more or less different EQ curves than normal IIR filters. While the difference is not that big for peak and shelf filters, it is not possible to create a Butterworth (maximum flat before the cutoff) characteristic. Instead Linkwitz-Riley cuts can be used by setting the Q-factor to 0.707 for the 12 and 24 dB/oct filters. The 48 dB/oct cuts are always Linkwitz-Riley.

The latency can be set to about 140, 240, 560 and 1120 ms. A higher latency doesn’t result in significally more average CPU usage but as the block is processed in longer intervals with larger blocks it can lead to drop-outs in a general CPU-intensive session. The main advantage of a higher block size is to have a higher precision using bands at low frequencies with a rather high Q-factor. In most cases, the Medium or Long setting should suffice. If only high the mids and treble range is processed the Short setting will also be fine. Normaly, the Insane setting shouldn’t be needed as high Q-factors at low frequencies can result in noticable pre-ringing which propably isn’t desired anyway.

By design an IIR linear phase EQ will have a phase response different to completely zero which is possible with a FIR linear phase EQ. The phase response is still so little (a few degree, depending on the set filter type, gain and Q-factor) that it won’t have a noticable effect. When using cuts the phase response can become much higher but this will only be at frequencies where the cut attenuation is so large that again no noticable effect should result.


* Pre-ringing free processing only if all bands are set to flat.