audiochebband

audiochebband

Properties

gfloat lower-frequency Read / Write
GstAudioChebBandMode mode Read / Write
gint poles Read / Write
gfloat ripple Read / Write
gint type Read / Write
gfloat upper-frequency Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstBaseTransform
                    ╰── GstAudioFilter
                        ╰── GstAudioFXBaseIIRFilter
                            ╰── GstAudioChebBand

Description

Attenuates all frequencies outside (bandpass) or inside (bandreject) of a frequency band. The number of poles and the ripple parameter control the rolloff.

This element has the advantage over the windowed sinc bandpass and bandreject filter that it is much faster and produces almost as good results. It's only disadvantages are the highly non-linear phase and the slower rolloff compared to a windowed sinc filter with a large kernel.

For type 1 the ripple parameter specifies how much ripple in dB is allowed in the passband, i.e. some frequencies in the passband will be amplified by that value. A higher ripple value will allow a faster rolloff.

For type 2 the ripple parameter specifies the stopband attenuation. In the stopband the gain will be at most this value. A lower ripple value will allow a faster rolloff.

As a special case, a Chebyshev type 1 filter with no ripple is a Butterworth filter.

Be warned that a too large number of poles can produce noise. The most poles are possible with a cutoff frequency at a quarter of the sampling rate.

Example launch line

1
2
3
gst-launch-1.0 audiotestsrc freq=1500 ! audioconvert ! audiochebband mode=band-pass lower-frequency=1000 upper-frequency=6000 poles=4 ! audioconvert ! alsasink
gst-launch-1.0 filesrc location="melo1.ogg" ! oggdemux ! vorbisdec ! audioconvert ! audiochebband mode=band-reject lower-frequency=1000 upper-frequency=4000 ripple=0.2 ! audioconvert ! alsasink
gst-launch-1.0 audiotestsrc wave=white-noise ! audioconvert ! audiochebband mode=band-pass lower-frequency=1000 upper-frequency=4000 type=2 ! audioconvert ! alsasink

Synopsis

Element Information

plugin

audiofx

author

Sebastian Dröge <sebastian.droege@collabora.co.uk>

class

Filter/Effect/Audio

Element Pads

name

sink

direction

sink

presence

always

details

audio/x-raw, format=(string){ F32LE, F64LE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved

name

src

direction

source

presence

always

details

audio/x-raw, format=(string){ F32LE, F64LE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved

Functions

Types and Values

struct GstAudioChebBand

struct GstAudioChebBand;

Property Details

The “lower-frequency” property

  “lower-frequency”          gfloat

Start frequency of the band (Hz).

Flags: Read / Write

Allowed values: [0,100000]

Default value: 0


The “mode” property

  “mode”                     GstAudioChebBandMode

Low pass or high pass mode.

Flags: Read / Write

Default value: Band pass (default)


The “poles” property

  “poles”                    gint

Number of poles to use, will be rounded up to the next multiply of four.

Flags: Read / Write

Allowed values: [4,32]

Default value: 4


The “ripple” property

  “ripple”                   gfloat

Amount of ripple (dB).

Flags: Read / Write

Allowed values: [0,200]

Default value: 0.25


The “type” property

  “type”                     gint

Type of the chebychev filter.

Flags: Read / Write

Allowed values: [1,2]

Default value: 1


The “upper-frequency” property

  “upper-frequency”          gfloat

Stop frequency of the band (Hz).

Flags: Read / Write

Allowed values: [0,100000]

Default value: 0