[Bug 794774] New: contributing an easy-to-use IIR audio filtering via LADSPA via ACDf plugin

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Mar 28 16:59:33 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=794774

            Bug ID: 794774
           Summary: contributing an easy-to-use IIR audio filtering via
                    LADSPA via ACDf plugin
    Classification: Platform
           Product: GStreamer
           Version: unspecified
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: Normal
         Component: don't know
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: charleslaub at sbcglobal.net
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

I am the developer of a LADSPA plugin known as "ACDf". It can implement all of
the following filter types via 7 named parameters:

ACDf filter types and their required parameters:
TYPE   DESCRIPTION                 REQUIRED PARAMETERS
 0     gain block                  dB_gain, polarity 
 1     1st order LP                dB_gain, polarity, Fp
 2     1st order HP                dB_gain, polarity, Fp
 3     1st order AP                polarity, Fp
 4     1st low shelf               Fp, dB_gain
 5     1st high shelf              Fp, dB_gain
21     2nd order LP                dB_gain, polarity, Fp, Qp, 
22     2nd order HP                dB_gain, polarity, Fp, Qp
23     2nd order AP                polarity, Fp, Qp
24     2nd order low shelf         dB_gain, polarity, Fp, Qp
25     2nd order high shelf        dB_gain, polarity, Fp, Qp
26     parametric EQ, digital form dB_gain, Fp, Qp
27     2nd order notch             dB_gain, polarity, Fp, Qp, Fz
28     biquadratic filter          dB_gain, polarity, Fp, Qp, Fz, Qz

The ACDf LADSPA plugin is available under a GPL3 license and is becoming quite
popular in the DIY audio community. It can be downloaded with its supporting
documentation, bundled with a couple other plugins I wrote, from this web page:
http://audio.claub.net/LADSPA-plugins.html

I am currently implementing ACDf via gstreamer's LADSPA plugin capabilities,
however, I think that it would make IIR filtering must easier for users if it
was incorporated into gstreamer itself as a gstreamer element. The current IIR
filtering plugin, audioiirfilter, requires arrays of the transfer coefficients
as parameters. This is not easy for most users to calculate and these cannot be
supplied via gst-launch. 

ACDf has 7 named parameters, e.g.:

PARAMETER     WHAT IT DOES
filter_type:  indicates which filter type to implement (see below)
dB_gain:      passband gain for the filter in dB
polarity:     -1 reverses polarity. polarity is unchanged for any other number
Fop:          sets the frequency of the filter pole in Hz 
Qp:           sets the Q factor of the filter pole 
Foz:          sets the frequency of the filter zero in Hz 
Qz:           sets the Q factor of the filter zero

As described above, not all parameters are required for every filter type.
Using these parameters to describing a filter will be more familiar to users,
and easier to implement, compared to transfer coefficients. 

I would like to contribute the code from ACDf (written in C++) to the gstreamer
project. It's available at the link provided above. I have no experience
creating plugins for gstreamer or working on gstreamer code, so I can't create
a patch or commit myself. I would be happy to work with someone who can, and
perhaps it is not difficult under the existing LADSPA interface in gstreamer. 

If this is of interest, please post a follow up or contact me. Thanks,

Charlie Laub

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list