Skip to content

x42/fil4.lv2

Repository files navigation

fil4.lv2 - Parametric Equalizer

fil4.lv2 is a 4 band parametric equalizer with additional low+high shelf filters, Low and High-pass, as well as an optional, custom GUI displaying the transfer function and realtime signal spectrum or spectrogram.

It is available as LV2 plugin and standalone JACK-application.

Usage

The parameters can be set by moving the nodes in the graph or directly via control knobs:

  • Shift + click: reset to default
  • Right-click on knob: toggle current value with default, 2nd click restore.
  • Right-click on button: temporarily toggle, until release

The Ctrl key allows for fine-grained control when dragging or using the mouse-wheel on a knob.

Mouse-wheel granularity:

  • Gain: 1dB (fine: 0.2dB)
  • Frequency: 1/6 octave (fine: 1/24 octave)
  • Bandwidth: 1/3 octave (fine: 15 steps for a ratio 1:2)

All switches and controls are internally smoothed, so they can be used 'live' without any clicks or zipper noises. This should make this plugin a good candidate for use in systems that allow automation of plugin control ports, such as Ardour, or for stage use.

Install

Binaries for Intel-platform (GNU/Linux, OSX and Windows) are available for releases. Most GNU/Linux distributions include this fil4 as part of the x42-plugins collection.

Compiling fil4 requires the LV2 SDK, jack-headers, gnu-make, a c++-compiler, libpango, libcairo and openGL (sometimes called: glu, glx, mesa).

  git clone https://github.com/x42/fil4.lv2.git
  cd fil4.lv2
  make submodules
  make
  sudo make install PREFIX=/usr

Note to packagers: the Makefile honors PREFIX and DESTDIR variables as well as CXXFLAGS, LDFLAGS and OPTIMIZATIONS (additions to CXXFLAGS), also see the first 10 lines of the Makefile. You really want to package the superset of x42-plugins.

Screenshots

screenshot

Details

Fil4 is based on fil-plugins LADSPA by Fons Adriaensen.

Fil4 consists of four 2nd order resonant filters using a Regalia-Mitra style lattice filter, which has the nice property of being stable even while parameters are being changed.

The high/low-shelf filters are standard 2nd order biquad/IIR filters.

High and Low pass are 2nd order resonant filters (-12dB/octave).

  • Quality 0.0: -6dB at cutoff-freq (no feedback)
  • Quality 0.7: -3dB at cutoff-freq
  • Quality 1.0: 0dB at cutoff (resonant)

All filters are zero latency with correct equivalent analog gain at Nyquist (signal phase-shift at Nyquist frequency is zero).

Why another EQ?

Because I was unhappy with all existing ones: they are either not portable (OSX, Windows, BSD, GNU/Linux,..), or simply unprofessional textbook biquad filters (phase-shifts, not decramped, comb-filter effect when values are changed), or lack important attention to the detail (control knob granularity), or are not available as LV2, or a combination of those issues.