## audiocheblimit audiocheblimit — Chebyshev low pass and high pass filter |

## Properties

gfloat | cutoff | Read / Write
GstAudioChebLimitMode | mode | Read / Write
gint | poles | Read / Write
gfloat | ripple | Read / Write
gint | type | Read / Write

## Types and Values

struct | GstAudioChebLimit

## Object Hierarchy

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

## Description

Attenuates all frequencies above the cutoff frequency (low-pass) or all frequencies below the cutoff frequency (high-pass). The number of poles and the ripple parameter control the rolloff.

This element has the advantage over the windowed sinc lowpass and highpass 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 ! audiocheblimit mode=low-pass cutoff=1000 poles=4 ! audioconvert ! alsasink
    gst-launch-1.0 filesrc location="melo1.ogg" ! oggdemux ! vorbisdec ! audioconvert ! audiocheblimit mode=high-pass cutoff=400 ripple=0.2 ! audioconvert ! alsasink
    gst-launch-1.0 audiotestsrc wave=white-noise ! audioconvert ! audiocheblimit mode=low-pass cutoff=800 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 GstAudioChebLimit

    struct GstAudioChebLimit;

## Property Details

### The `“cutoff”` property

      “cutoff”                   gfloat

Cut off frequency (Hz).

Flags: Read / Write

Allowed values: [0,100000]

Default value: 0

### The `“mode”` property

      “mode”                     GstAudioChebLimitMode

Low pass or high pass mode.

Flags: Read / Write

Default value: Low pass (default)

### The `“poles”` property

      “poles”                    gint

Number of poles to use, will be rounded up to the next even number.

Flags: Read / Write

Allowed values: [2,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