## GstBtFilterSVF

GstBtFilterSVF — state variable filter

## Functions

GstBtFilterSVF * | gstbt_filter_svf_new ()
void | gstbt_filter_svf_trigger ()
void | gstbt_filter_svf_process ()

## Properties

gdouble | cut-off | Read / Write
GstBtFilterSVFType | filter | Read / Write
gdouble | resonance | Read / Write

## Types and Values

enum | GstBtFilterSVFType
struct | GstBtFilterSVF

## Object Hierarchy

        GEnum
        ╰── GstBtFilterSVFType
        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstBtFilterSVF

## Includes

    #include <libgstbuzztrax/filter-svf.h>

## Description

An audio filter that can work in 4 modes (“filter”).

### Filter modes

Frequency response of the filter with no resonance applied

Frequency response of the filter with resonance applied

The second graphs show that applying “resonance” when using `GSTBT_FILTER_SVF_BANDSTOP` mode does not make sense, as the resonance is filling the notch.

## Functions

### gstbt_filter_svf_new ()

    GstBtFilterSVF *
    gstbt_filter_svf_new (void);

Create a new instance

#### Returns

the new instance or `NULL` in case of an error

### gstbt_filter_svf_trigger ()

    void
    gstbt_filter_svf_trigger (GstBtFilterSVF *self);

Reset filter state. Typically called for new notes.

#### Parameters

self | the filter |

### gstbt_filter_svf_process ()

    void
    gstbt_filter_svf_process (GstBtFilterSVF *self,
                              guint size,
                              gint16 *data);

Process `size` samples of audio from `data` and store them into `data` .

#### Parameters

self | the oscillator |
size | number of sample to filter |
data | buffer with the audio |

## Types and Values

### enum GstBtFilterSVFType

Filter types.

#### Members

GSTBT_FILTER_SVF_NONE | no filtering |
GSTBT_FILTER_SVF_LOWPASS | low pass |
GSTBT_FILTER_SVF_HIPASS | high pass |
GSTBT_FILTER_SVF_BANDPASS | band pass |
GSTBT_FILTER_SVF_BANDSTOP | band stop (notch) |
GSTBT_FILTER_SVF_COUNT | number of filter modes, this can change with new releases |

### struct GstBtFilterSVF

    struct GstBtFilterSVF {
      /* parameters */
      GstBtFilterSVFType type;
      gdouble cutoff, resonance;
    };

Class instance data.

#### Members

GstBtFilterSVFType `type`; | filter type |
gdouble `cutoff`; | filter cutoff frequency |
gdouble `resonance`; | filter resonance |

## Property Details

### The `“cut-off”` property

      “cut-off”                  gdouble

Audio filter cut-off frequency.

Flags: Read / Write

Allowed values: [0,1]

Default value: 0.8

### The `“filter”` property

      “filter”                   GstBtFilterSVFType

Type of audio filter.

Flags: Read / Write

Default value: LowPass

### The `“resonance”` property

      “resonance”                gdouble

Audio filter resonance.

Flags: Read / Write

Allowed values: [0.7,25]

Default value: 0.8