## equalizer-nbands

equalizer-nbands — Direct Form IIR equalizer

## Properties

guint | num-bands | Read / Write / Construct

## Types and Values

struct | GstIirEqualizerNBands

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstBaseTransform
                        ╰── GstAudioFilter
                            ╰── GstIirEqualizer
                                ╰── GstIirEqualizerNBands

## Implemented Interfaces

GstIirEqualizerNBands implements GstChildProxy and GstPreset.

## Description

The n-band equalizer element is a fully parametric equalizer. It allows to select between 1 and 64 bands and has properties on each band to change the center frequency, band width and gain.

### Example launch line

    1

    gst-launch-1.0 filesrc location=song.ogg ! oggdemux ! vorbisdec ! audioconvert ! equalizer-nbands num-bands=15 band5::gain=6.0 ! alsasink

This make the equalizer use 15 bands and raises the volume of the 5th band by 6 db.

### Example code

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38

    #include <gst/gst.h>

    ...
    typedef struct {
      gfloat freq;
      gfloat width;
      gfloat gain;
    } GstEqualizerBandState;

    ...

      GstElement *equalizer;
      GstObject *band;
      gint i;
      GstEqualizerBandState state[] = {
        { 120.0,   50.0, - 3.0},
        { 500.0,   20.0,  12.0},
        {1503.0,    2.0, -20.0},
        {6000.0, 1000.0,   6.0},
        {3000.0,  120.0,   2.0}
      };

    ...

      equalizer = gst_element_factory_make ("equalizer-nbands", "equalizer");
      g_object_set (G_OBJECT (equalizer), "num-bands", 5, NULL);

    ...

      for (i = 0; i < 5; i++) {
        band = gst_child_proxy_get_child_by_index (GST_CHILD_PROXY (equalizer), i);
        g_object_set (G_OBJECT (band), "freq", state[i].freq,
            "bandwidth", state[i].width,
    	"gain", state[i].gain);
        g_object_unref (G_OBJECT (band));
      }

    ...

## Synopsis

### Element Information

plugin | equalizer
author | Benjamin Otte <otte@gnome.org>, Stefan Kost <ensonic@users.sf.net>
class | Filter/Effect/Audio

### Element Pads

name | sink
direction | sink
presence | always
details | audio/x-raw, format=(string){ S16LE, F32LE, F64LE }, rate=(int)[ 1000, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved

name | src
direction | source
presence | always
details | audio/x-raw, format=(string){ S16LE, F32LE, F64LE }, rate=(int)[ 1000, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved

## Functions

## Types and Values

### struct GstIirEqualizerNBands

    struct GstIirEqualizerNBands;

## Property Details

### The `“num-bands”` property

      “num-bands”                guint

number of different bands to use.

Flags: Read / Write / Construct

Allowed values: [1,64]

Default value: 10