## AgsFourierTransformUtil

AgsFourierTransformUtil — fourier transform util

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S8_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S16_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S24_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S32_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S64_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_FLOAT_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_DOUBLE_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S8_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S16_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S24_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S32_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S64_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_FLOAT_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_DOUBLE_FRAME()
#define | AGS_FOURIER_TRANSFORM_UTIL_ANALYSIS_WINDOW()
AgsFourierTransformUtil * | ags_fourier_transform_util_alloc ()
gpointer | ags_fourier_transform_util_copy ()
void | ags_fourier_transform_util_free ()
gpointer | ags_fourier_transform_util_get_source ()
void | ags_fourier_transform_util_set_source ()
guint | ags_fourier_transform_util_get_source_stride ()
void | ags_fourier_transform_util_set_source_stride ()
AgsComplex * | ags_fourier_transform_util_get_frequency_domain ()
void | ags_fourier_transform_util_set_frequency_domain ()
guint | ags_fourier_transform_util_get_buffer_length ()
void | ags_fourier_transform_util_set_buffer_length ()
AgsSoundcardFormat | ags_fourier_transform_util_get_format ()
void | ags_fourier_transform_util_set_format ()
guint | ags_fourier_transform_util_get_samplerate ()
void | ags_fourier_transform_util_set_samplerate ()
void | ags_fourier_transform_util_compute_stft_s8 ()
void | ags_fourier_transform_util_compute_stft_s16 ()
void | ags_fourier_transform_util_compute_stft_s24 ()
void | ags_fourier_transform_util_compute_stft_s32 ()
void | ags_fourier_transform_util_compute_stft_s64 ()
void | ags_fourier_transform_util_compute_stft_float ()
void | ags_fourier_transform_util_compute_stft_double ()
void | ags_fourier_transform_util_compute_stft_complex ()
void | ags_fourier_transform_util_compute_stft ()
void | ags_fourier_transform_util_inverse_stft_s8 ()
void | ags_fourier_transform_util_inverse_stft_s16 ()
void | ags_fourier_transform_util_inverse_stft_s24 ()
void | ags_fourier_transform_util_inverse_stft_s32 ()
void | ags_fourier_transform_util_inverse_stft_s64 ()
void | ags_fourier_transform_util_inverse_stft_float ()
void | ags_fourier_transform_util_inverse_stft_double ()
void | ags_fourier_transform_util_inverse_stft_complex ()
void | ags_fourier_transform_util_inverse_stft ()

## Types and Values

#define | AGS_FOURIER_TRANSFORM_UTIL_INITIALIZER

## Object Hierarchy

        GBoxed
        ╰── AgsFourierTransformUtil

## Includes

    #include <ags/audio/ags_fourier_transform_util.h>

## Description

Utility functions to compute fourier transform.

## Functions

### AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S8_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S8_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S16_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S16_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S24_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S24_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S32_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S32_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S64_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_S64_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_FLOAT_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_FLOAT_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_DOUBLE_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_COMPUTE_STFT_DOUBLE_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S8_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S8_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S16_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S16_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S24_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S24_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S32_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S32_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S64_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_S64_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_FLOAT_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_FLOAT_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_DOUBLE_FRAME()

    #define             AGS_FOURIER_TRANSFORM_UTIL_INVERSE_STFT_DOUBLE_FRAME(x_buffer, x_channels, x_n, x_buffer_length, x_retval)

### AGS_FOURIER_TRANSFORM_UTIL_ANALYSIS_WINDOW()

    #define AGS_FOURIER_TRANSFORM_UTIL_ANALYSIS_WINDOW(x) (x + 1.0)

### ags_fourier_transform_util_alloc ()

    AgsFourierTransformUtil *
    ags_fourier_transform_util_alloc ();

Allocate AgsFourierTransformUtil

#### Returns

a new AgsFourierTransformUtil

Since: 7.0.0

### ags_fourier_transform_util_copy ()

    gpointer
    ags_fourier_transform_util_copy (AgsFourierTransformUtil *ptr);

Create a copy of `ptr` .

#### Parameters

ptr | the original AgsFourierTransformUtil |

#### Returns

a pointer of the new AgsFourierTransformUtil

Since: 7.0.0

### ags_fourier_transform_util_free ()

    void
    ags_fourier_transform_util_free (AgsFourierTransformUtil *ptr);

Free the memory of `ptr` .

#### Parameters

ptr | the AgsFourierTransformUtil |

Since: 7.0.0

### ags_fourier_transform_util_get_source ()

    gpointer
    ags_fourier_transform_util_get_source (AgsFourierTransformUtil *fourier_transform_util);

Get source buffer of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

#### Returns

the source buffer

Since: 7.0.0

### ags_fourier_transform_util_set_source ()

    void
    ags_fourier_transform_util_set_source (AgsFourierTransformUtil *fourier_transform_util,
                                           gpointer source);

Set `source` buffer of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |
source | the source buffer. | [transfer none]

Since: 7.0.0

### ags_fourier_transform_util_get_source_stride ()

    guint
    ags_fourier_transform_util_get_source_stride
                                   (AgsFourierTransformUtil *fourier_transform_util);

Get source stride of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

#### Returns

the source buffer stride

Since: 7.0.0

### ags_fourier_transform_util_set_source_stride ()

    void
    ags_fourier_transform_util_set_source_stride
                                   (AgsFourierTransformUtil *fourier_transform_util,
                                    guint source_stride);

Set `source` stride of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |
source_stride | the source buffer stride |

Since: 7.0.0

### ags_fourier_transform_util_get_frequency_domain ()

    AgsComplex *
    ags_fourier_transform_util_get_frequency_domain
                                   (AgsFourierTransformUtil *fourier_transform_util);

Get frequency domain buffer of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

#### Returns

the frequency domain buffer

Since: 7.0.0

### ags_fourier_transform_util_set_frequency_domain ()

    void
    ags_fourier_transform_util_set_frequency_domain
                                   (AgsFourierTransformUtil *fourier_transform_util,
                                    AgsComplex *frequency_domain);

Set `frequency_domain` buffer of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |
frequency_domain | the frequency domain buffer |

Since: 7.0.0

### ags_fourier_transform_util_get_buffer_length ()

    guint
    ags_fourier_transform_util_get_buffer_length
                                   (AgsFourierTransformUtil *fourier_transform_util);

Get buffer length of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

#### Returns

the buffer length

Since: 7.0.0

### ags_fourier_transform_util_set_buffer_length ()

    void
    ags_fourier_transform_util_set_buffer_length
                                   (AgsFourierTransformUtil *fourier_transform_util,
                                    guint buffer_length);

Set `buffer_length` of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |
buffer_length | the buffer length |

Since: 7.0.0

### ags_fourier_transform_util_get_format ()

    AgsSoundcardFormat
    ags_fourier_transform_util_get_format (AgsFourierTransformUtil *fourier_transform_util);

Get audio buffer util format of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

#### Returns

the audio buffer util format

Since: 7.0.0

### ags_fourier_transform_util_set_format ()

    void
    ags_fourier_transform_util_set_format (AgsFourierTransformUtil *fourier_transform_util,
                                           AgsSoundcardFormat format);

Set `format` of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |
format | the audio buffer util format |

Since: 7.0.0

### ags_fourier_transform_util_get_samplerate ()

    guint
    ags_fourier_transform_util_get_samplerate
                                   (AgsFourierTransformUtil *fourier_transform_util);

Get samplerate of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

#### Returns

the samplerate

Since: 7.0.0

### ags_fourier_transform_util_set_samplerate ()

    void
    ags_fourier_transform_util_set_samplerate
                                   (AgsFourierTransformUtil *fourier_transform_util,
                                    guint samplerate);

Set `samplerate` of `fourier_transform_util` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |
samplerate | the samplerate |

Since: 7.0.0

### ags_fourier_transform_util_compute_stft_s8 ()

    void
    ags_fourier_transform_util_compute_stft_s8
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_compute_stft_s16 ()

    void
    ags_fourier_transform_util_compute_stft_s16
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_compute_stft_s24 ()

    void
    ags_fourier_transform_util_compute_stft_s24
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_compute_stft_s32 ()

    void
    ags_fourier_transform_util_compute_stft_s32
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_compute_stft_s64 ()

    void
    ags_fourier_transform_util_compute_stft_s64
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_compute_stft_float ()

    void
    ags_fourier_transform_util_compute_stft_float
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_compute_stft_double ()

    void
    ags_fourier_transform_util_compute_stft_double
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_compute_stft_complex ()

    void
    ags_fourier_transform_util_compute_stft_complex
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.6.0

### ags_fourier_transform_util_compute_stft ()

    void
    ags_fourier_transform_util_compute_stft
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute fourier transform.

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 7.0.0

### ags_fourier_transform_util_inverse_stft_s8 ()

    void
    ags_fourier_transform_util_inverse_stft_s8
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute inverse fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_inverse_stft_s16 ()

    void
    ags_fourier_transform_util_inverse_stft_s16
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute inverse fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_inverse_stft_s24 ()

    void
    ags_fourier_transform_util_inverse_stft_s24
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute inverse fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_inverse_stft_s32 ()

    void
    ags_fourier_transform_util_inverse_stft_s32
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute inverse fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_inverse_stft_s64 ()

    void
    ags_fourier_transform_util_inverse_stft_s64
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute inverse fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_inverse_stft_float ()

    void
    ags_fourier_transform_util_inverse_stft_float
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute inverse fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_inverse_stft_double ()

    void
    ags_fourier_transform_util_inverse_stft_double
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute inverse fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.0.0

### ags_fourier_transform_util_inverse_stft_complex ()

    void
    ags_fourier_transform_util_inverse_stft_complex
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute inverse fourier transform of `buffer` .

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 3.6.0

### ags_fourier_transform_util_inverse_stft ()

    void
    ags_fourier_transform_util_inverse_stft
                                   (AgsFourierTransformUtil *fourier_transform_util);

Compute inverse fourier transform.

#### Parameters

fourier_transform_util | the AgsFourierTransformUtil |

Since: 7.0.0

## Types and Values

### AGS_FOURIER_TRANSFORM_UTIL_INITIALIZER

    #define             AGS_FOURIER_TRANSFORM_UTIL_INITIALIZER