audiochebband

## audiochebband audiochebband — Chebyshev band pass and band reject filter |

## Synopsis

    struct              GstAudioChebBand;

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GstObject
                   +----GstElement
                         +----GstBaseTransform
                               +----GstAudioFilter
                                     +----GstAudioFXBaseIIRFilter
                                           +----GstAudioChebBand

## Properties

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

## 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.

### Note

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 audiotestsrc freq=1500 ! audioconvert ! audiochebband mode=band-pass lower-frequency=1000 upper-frequenc=6000 poles=4 ! audioconvert ! alsasink
    gst-launch filesrc location="melo1.ogg" ! oggdemux ! vorbisdec ! audioconvert ! audiochebband mode=band-reject lower-frequency=1000 upper-frequency=4000 ripple=0.2 ! audioconvert ! alsasink
    gst-launch 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

## Details

### struct GstAudioChebBand

    struct GstAudioChebBand;

## Property Details

### The `"lower-frequency"` property

      "lower-frequency"          gfloat                : Read / Write

Start frequency of the band (Hz).

Allowed values: [0,100000]

Default value: 0

### The `"mode"` property

      "mode"                     GstAudioChebBandMode  : Read / Write

Low pass or high pass mode.

Default value: Band pass (default)

### The `"poles"` property

      "poles"                    gint                  : Read / Write

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

Allowed values: [4,32]

Default value: 4

### The `"ripple"` property

      "ripple"                   gfloat                : Read / Write

Amount of ripple (dB).

Allowed values: [0,200]

Default value: 0.25

### The `"type"` property

      "type"                     gint                  : Read / Write

Type of the chebychev filter.

Allowed values: [1,2]

Default value: 1

### The `"upper-frequency"` property

      "upper-frequency"          gfloat                : Read / Write

Stop frequency of the band (Hz).

Allowed values: [0,100000]

Default value: 0