# audiowsincband

Attenuates all frequencies outside (bandpass) or inside (bandreject) of a frequency band. The length parameter controls the rolloff, the window parameter controls rolloff and stopband attenuation. The Hamming window provides a faster rolloff but a bit worse stopband attenuation, the other way around for the Blackman window.

This element has the advantage over the Chebyshev bandpass and bandreject filter that it has a much better rolloff when using a larger kernel size and almost linear phase. The only disadvantage is the much slower execution time with larger kernels.

## Example launch line

     gst-launch-1.0 audiotestsrc freq=1500 ! audioconvert ! audiowsincband mode=band-pass lower-frequency=3000 upper-frequency=10000 length=501 window=blackman ! audioconvert ! alsasink
     gst-launch-1.0 filesrc location="melo1.ogg" ! oggdemux ! vorbisdec ! audioconvert ! audiowsincband mode=band-reject lower-frequency=59 upper-frequency=61 length=10001 window=hamming ! audioconvert ! alsasink
     gst-launch-1.0 audiotestsrc wave=white-noise ! audioconvert ! audiowsincband mode=band-pass lower-frequency=1000 upper-frequency=2000 length=31 ! audioconvert ! alsasink

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseTransform
                        ╰──GstAudioFilter
                            ╰──GstAudioFXBaseFIRFilter
                                ╰──audiowsincband

## Factory details

Authors: – Thomas Vander Stichele <thomas at apestaart dot org>, Steven W. Smith, Dreamlab Technologies Ltd. <mathis.hofer@dreamlab.net>, Sebastian Dröge <sebastian.droege@collabora.co.uk></sebastian.droege@collabora.co.uk></mathis.hofer@dreamlab.net></thomas>

Classification: – `Filter/Effect/Audio`

Rank – none

Plugin – audiofx

Package – GStreamer Good Plug-ins

## Pad Templates

### `sink`

    audio/x-raw:
             format: { F32LE, F64LE }
               rate: [ 1, 2147483647 ]
           channels: [ 1, 2147483647 ]
             layout: interleaved

Presence – always

Direction – sink

Object type – GstPad

### `src`

    audio/x-raw:
             format: { F32LE, F64LE }
               rate: [ 1, 2147483647 ]
           channels: [ 1, 2147483647 ]
             layout: interleaved

Presence – always

Direction – src

Object type – GstPad

## Properties

### length

    “length” gint

Filter kernel length, will be rounded to the next odd number

Flags : Read / Write

Default value : 101

### lower-frequency

    “lower-frequency” gfloat

Cut-off lower frequency (Hz)

Flags : Read / Write

Default value : 0

### mode

    “mode” Audio-wsinc-band-mode *

Band pass or band reject mode

Flags : Read / Write

Default value : band-pass (0)

### upper-frequency

    “upper-frequency” gfloat

Cut-off upper frequency (Hz)

Flags : Read / Write

Default value : 0

### window

    “window” Audio-wsinc-band-window *

Window function to use

Flags : Read / Write

Default value : hamming (0)

## Named constants

### Audio-wsinc-band-mode

#### Members

`band-pass` (0) – Band pass (default)
`band-reject` (1) – Band reject

### Audio-wsinc-band-window

#### Members

`hamming` (0) – Hamming window (default)
`blackman` (1) – Blackman window
`gaussian` (2) – Gaussian window
`cosine` (3) – Cosine window
`hann` (4) – Hann window

The results of the search are